feat(studio): manage article plans

This commit is contained in:
2026-09-10 14:17:30 +08:00
parent 1fbc6cab5b
commit ecdbf4d768
4 changed files with 81 additions and 21 deletions
+21
View File
@@ -41,6 +41,27 @@ export const deleteSeries = (id: string) => api.delete<ApiResponse<null>>(`${BAS
export const fetchArticles = (params: ListParams) =>
api.get<PaginatedResponse<StudioArticle>>(`${BASE}/articles`, params)
export interface ArticlePayload {
series_id?: string
article_number?: number
plan?: Record<string, unknown> | null
outline?: Record<string, unknown> | null
title?: string | null
summary?: string | null
key_takeaways?: string[] | null
cta?: string | null
tags?: string[] | null
seo_keywords?: string[] | null
cover_image_prompt?: string | null
inline_image_prompts?: string[] | null
status?: StudioArticle['status']
drafting_model?: Record<string, unknown> | null
publish_schedule?: Record<string, unknown> | null
}
export const createArticle = (payload: ArticlePayload) => api.post<ApiResponse<StudioArticle>>(`${BASE}/articles`, payload)
export const updateArticle = (id: string, payload: ArticlePayload) => api.put<ApiResponse<StudioArticle>>(`${BASE}/articles/${id}`, payload)
export const deleteArticle = (id: string) => api.delete<ApiResponse<null>>(`${BASE}/articles/${id}`)
export const fetchSubtopics = (params: ListParams) =>
api.get<PaginatedResponse<StudioSubtopic>>(`${BASE}/subtopics`, params)