feat: add scriptsApi client
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -21,3 +21,4 @@ export { copilotApi } from './copilot'
|
||||
export { assistantChatApi } from './assistantChat'
|
||||
export { flowTransferApi } from './flowTransfer'
|
||||
export { kbAcceleratorApi } from './kbAccelerator'
|
||||
export { scriptsApi } from './scripts'
|
||||
|
||||
43
frontend/src/api/scripts.ts
Normal file
43
frontend/src/api/scripts.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import apiClient from './client'
|
||||
import type {
|
||||
ScriptCategoryResponse,
|
||||
ScriptTemplateListItem,
|
||||
ScriptTemplateDetail,
|
||||
ScriptGenerateRequest,
|
||||
ScriptGenerateResponse,
|
||||
ScriptGenerationRecord,
|
||||
} from '@/types'
|
||||
|
||||
export const scriptsApi = {
|
||||
async getCategories(): Promise<ScriptCategoryResponse[]> {
|
||||
const response = await apiClient.get<ScriptCategoryResponse[]>('/scripts/categories')
|
||||
return response.data
|
||||
},
|
||||
|
||||
async getTemplates(params?: {
|
||||
category_slug?: string
|
||||
search?: string
|
||||
tags?: string // Phase 3: comma-separated tag filter
|
||||
}): Promise<ScriptTemplateListItem[]> {
|
||||
const response = await apiClient.get<ScriptTemplateListItem[]>('/scripts/templates', { params })
|
||||
return response.data
|
||||
},
|
||||
|
||||
async getTemplateDetail(id: string): Promise<ScriptTemplateDetail> {
|
||||
const response = await apiClient.get<ScriptTemplateDetail>(`/scripts/templates/${id}`)
|
||||
return response.data
|
||||
},
|
||||
|
||||
async generate(req: ScriptGenerateRequest): Promise<ScriptGenerateResponse> {
|
||||
const response = await apiClient.post<ScriptGenerateResponse>('/scripts/generate', req)
|
||||
return response.data
|
||||
},
|
||||
|
||||
// Phase 3: fetch generation history for the current user
|
||||
async getGenerations(): Promise<ScriptGenerationRecord[]> {
|
||||
const response = await apiClient.get<ScriptGenerationRecord[]>('/scripts/generations')
|
||||
return response.data
|
||||
},
|
||||
}
|
||||
|
||||
export default scriptsApi
|
||||
Reference in New Issue
Block a user