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.
24 lines
936 B
Go
24 lines
936 B
Go
package infra
|
|
|
|
import "fmt"
|
|
|
|
// MetabaseUpdateDashboard actualiza un dashboard en Metabase.
|
|
// fields puede incluir metadata del dashboard Y/O la lista completa de dashcards y tabs.
|
|
//
|
|
// Para gestionar cards en el dashboard, incluir "dashcards" en fields:
|
|
// - Agregar card: incluirla con ID negativo (ej: -1, -2)
|
|
// - Actualizar card: incluirla con su ID positivo existente
|
|
// - Eliminar card: omitirla del array (el array es el estado deseado completo)
|
|
//
|
|
// Campos comunes: name, description, archived, parameters, dashcards, tabs, collection_id.
|
|
func MetabaseUpdateDashboard(client MetabaseClient, dashboardID int, fields map[string]any) (map[string]any, error) {
|
|
path := fmt.Sprintf("/api/dashboard/%d", dashboardID)
|
|
|
|
result, err := metabaseRequest("PUT", client.BaseURL, client.Token, path, fields)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("metabase update dashboard %d: %w", dashboardID, err)
|
|
}
|
|
|
|
return result, nil
|
|
}
|