Files
invyone/frontend/lib/api/dashMenu.ts
T
gbpark b3ad787179
Build & Deploy to K8s / build-and-deploy (push) Successful in 5m4s
대시보드 구현 완료 세세한 오류 수정 진행중
2026-04-19 21:15:25 +09:00

52 lines
1.8 KiB
TypeScript

import { apiClient } from './client';
// ═══ 대시보드 CRUD (Phase 4 — /api/dashboards) ═══
export async function getDashboardList(params?: Record<string, any>) {
const res = await apiClient.get('/dashboards', { params });
return res.data.data;
}
export async function getDashboardInfo(dashboardId: string) {
const res = await apiClient.get(`/dashboards/${dashboardId}`);
return res.data.success ? res.data.data : null;
}
export async function insertDashboard(data: Record<string, any>) {
const res = await apiClient.post('/dashboards', data);
return res.data.data;
}
export async function updateDashboard(dashboardId: string, data: Record<string, any>) {
await apiClient.put(`/dashboards/${dashboardId}`, data);
}
export async function deleteDashboard(dashboardId: string) {
await apiClient.delete(`/dashboards/${dashboardId}`);
}
// ═══ 카드 CRUD ═══
export async function getDashboardCards(dashboardId: string) {
const res = await apiClient.get(`/dashboards/${dashboardId}/cards`);
return res.data.data ?? [];
}
export async function insertDashboardCard(dashboardId: string, data: Record<string, any>) {
const res = await apiClient.post(`/dashboards/${dashboardId}/cards`, data);
return res.data.data;
}
export async function updateDashboardCard(dashboardId: string, cardId: string, data: Record<string, any>) {
await apiClient.put(`/dashboards/${dashboardId}/cards/${cardId}`, data);
}
export async function deleteDashboardCard(dashboardId: string, cardId: string) {
await apiClient.delete(`/dashboards/${dashboardId}/cards/${cardId}`);
}
export async function updateCardPositionsBatch(dashboardId: string, cards: Record<string, any>[]) {
await apiClient.put(`/dashboards/${dashboardId}/cards/batch`, { cards });
}