mira-app-server
Version:
Mira Server - standalone server application using mira-app-core
45 lines • 1.61 kB
TypeScript
import { Request, Response } from 'express';
import { MiraServer } from '../server';
export interface ApiResponse<T = any> {
code: number;
message: string;
data: T | null;
}
export declare class BaseRouter {
protected backend: MiraServer;
constructor(backend: MiraServer);
/**
* 验证并获取Library对象
*/
protected validateLibrary(libraryId: string): Promise<{
success: boolean;
library?: any;
error?: ApiResponse;
}>;
/**
* 发送成功响应
*/
protected sendSuccess<T>(res: Response, data: T, message?: string): void;
/**
* 发送错误响应
*/
protected sendError(res: Response, code: number, message: string, data?: any): void;
/**
* 通用的CRUD操作处理器
*/
protected handleCrudOperation(req: Request, res: Response, operation: 'create' | 'update' | 'delete' | 'query' | 'getAll', serviceMethod: string, options?: {
requiresId?: boolean;
successMessage?: string;
dataTransform?: (data: any) => any;
responseTransform?: (data: any) => any;
onSuccess?: (result: any, libraryId: string) => void;
}): Promise<void>;
/**
* 处理文件关联操作(设置标签、文件夹等)
*/
protected handleFileAssociation(req: Request, res: Response, operation: 'set' | 'get', serviceMethod: string, associationType: string, options?: {
successMessage?: string;
onSuccess?: (result: any, libraryId: string, fileId: string | number) => void;
}): Promise<void>;
}
//# sourceMappingURL=BaseRouter.d.ts.map