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:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user