training_data/apps/server/src/upload/upload.controller.ts

20 lines
848 B
TypeScript
Raw Normal View History

2025-01-03 09:24:46 +08:00
import { Controller, Logger, Post, Body, Res } from "@nestjs/common";
import { Response } from "express";
import { HookRequest, HookResponse } from "./types";
import { UploadService } from "./upload.service";
@Controller("upload")
export class UploadController {
private readonly logger = new Logger(UploadController.name);
constructor(private readonly uploadService: UploadService) { }
@Post("hook")
async handleTusHook(@Body() hookRequest: HookRequest, @Res() res: Response) {
try {
const hookResponse = await this.uploadService.handleTusHook(hookRequest);
return res.status(200).json(hookResponse);
} catch (error: any) {
this.logger.error(`Error handling hook: ${error.message}`);
return res.status(500).json({ error: 'Internal server error' });
}
}
}