Add JSON field type and Event object (#4566)

* Add JSON field type and Event object

* Simplify code

* Adress PR comments and add featureFlag
This commit is contained in:
Félix Malfait
2024-03-19 21:54:08 +01:00
committed by GitHub
parent 4ab426c52a
commit 4bfb90657f
51 changed files with 575 additions and 117 deletions

View File

@ -46,7 +46,7 @@ export class MessagingConnectedAccountListener {
DeleteConnectedAccountAssociatedMessagingDataJob.name,
{
workspaceId: payload.workspaceId,
connectedAccountId: payload.deletedRecord.id,
connectedAccountId: payload.recordId,
},
);
@ -55,7 +55,7 @@ export class MessagingConnectedAccountListener {
DeleteConnectedAccountAssociatedCalendarDataJob.name,
{
workspaceId: payload.workspaceId,
connectedAccountId: payload.deletedRecord.id,
connectedAccountId: payload.recordId,
},
);
}

View File

@ -24,16 +24,16 @@ export class MessagingMessageChannelListener {
) {
if (
objectRecordChangedProperties(
payload.previousRecord,
payload.updatedRecord,
payload.details.before,
payload.details.after,
).includes('isContactAutoCreationEnabled') &&
payload.updatedRecord.isContactAutoCreationEnabled
payload.details.after.isContactAutoCreationEnabled
) {
this.messageQueueService.add<CreateCompaniesAndContactsAfterSyncJobData>(
CreateCompaniesAndContactsAfterSyncJob.name,
{
workspaceId: payload.workspaceId,
messageChannelId: payload.updatedRecord.id,
messageChannelId: payload.recordId,
},
);
}

View File

@ -23,7 +23,7 @@ export class MessagingPersonListener {
async handleCreatedEvent(
payload: ObjectRecordCreateEvent<PersonObjectMetadata>,
) {
if (payload.createdRecord.email === null) {
if (payload.details.after.email === null) {
return;
}
@ -31,8 +31,8 @@ export class MessagingPersonListener {
MatchMessageParticipantJob.name,
{
workspaceId: payload.workspaceId,
email: payload.createdRecord.email,
personId: payload.createdRecord.id,
email: payload.details.after.email,
personId: payload.recordId,
},
);
}
@ -43,16 +43,16 @@ export class MessagingPersonListener {
) {
if (
objectRecordUpdateEventChangedProperties(
payload.previousRecord,
payload.updatedRecord,
payload.details.before,
payload.details.after,
).includes('email')
) {
this.messageQueueService.add<MatchMessageParticipantsJobData>(
MatchMessageParticipantJob.name,
{
workspaceId: payload.workspaceId,
email: payload.updatedRecord.email,
personId: payload.updatedRecord.id,
email: payload.details.after.email,
personId: payload.recordId,
},
);
}

View File

@ -23,7 +23,7 @@ export class MessagingWorkspaceMemberListener {
async handleCreatedEvent(
payload: ObjectRecordCreateEvent<WorkspaceMemberObjectMetadata>,
) {
if (payload.createdRecord.userEmail === null) {
if (payload.details.after.userEmail === null) {
return;
}
@ -31,8 +31,8 @@ export class MessagingWorkspaceMemberListener {
MatchMessageParticipantJob.name,
{
workspaceId: payload.workspaceId,
email: payload.createdRecord.userEmail,
workspaceMemberId: payload.createdRecord.id,
email: payload.details.after.userEmail,
workspaceMemberId: payload.details.after.id,
},
);
}
@ -43,16 +43,16 @@ export class MessagingWorkspaceMemberListener {
) {
if (
objectRecordUpdateEventChangedProperties(
payload.previousRecord,
payload.updatedRecord,
payload.details.before,
payload.details.after,
).includes('userEmail')
) {
await this.messageQueueService.add<MatchMessageParticipantsJobData>(
MatchMessageParticipantJob.name,
{
workspaceId: payload.workspaceId,
email: payload.updatedRecord.userEmail,
workspaceMemberId: payload.updatedRecord.id,
email: payload.details.after.userEmail,
workspaceMemberId: payload.recordId,
},
);
}