feat(studio): authors/series/articles/subtopics/briefs/style-presets + agent tokens (show-once)

This commit is contained in:
2026-07-07 22:30:27 +08:00
parent 36df03baad
commit 61cb549e72
14 changed files with 1184 additions and 32 deletions
+48
View File
@@ -0,0 +1,48 @@
import { api } from '@/api/client'
import type {
ApiResponse,
ListParams,
PaginatedResponse,
StudioAgentToken,
StudioAgentTokenGrant,
StudioArticle,
StudioCategoryBrief,
StudioRobotAuthor,
StudioSeries,
StudioStylePreset,
StudioSubtopic,
} from '@/api/types'
const BASE = '/api/admin/v1/studio'
export const fetchRobotAuthors = (params: ListParams) =>
api.get<PaginatedResponse<StudioRobotAuthor>>(`${BASE}/robot-authors`, params)
export const fetchSeries = (params: ListParams) =>
api.get<PaginatedResponse<StudioSeries>>(`${BASE}/series`, params)
export const fetchArticles = (params: ListParams) =>
api.get<PaginatedResponse<StudioArticle>>(`${BASE}/articles`, params)
export const fetchSubtopics = (params: ListParams) =>
api.get<PaginatedResponse<StudioSubtopic>>(`${BASE}/subtopics`, params)
export const fetchCategoryBriefs = (params: ListParams) =>
api.get<PaginatedResponse<StudioCategoryBrief>>(`${BASE}/category-briefs`, params)
export const fetchStylePresets = (params: ListParams) =>
api.get<PaginatedResponse<StudioStylePreset>>(`${BASE}/style-presets`, params)
export const updateRobotAuthor = (id: string, payload: Partial<StudioRobotAuthor>) =>
api.put<ApiResponse<StudioRobotAuthor>>(`${BASE}/robot-authors/${id}`, payload)
// ---- agent tokens (show-once) ----
export const fetchAgentTokens = () =>
api.get<ApiResponse<StudioAgentToken[]> & { meta: { endpoint: string } }>(`${BASE}/agent/tokens`)
export const issueAgentToken = () =>
api.post<ApiResponse<StudioAgentTokenGrant>>(`${BASE}/agent/tokens`)
export const revokeAgentToken = (id: string) =>
api.delete<ApiResponse<null>>(`${BASE}/agent/tokens/${id}`)
+1
View File
@@ -1,3 +1,4 @@
// @ts-nocheck — generated from scribe-admin OpenAPI; reference only
/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.