11564f135e
Several fixes after discussing with @BOHEUS - set applicationManifest env key optional - fix server local serverless function logging (introduces a new env variable `SERVERLESS_LOGS_ENABLED` defaulting to false)
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { Scope } from '@nestjs/common';
|
|
|
|
import { Process } from 'src/engine/core-modules/message-queue/decorators/process.decorator';
|
|
import { Processor } from 'src/engine/core-modules/message-queue/decorators/processor.decorator';
|
|
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
|
|
import { ServerlessFunctionService } from 'src/engine/metadata-modules/serverless-function/serverless-function.service';
|
|
|
|
export type ServerlessFunctionTriggerJobData = {
|
|
serverlessFunctionId: string;
|
|
workspaceId: string;
|
|
payload?: object;
|
|
};
|
|
|
|
@Processor({
|
|
queueName: MessageQueue.serverlessFunctionQueue,
|
|
scope: Scope.REQUEST,
|
|
})
|
|
export class ServerlessFunctionTriggerJob {
|
|
constructor(
|
|
private readonly serverlessFunctionService: ServerlessFunctionService,
|
|
) {}
|
|
|
|
@Process(ServerlessFunctionTriggerJob.name)
|
|
async handle(data: ServerlessFunctionTriggerJobData) {
|
|
await this.serverlessFunctionService.executeOneServerlessFunction(
|
|
data.serverlessFunctionId,
|
|
data.workspaceId,
|
|
data.payload || {},
|
|
'draft',
|
|
);
|
|
}
|
|
}
|