fixing a microsoft graph api error (#12154)

The issue is "Microsoft Graph API unknown error: TypeError: Cannot read
properties of undefined (reading 'emailAddress')"

Sentry :
https://twenty-v7.sentry.io/issues/6605750776/events/7feb4f5949a64ab78bb429cffb7f0fea/?project=4507072499810304

Fixes https://github.com/twentyhq/core-team-issues/issues/981
This commit is contained in:
Guillim
2025-05-21 11:04:43 +02:00
committed by GitHub
parent 91e487dd63
commit 6ff5a5bafa

View File

@ -3,6 +3,7 @@ import { Injectable, Logger } from '@nestjs/common';
import { isDefined } from 'twenty-shared/utils'; import { isDefined } from 'twenty-shared/utils';
import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity';
import { MessageDirection } from 'src/modules/messaging/common/enums/message-direction.enum';
import { computeMessageDirection } from 'src/modules/messaging/message-import-manager/drivers/gmail/utils/compute-message-direction.util'; import { computeMessageDirection } from 'src/modules/messaging/message-import-manager/drivers/gmail/utils/compute-message-direction.util';
import { MicrosoftImportDriverException } from 'src/modules/messaging/message-import-manager/drivers/microsoft/exceptions/microsoft-import-driver.exception'; import { MicrosoftImportDriverException } from 'src/modules/messaging/message-import-manager/drivers/microsoft/exceptions/microsoft-import-driver.exception';
import { MicrosoftGraphBatchResponse } from 'src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.interface'; import { MicrosoftGraphBatchResponse } from 'src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.interface';
@ -83,18 +84,24 @@ export class MicrosoftGetMessagesService {
'from', 'from',
), ),
...formatAddressObjectAsParticipants( ...formatAddressObjectAsParticipants(
// @ts-expect-error legacy noImplicitAny response?.toRecipients
response?.toRecipients?.map((recipient) => recipient.emailAddress), ?.filter(isDefined)
// @ts-expect-error legacy noImplicitAny
.map((recipient) => recipient.emailAddress),
'to', 'to',
), ),
...formatAddressObjectAsParticipants( ...formatAddressObjectAsParticipants(
// @ts-expect-error legacy noImplicitAny response?.ccRecipients
response?.ccRecipients?.map((recipient) => recipient.emailAddress), ?.filter(isDefined)
// @ts-expect-error legacy noImplicitAny
.map((recipient) => recipient.emailAddress),
'cc', 'cc',
), ),
...formatAddressObjectAsParticipants( ...formatAddressObjectAsParticipants(
// @ts-expect-error legacy noImplicitAny response?.bccRecipients
response?.bccRecipients?.map((recipient) => recipient.emailAddress), ?.filter(isDefined)
// @ts-expect-error legacy noImplicitAny
.map((recipient) => recipient.emailAddress),
'bcc', 'bcc',
), ),
]; ];
@ -111,10 +118,12 @@ export class MicrosoftGetMessagesService {
response.body?.contentType === 'text' ? response.body?.content : '', response.body?.contentType === 'text' ? response.body?.content : '',
headerMessageId: response.internetMessageId, headerMessageId: response.internetMessageId,
messageThreadExternalId: response.conversationId, messageThreadExternalId: response.conversationId,
direction: computeMessageDirection( direction: response.from
response.from.emailAddress.address, ? computeMessageDirection(
connectedAccount, response.from.emailAddress.address,
), connectedAccount,
)
: MessageDirection.INCOMING,
participants: safeParticipantsFormat, participants: safeParticipantsFormat,
attachments: [], attachments: [],
}; };