20 lines
848 B
TypeScript
20 lines
848 B
TypeScript
![]() |
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' });
|
||
|
}
|
||
|
}
|
||
|
}
|