/** * Document center API — wraps /api/oa/folders and /documents. * File content storage is out of scope; only metadata is tracked. */ import { http } from './http' export interface DocFolder { id: number name: string parentId: number | null children: DocFolder[] } export interface DocFile { id: number folderId: number | null name: string ext: string size: number version: number uploader: string status: string /** 关联的真实文件 (StoredFile.id),有值时可在线预览/下载。 */ storedFileId?: number | null updatedAt: string } /** GET /folders/tree */ export function getFolderTree(): Promise { return http.get('/folders/tree') } /** GET /documents[?folderId=] */ export function listDocuments(folderId?: number | string): Promise { return http.get('/documents', folderId != null ? { folderId } : undefined) } /** POST /documents/upload-meta — register file metadata. */ export function uploadMeta(input: { folderId: number | null name: string ext: string size: number uploader?: string /** 关联已上传的真实文件 (StoredFile.id)。 */ storedFileId?: number | null }): Promise { return http.post('/documents/upload-meta', input) }