refactoring

This commit is contained in:
bosiraphael 2024-03-20 14:44:10 +01:00
parent 3bacfc23ca
commit 3d8ad9b7e7
7 changed files with 18 additions and 21 deletions

View File

@ -18,7 +18,7 @@ import { EnvironmentModule } from 'src/engine/integrations/environment/environme
import { FetchAllWorkspacesMessagesJob } from 'src/modules/messaging/commands/crons/fetch-all-workspaces-messages.job';
import { MatchMessageParticipantJob } from 'src/modules/messaging/jobs/match-message-participant.job';
import { CreateCompaniesAndContactsAfterSyncJob } from 'src/modules/messaging/jobs/create-companies-and-contacts-after-sync.job';
import { CreateCompaniesAndContactsModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module';
import { AutoCompaniesAndContactsCreationModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/auto-companies-and-contacts-creation.module';
import { DataSeedDemoWorkspaceModule } from 'src/database/commands/data-seed-demo-workspace/data-seed-demo-workspace.module';
import { DataSeedDemoWorkspaceJob } from 'src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job';
import { DeleteConnectedAccountAssociatedMessagingDataJob } from 'src/modules/messaging/jobs/delete-connected-account-associated-messaging-data.job';
@ -50,7 +50,7 @@ import { CreateCompanyAndContactJob } from 'src/modules/connected-account/auto-c
imports: [
BillingModule,
DataSourceModule,
CreateCompaniesAndContactsModule,
AutoCompaniesAndContactsCreationModule,
DataSeedDemoWorkspaceModule,
EnvironmentModule,
HttpModule,

View File

@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
import { CreateCompanyAndContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service';
import { CreateCompanyAndContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/services/create-company-and-contact.service';
import { CreateCompanyModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company/create-company.module';
import { CreateContactModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-contact/create-contact.module';
import { ObjectMetadataRepositoryModule } from 'src/engine/object-metadata-repository/object-metadata-repository.module';
@ -8,6 +8,7 @@ import { PersonObjectMetadata } from 'src/modules/person/standard-objects/person
import { WorkspaceMemberObjectMetadata } from 'src/modules/workspace-member/standard-objects/workspace-member.object-metadata';
import { MessageParticipantModule } from 'src/modules/messaging/services/message-participant/message-participant.module';
import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module';
import { CreateCompanyAndContactListener } from 'src/modules/connected-account/auto-companies-and-contacts-creation/listeners/create-company-and-contact.listener';
@Module({
imports: [
@ -20,7 +21,7 @@ import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/works
MessageParticipantModule,
WorkspaceDataSourceModule,
],
providers: [CreateCompanyAndContactService],
providers: [CreateCompanyAndContactService, CreateCompanyAndContactListener],
exports: [CreateCompanyAndContactService],
})
export class CreateCompaniesAndContactsModule {}
export class AutoCompaniesAndContactsCreationModule {}

View File

@ -2,13 +2,11 @@ import { Injectable } from '@nestjs/common';
import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface';
import { CreateCompanyAndContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service';
import { CreateCompanyAndContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/services/create-company-and-contact.service';
export type CreateCompanyAndContactJobData = {
workspaceId: string;
connectedAccount: {
handle: string;
};
connectedAccountHandle: string;
contactsToCreate: {
displayName: string;
handle: string;
@ -24,10 +22,10 @@ export class CreateCompanyAndContactJob
) {}
async handle(data: CreateCompanyAndContactJobData): Promise<void> {
const { workspaceId, connectedAccount, contactsToCreate } = data;
const { workspaceId, connectedAccountHandle, contactsToCreate } = data;
this.createCompanyAndContactService.createCompaniesAndContactsAndUpdateParticipants(
connectedAccount,
connectedAccountHandle,
contactsToCreate.map((contact) => ({
handle: contact.handle,
displayName: contact.displayName,

View File

@ -18,9 +18,7 @@ export class CreateCompanyAndContactListener {
@OnEvent('createContacts')
async handleContactCreationEvent(payload: {
workspaceId: string;
connectedAccount: {
handle: string;
};
connectedAccountHandle: string;
contactsToCreate: {
displayName: string;
handle: string;

View File

@ -40,7 +40,7 @@ export class CreateCompanyAndContactService {
) {}
async createCompaniesAndContacts(
connectedAccount: { handle: string },
connectedAccountHandle: string,
contactsToCreate: Contacts,
workspaceId: string,
transactionManager?: EntityManager,
@ -61,7 +61,7 @@ export class CreateCompanyAndContactService {
const contactsToCreateFromOtherCompanies =
filterOutContactsFromCompanyOrWorkspace(
contactsToCreate,
connectedAccount.handle,
connectedAccountHandle,
workspaceMembers,
);
@ -128,7 +128,7 @@ export class CreateCompanyAndContactService {
}
async createCompaniesAndContactsAndUpdateParticipants(
connectedAccount: { handle: string },
connectedAccountHandle,
contactsToCreate: Contacts,
workspaceId: string,
) {
@ -140,7 +140,7 @@ export class CreateCompanyAndContactService {
await workspaceDataSource?.transaction(
async (transactionManager: EntityManager) => {
await this.createCompaniesAndContacts(
connectedAccount,
connectedAccountHandle,
contactsToCreate,
workspaceId,
transactionManager,

View File

@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common';
import { MessageQueueJob } from 'src/engine/integrations/message-queue/interfaces/message-queue-job.interface';
import { InjectObjectMetadataRepository } from 'src/engine/object-metadata-repository/object-metadata-repository.decorator';
import { CreateCompanyAndContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.service';
import { CreateCompanyAndContactService } from 'src/modules/connected-account/auto-companies-and-contacts-creation/services/create-company-and-contact.service';
import { MessageChannelRepository } from 'src/modules/messaging/repositories/message-channel.repository';
import { MessageParticipantRepository } from 'src/modules/messaging/repositories/message-participant.repository';
import { MessageParticipantService } from 'src/modules/messaging/services/message-participant/message-participant.service';

View File

@ -2,7 +2,7 @@ import { Module } from '@nestjs/common';
import { ObjectMetadataRepositoryModule } from 'src/engine/object-metadata-repository/object-metadata-repository.module';
import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module';
import { CreateCompaniesAndContactsModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/create-company-and-contact/create-company-and-contact.module';
import { AutoCompaniesAndContactsCreationModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/auto-companies-and-contacts-creation.module';
import { MessageParticipantModule } from 'src/modules/messaging/services/message-participant/message-participant.module';
import { MessageModule } from 'src/modules/messaging/services/message/message.module';
import { SaveMessagesAndCreateContactsService } from 'src/modules/messaging/services/save-message-and-create-contact/save-messages-and-create-contacts.service';
@ -16,7 +16,7 @@ import { MessageParticipantObjectMetadata } from 'src/modules/messaging/standard
MessageChannelObjectMetadata,
MessageParticipantObjectMetadata,
]),
CreateCompaniesAndContactsModule,
AutoCompaniesAndContactsCreationModule,
MessageParticipantModule,
WorkspaceDataSourceModule,
],