From b1c39f52be0225e77838bed46e0f121cdfaa6b72 Mon Sep 17 00:00:00 2001 From: chihlasm Date: Fri, 13 Mar 2026 01:56:53 -0400 Subject: [PATCH] feat: add scriptsApi client Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/api/index.ts | 1 + frontend/src/api/scripts.ts | 43 +++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 frontend/src/api/scripts.ts diff --git a/frontend/src/api/index.ts b/frontend/src/api/index.ts index 9a4fc822..13ce8733 100644 --- a/frontend/src/api/index.ts +++ b/frontend/src/api/index.ts @@ -21,3 +21,4 @@ export { copilotApi } from './copilot' export { assistantChatApi } from './assistantChat' export { flowTransferApi } from './flowTransfer' export { kbAcceleratorApi } from './kbAccelerator' +export { scriptsApi } from './scripts' diff --git a/frontend/src/api/scripts.ts b/frontend/src/api/scripts.ts new file mode 100644 index 00000000..27e11d6a --- /dev/null +++ b/frontend/src/api/scripts.ts @@ -0,0 +1,43 @@ +import apiClient from './client' +import type { + ScriptCategoryResponse, + ScriptTemplateListItem, + ScriptTemplateDetail, + ScriptGenerateRequest, + ScriptGenerateResponse, + ScriptGenerationRecord, +} from '@/types' + +export const scriptsApi = { + async getCategories(): Promise { + const response = await apiClient.get('/scripts/categories') + return response.data + }, + + async getTemplates(params?: { + category_slug?: string + search?: string + tags?: string // Phase 3: comma-separated tag filter + }): Promise { + const response = await apiClient.get('/scripts/templates', { params }) + return response.data + }, + + async getTemplateDetail(id: string): Promise { + const response = await apiClient.get(`/scripts/templates/${id}`) + return response.data + }, + + async generate(req: ScriptGenerateRequest): Promise { + const response = await apiClient.post('/scripts/generate', req) + return response.data + }, + + // Phase 3: fetch generation history for the current user + async getGenerations(): Promise { + const response = await apiClient.get('/scripts/generations') + return response.data + }, +} + +export default scriptsApi