4a770eafa1
core-modules/logic-function/
├── logic-function.module.ts
├── logic-function-executor/
│ ├── logic-function-executor.module.ts
│ ├── commands/
│ │ └── add-packages.command.ts
│ ├── constants/
│ │ └── logic-function-executor.constants.ts
│ ├── factories/
│ │ └── logic-function-module.factory.ts
│ ├── interfaces/
│ │ └── logic-function-executor.interface.ts
│ └── services/
│ └── logic-function-executor.service.ts
├── logic-function-build/
│ ├── logic-function-build.module.ts
│ ├── services/
│ │ └── logic-function-build.service.ts
│ └── utils/
│ └── get-logic-function-base-folder-path.util.ts
├── logic-function-drivers/
│ ├── logic-function-drivers.module.ts
│ ├── constants/
│ │ └── ...
│ ├── drivers/
│ │ ├── disabled.driver.ts
│ │ ├── lambda.driver.ts
│ │ └── local.driver.ts
│ ├── interfaces/
│ │ └── logic-function-executor-driver.interface.ts
│ ├── layers/
│ │ └── ...
│ └── utils/
│ └── ...
├── logic-function-layer/
│ ├── logic-function-layer.module.ts
│ └── services/
│ └── logic-function-layer.service.ts
└── logic-function-trigger/
├── logic-function-trigger.module.ts
├── jobs/
│ └── logic-function-trigger.job.ts
└── triggers/
├── cron/
├── database-event/
└── route/
├── exceptions/
├── services/
│ └── route-trigger.service.ts
└── utils/
67 lines
1.7 KiB
TypeScript
67 lines
1.7 KiB
TypeScript
import {
|
|
Controller,
|
|
Delete,
|
|
Get,
|
|
Patch,
|
|
Post,
|
|
Put,
|
|
Req,
|
|
UseFilters,
|
|
UseGuards,
|
|
} from '@nestjs/common';
|
|
|
|
import { Request } from 'express';
|
|
import { HTTPMethod } from 'twenty-shared/types';
|
|
|
|
import { NoPermissionGuard } from 'src/engine/guards/no-permission.guard';
|
|
import { PublicEndpointGuard } from 'src/engine/guards/public-endpoint.guard';
|
|
import { RouteTriggerRestApiExceptionFilter } from 'src/engine/core-modules/logic-function/logic-function-trigger/triggers/route/exceptions/route-trigger-rest-api-exception-filter';
|
|
import { RouteTriggerService } from 'src/engine/core-modules/logic-function/logic-function-trigger/triggers/route/route-trigger.service';
|
|
|
|
@Controller('s')
|
|
@UseGuards(PublicEndpointGuard, NoPermissionGuard)
|
|
@UseFilters(RouteTriggerRestApiExceptionFilter)
|
|
export class RouteTriggerController {
|
|
constructor(private readonly routeTriggerService: RouteTriggerService) {}
|
|
|
|
@Get('*path')
|
|
async get(@Req() request: Request) {
|
|
return await this.routeTriggerService.handle({
|
|
request,
|
|
httpMethod: HTTPMethod.GET,
|
|
});
|
|
}
|
|
|
|
@Post('*path')
|
|
async post(@Req() request: Request) {
|
|
return await this.routeTriggerService.handle({
|
|
request,
|
|
httpMethod: HTTPMethod.POST,
|
|
});
|
|
}
|
|
|
|
@Put('*path')
|
|
async put(@Req() request: Request) {
|
|
return await this.routeTriggerService.handle({
|
|
request,
|
|
httpMethod: HTTPMethod.PUT,
|
|
});
|
|
}
|
|
|
|
@Patch('*path')
|
|
async patch(@Req() request: Request) {
|
|
return await this.routeTriggerService.handle({
|
|
request,
|
|
httpMethod: HTTPMethod.PATCH,
|
|
});
|
|
}
|
|
|
|
@Delete('*path')
|
|
async delete(@Req() request: Request) {
|
|
return await this.routeTriggerService.handle({
|
|
request,
|
|
httpMethod: HTTPMethod.DELETE,
|
|
});
|
|
}
|
|
}
|