Return data or raise error in serverless controller (#14989)

as title
TODO validate we do not need to add a new column
This commit is contained in:
martmull
2025-10-08 19:09:25 +02:00
committed by GitHub
parent 3b992ed549
commit 920ad4c3f2
2 changed files with 38 additions and 8 deletions
@@ -6,60 +6,68 @@ import {
Post,
Put,
Req,
UseFilters,
UseGuards,
} from '@nestjs/common';
import { Request } from 'express';
import { RestApiExceptionFilter } from 'src/engine/api/rest/rest-api-exception.filter';
import { PublicEndpointGuard } from 'src/engine/guards/public-endpoint.guard';
import { HTTPMethod } from 'src/engine/metadata-modules/route-trigger/route-trigger.entity';
import { RouteTriggerService } from 'src/engine/metadata-modules/route-trigger/route-trigger.service';
import { formatServerlessControllerResponse } from 'src/engine/metadata-modules/route-trigger/utils/format-serverless-controller-response';
@Controller('s')
@UseGuards(PublicEndpointGuard)
@UseFilters(RestApiExceptionFilter)
export class RouteTriggerController {
constructor(private readonly routeTriggerService: RouteTriggerService) {}
@Get('*')
async get(@Req() request: Request) {
return await this.routeTriggerService.handle({
const result = await this.routeTriggerService.handle({
request,
httpMethod: HTTPMethod.GET,
});
return formatServerlessControllerResponse(result);
}
@Post('*')
async post(@Req() request: Request) {
return await this.routeTriggerService.handle({
const result = await this.routeTriggerService.handle({
request,
httpMethod: HTTPMethod.POST,
});
return formatServerlessControllerResponse(result);
}
@Put('*')
async put(@Req() request: Request) {
return await this.routeTriggerService.handle({
const result = await this.routeTriggerService.handle({
request,
httpMethod: HTTPMethod.PUT,
});
return formatServerlessControllerResponse(result);
}
@Patch('*')
async patch(@Req() request: Request) {
return await this.routeTriggerService.handle({
const result = await this.routeTriggerService.handle({
request,
httpMethod: HTTPMethod.PATCH,
});
return formatServerlessControllerResponse(result);
}
@Delete('*')
async delete(@Req() request: Request) {
return await this.routeTriggerService.handle({
const result = await this.routeTriggerService.handle({
request,
httpMethod: HTTPMethod.DELETE,
});
return formatServerlessControllerResponse(result);
}
}