feat: funciones Go para API Metabase y tipo MetabaseClient

Añade funciones Go stub para la API de Metabase en dominio infra:
auth, CRUD de cards, dashboards y users, execute_query y execute_card.
Incluye tipo MetabaseClient y helper HTTP compartido.
Todas las funciones son impuras con stubs not-implemented.
This commit is contained in:
2026-03-28 20:32:24 +01:00
parent 49eecd0c87
commit 9e6bea681f
40 changed files with 1640 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
package infra
import "fmt"
// MetabaseExecuteCard ejecuta la query de una card/pregunta guardada.
// parameters: parametros de la query (nil si no tiene parametros).
// Retorna los resultados con columnas y filas.
func MetabaseExecuteCard(client MetabaseClient, cardID int, parameters []map[string]any) (map[string]any, error) {
path := fmt.Sprintf("/api/card/%d/query", cardID)
var body map[string]any
if len(parameters) > 0 {
body = map[string]any{"parameters": parameters}
}
result, err := metabaseRequest("POST", client.BaseURL, client.Token, path, body)
if err != nil {
return nil, fmt.Errorf("metabase execute card %d: %w", cardID, err)
}
return result, nil
}