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,
|
ScriptGenerateRequest,
|
||||||
ScriptGenerateResponse,
|
ScriptGenerateResponse,
|
||||||
ScriptGenerationRecord,
|
ScriptGenerationRecord,
|
||||||
|
ScriptTemplateCreateRequest,
|
||||||
|
ScriptTemplateUpdateRequest,
|
||||||
} from '@/types'
|
} from '@/types'
|
||||||
|
|
||||||
export const scriptsApi = {
|
export const scriptsApi = {
|
||||||
@@ -38,6 +40,39 @@ export const scriptsApi = {
|
|||||||
const response = await apiClient.get<ScriptGenerationRecord[]>('/scripts/generations')
|
const response = await apiClient.get<ScriptGenerationRecord[]>('/scripts/generations')
|
||||||
return response.data
|
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
|
export default scriptsApi
|
||||||
|
|||||||
Reference in New Issue
Block a user