/** * 素材库 API */ import apiClient from "../client" import { getOrCreateDefaultProject } from "../projects" import type { AssetLibraryItem } from "./types" /** 获取当前用户的所有素材库 */ export const getAssetLibraries = async (): Promise => { const response = await apiClient.get("/asset-libraries") return response.data.items || [] } /** 创建素材库(自动获取或创建默认项目以提供 project_id) */ export const createAssetLibrary = async (data: { name: string kind: "video" | "voice" | "image" }): Promise => { const project = await getOrCreateDefaultProject() const response = await apiClient.post("/asset-libraries", { project_id: project.id, ...data, }) return response.data } /** 确保项目下指定 kind 的默认素材库存在 */ export const ensureDefaultLibrary = async (data: { project_id: string kind: "video" | "voice" | "image" }): Promise => { const response = await apiClient.post("/asset-libraries/ensure-default", data) return response.data } /** 删除素材库 */ export const deleteAssetLibrary = async (libraryId: string): Promise => { await apiClient.delete(`/asset-libraries/${libraryId}`) }