* Add cron to message queue interfaces * Add command to launch cron job * Add command to stop cron job * Update clean inactive workspaces job * Add react-email * WIP * Fix import error * Rename services * Update logging * Update email template * Update email template * Add Base Email template * Move to proper place * Remove test files * Update logo * Add email theme * Revert "Remove test files" This reverts commit fe062dd05166b95125cf99f2165cc20efb6c275a. * Add email theme 2 * Revert "Revert "Remove test files"" This reverts commit 6c6471273ad765788f2eaf5a5614209edfb965ce. * Revert "Revert "Revert "Remove test files""" This reverts commit f851333c24e9cfe3f425c9cbbd1e079efce5c3dd. * Revert "Revert "Revert "Revert "Remove test files"""" This reverts commit 7838e19e88e269026e24803f26cd52b467b4ef36. * Fix theme * Reorganize files * Update clean inactive workspaces job * Use env variable to define inactive days * Remove FROM variable * Use feature flag * Fix cron command * Remove useless variable * Reorganize files * Refactor some code * Update email template * Update email object * Remove verbose log * Code review returns * Code review returns * Simplify handle * Code review returns * Review --------- Co-authored-by: Charles Bochet <charles@twenty.com>
65 lines
2.3 KiB
TypeScript
65 lines
2.3 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ModuleRef } from '@nestjs/core';
|
|
import { HttpModule } from '@nestjs/axios';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
|
|
import { GmailFullSyncJob } from 'src/workspace/messaging/jobs/gmail-full-sync.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';
|
|
import { CleanInactiveWorkspaceJob } from 'src/workspace/cron/clean-inactive-workspaces/clean-inactive-workspace.job';
|
|
import { TypeORMModule } from 'src/database/typeorm/typeorm.module';
|
|
import { FetchWorkspaceMessagesModule } from 'src/workspace/messaging/services/fetch-workspace-messages.module';
|
|
import { GmailPartialSyncJob } from 'src/workspace/messaging/jobs/gmail-partial-sync.job';
|
|
import { EmailSenderJob } from 'src/integrations/email/email-sender.job';
|
|
import { UserModule } from 'src/core/user/user.module';
|
|
import { EnvironmentModule } from 'src/integrations/environment/environment.module';
|
|
import { FeatureFlagEntity } from 'src/core/feature-flag/feature-flag.entity';
|
|
|
|
@Module({
|
|
imports: [
|
|
WorkspaceDataSourceModule,
|
|
ObjectMetadataModule,
|
|
DataSourceModule,
|
|
HttpModule,
|
|
TypeORMModule,
|
|
FetchWorkspaceMessagesModule,
|
|
UserModule,
|
|
EnvironmentModule,
|
|
TypeORMModule,
|
|
TypeOrmModule.forFeature([FeatureFlagEntity], 'core'),
|
|
],
|
|
providers: [
|
|
{
|
|
provide: GmailFullSyncJob.name,
|
|
useClass: GmailFullSyncJob,
|
|
},
|
|
{
|
|
provide: GmailPartialSyncJob.name,
|
|
useClass: GmailPartialSyncJob,
|
|
},
|
|
{
|
|
provide: CallWebhookJobsJob.name,
|
|
useClass: CallWebhookJobsJob,
|
|
},
|
|
{
|
|
provide: CallWebhookJob.name,
|
|
useClass: CallWebhookJob,
|
|
},
|
|
{
|
|
provide: CleanInactiveWorkspaceJob.name,
|
|
useClass: CleanInactiveWorkspaceJob,
|
|
},
|
|
{ provide: EmailSenderJob.name, useClass: EmailSenderJob },
|
|
],
|
|
})
|
|
export class JobsModule {
|
|
static moduleRef: ModuleRef;
|
|
|
|
constructor(private moduleRef: ModuleRef) {
|
|
JobsModule.moduleRef = this.moduleRef;
|
|
}
|
|
}
|