feat: add CRUD and share methods to scriptsApi client
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,8 @@ import type {
|
||||
ScriptGenerateRequest,
|
||||
ScriptGenerateResponse,
|
||||
ScriptGenerationRecord,
|
||||
ScriptTemplateCreateRequest,
|
||||
ScriptTemplateUpdateRequest,
|
||||
} from '@/types'
|
||||
|
||||
export const scriptsApi = {
|
||||
@@ -38,6 +40,39 @@ export const scriptsApi = {
|
||||
const response = await apiClient.get<ScriptGenerationRecord[]>('/scripts/generations')
|
||||
return response.data
|
||||
},
|
||||
|
||||
async getManagedTemplates(params?: {
|
||||
category_slug?: string
|
||||
search?: string
|
||||
}): Promise<ScriptTemplateListItem[]> {
|
||||
const response = await apiClient.get<ScriptTemplateListItem[]>('/scripts/templates', {
|
||||
params: { ...params, managed: true },
|
||||
})
|
||||
return response.data
|
||||
},
|
||||
|
||||
async createTemplate(data: ScriptTemplateCreateRequest): Promise<ScriptTemplateDetail> {
|
||||
const response = await apiClient.post<ScriptTemplateDetail>('/scripts/templates', data)
|
||||
return response.data
|
||||
},
|
||||
|
||||
async updateTemplate(id: string, data: ScriptTemplateUpdateRequest): Promise<ScriptTemplateDetail> {
|
||||
const response = await apiClient.put<ScriptTemplateDetail>(`/scripts/templates/${id}`, data)
|
||||
return response.data
|
||||
},
|
||||
|
||||
async deleteTemplate(id: string): Promise<void> {
|
||||
await apiClient.delete(`/scripts/templates/${id}`)
|
||||
},
|
||||
|
||||
async shareTemplate(id: string, shared: boolean): Promise<ScriptTemplateDetail> {
|
||||
const response = await apiClient.patch<ScriptTemplateDetail>(
|
||||
`/scripts/templates/${id}/share`,
|
||||
null,
|
||||
{ params: { shared } },
|
||||
)
|
||||
return response.data
|
||||
},
|
||||
}
|
||||
|
||||
export default scriptsApi
|
||||
|
||||
Reference in New Issue
Block a user