2248 zapier integration implement typeorm eventsubscribers (#3122)

* Add new queue to twenty-server

* Add triggers to zapier

* Rename webhook operation

* Use find one or fail

* Use logger

* Fix typescript templating

* Add dedicated call webhook job

* Update logging

* Fix error handling
This commit is contained in:
martmull
2024-01-03 18:09:57 +01:00
committed by GitHub
parent 4ebaacc306
commit 65250839fb
36 changed files with 1040 additions and 209 deletions

View File

@ -1,14 +1,34 @@
import { Module } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';
import { HttpModule } from '@nestjs/axios';
import { FetchMessagesJob } from 'src/workspace/messaging/jobs/fetch-messages.job';
import { CallWebhookJobsJob } from 'src/workspace/workspace-query-runner/jobs/call-webhook-jobs.job';
import { CallWebhookJob } from 'src/workspace/workspace-query-runner/jobs/call-webhook.job';
import { WorkspaceDataSourceModule } from 'src/workspace/workspace-datasource/workspace-datasource.module';
import { ObjectMetadataModule } from 'src/metadata/object-metadata/object-metadata.module';
import { DataSourceModule } from 'src/metadata/data-source/data-source.module';
@Module({
imports: [
WorkspaceDataSourceModule,
ObjectMetadataModule,
DataSourceModule,
HttpModule,
],
providers: [
{
provide: FetchMessagesJob.name,
useClass: FetchMessagesJob,
},
{
provide: CallWebhookJobsJob.name,
useClass: CallWebhookJobsJob,
},
{
provide: CallWebhookJob.name,
useClass: CallWebhookJob,
},
],
})
export class JobsModule {

View File

@ -3,4 +3,5 @@ export const QUEUE_DRIVER = Symbol('QUEUE_DRIVER');
export enum MessageQueue {
taskAssignedQueue = 'task-assigned-queue',
messagingQueue = 'messaging-queue',
webhookQueue = 'webhook-queue',
}

View File

@ -55,7 +55,11 @@ export class MessageQueueModule {
module: MessageQueueModule,
imports: [JobsModule, ...(options.imports || [])],
providers,
exports: [MessageQueue.taskAssignedQueue, MessageQueue.messagingQueue],
exports: [
MessageQueue.taskAssignedQueue,
MessageQueue.messagingQueue,
MessageQueue.webhookQueue,
],
};
}
}