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' }); } } }