9e6bea681f
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.
23 lines
683 B
Go
23 lines
683 B
Go
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
|
|
}
|