|
|
@@ -4,10 +4,27 @@ import getUrlRoute from './[id]/get-url';
|
|
|
import deleteRoute from './[id]/delete';
|
|
|
import { AuthContext } from '@/server/types/context';
|
|
|
|
|
|
+import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
|
|
|
+import { File } from '@/server/modules/files/file.entity';
|
|
|
+import { FileSchema, CreateFileDto, UpdateFileDto } from '@/server/modules/files/file.entity';
|
|
|
+import { authMiddleware } from '@/server/middleware/auth.middleware';
|
|
|
+
|
|
|
+const fileRoutes = createCrudRoutes({
|
|
|
+ entity: File,
|
|
|
+ createSchema: CreateFileDto,
|
|
|
+ updateSchema: UpdateFileDto,
|
|
|
+ getSchema: FileSchema,
|
|
|
+ listSchema: FileSchema,
|
|
|
+ searchFields: ['name', 'type', 'description'],
|
|
|
+ middleware: [authMiddleware]
|
|
|
+})
|
|
|
+
|
|
|
+
|
|
|
// 创建路由实例并聚合所有子路由
|
|
|
const app = new OpenAPIHono<AuthContext>()
|
|
|
.route('/upload-policy', uploadPolicyRoute)
|
|
|
- .route('/{id}/url', getUrlRoute)
|
|
|
- .route('/{id}', deleteRoute);
|
|
|
+ .route('/{id}', getUrlRoute)
|
|
|
+ .route('/', fileRoutes)
|
|
|
+ .route('/{id}', deleteRoute)
|
|
|
|
|
|
export default app;
|