From 413dccb655002ee11a52b3dbfb3d4bbc47cf32c4 Mon Sep 17 00:00:00 2001 From: gahusb Date: Fri, 1 May 2026 14:42:15 +0900 Subject: [PATCH] =?UTF-8?q?feat(api):=20video-project=20/=20revenue=20/=20?= =?UTF-8?q?market-trends=20API=20=ED=95=A8=EC=88=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/api.js b/src/api.js index 45bf42b..e522592 100644 --- a/src/api.js +++ b/src/api.js @@ -626,3 +626,23 @@ export async function triggerLottoCurate() { return r.json(); } +// ── Music Lab — Video Projects ──────────────────── +export const createVideoProject = (data) => apiPost('/api/music/video-project', data); +export const getVideoProjects = () => apiGet('/api/music/video-projects'); +export const renderVideoProject = (id) => apiPost(`/api/music/video-project/${id}/render`); +export const exportVideoProject = (id) => apiGet(`/api/music/video-project/${id}/export`); +export const deleteVideoProject = (id) => apiDelete(`/api/music/video-project/${id}`); + +// ── Music Lab — Revenue ─────────────────────────── +export const getRevenueDashboard = () => apiGet('/api/music/revenue/dashboard'); +export const getRevenueRecords = () => apiGet('/api/music/revenue'); +export const addRevenueRecord = (data) => apiPost('/api/music/revenue', data); +export const updateRevenueRecord = (id, data) => apiPut(`/api/music/revenue/${id}`, data); +export const deleteRevenueRecord = (id) => apiDelete(`/api/music/revenue/${id}`); + +// ── Music Lab — Market Trends ───────────────────── +export const getLatestTrendReport = () => apiGet('/api/music/market/report/latest'); +export const getTrendReports = () => apiGet('/api/music/market/report'); +export const getMarketSuggestions = () => apiGet('/api/music/market/suggest'); +export const triggerYoutubeResearch = () => apiPost('/api/agent-office/youtube/research', {}); +