From 08f163592b6524202b9ba8fbba988cdc1f9aeaa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Bosi?= <71827178+bosiraphael@users.noreply.github.com> Date: Tue, 26 Nov 2024 11:22:03 +0100 Subject: [PATCH] Gmail error handling fixes (#8732) Gmail error handling fixes --- .../drivers/gmail/services/gmail-handle-error.service.ts | 8 ++++---- .../services/message-import-exception-handler.service.ts | 6 ++++-- .../services/messaging-messages-import.service.ts | 6 +++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-handle-error.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-handle-error.service.ts index cdffcaf54..a81a34837 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-handle-error.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-handle-error.service.ts @@ -20,11 +20,11 @@ export class GmailHandleErrorService { ) { throw parseGaxiosError(error); } - if (error.response?.status !== 410) { + if (error.code != 410) { const gmailError = { - code: error.response?.status, - reason: `${error.response?.data?.error?.errors?.[0].reason || error.response?.data?.error || ''}`, - message: `${error.response?.data?.error?.errors?.[0].message || error.response?.data?.error_description || ''}${messageExternalId ? ` for message with externalId: ${messageExternalId}` : ''}`, + code: error.code, + reason: `${error?.errors?.[0].reason || error.response?.data?.error || ''}`, + message: `${error?.errors?.[0].message || error.response?.data?.error_description || ''}${messageExternalId ? ` for message with externalId: ${messageExternalId}` : ''}`, }; throw parseGmailError(gmailError); diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/services/message-import-exception-handler.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/services/message-import-exception-handler.service.ts index 6e0dd24fb..f67b03eb6 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/services/message-import-exception-handler.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/services/message-import-exception-handler.service.ts @@ -1,9 +1,9 @@ import { Injectable } from '@nestjs/common'; import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager'; -import { CALENDAR_THROTTLE_MAX_ATTEMPTS } from 'src/modules/calendar/calendar-event-import-manager/constants/calendar-throttle-max-attempts'; import { MessageChannelSyncStatusService } from 'src/modules/messaging/common/services/message-channel-sync-status.service'; import { MessageChannelWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity'; +import { MESSAGING_THROTTLE_MAX_ATTEMPTS } from 'src/modules/messaging/message-import-manager/constants/messaging-throttle-max-attempts'; import { MessageImportDriverException, MessageImportDriverExceptionCode, @@ -77,7 +77,9 @@ export class MessageImportExceptionHandlerService { >, workspaceId: string, ): Promise { - if (messageChannel.throttleFailureCount >= CALENDAR_THROTTLE_MAX_ATTEMPTS) { + if ( + messageChannel.throttleFailureCount >= MESSAGING_THROTTLE_MAX_ATTEMPTS + ) { await this.messageChannelSyncStatusService.markAsFailedUnknownAndFlushMessagesToImport( [messageChannel.id], workspaceId, diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-messages-import.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-messages-import.service.ts index 09c59c557..f0a1810e2 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-messages-import.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-messages-import.service.ts @@ -85,8 +85,8 @@ export class MessagingMessagesImportService { ); } catch (error) { switch (error.code) { - case (RefreshAccessTokenExceptionCode.REFRESH_ACCESS_TOKEN_FAILED, - RefreshAccessTokenExceptionCode.REFRESH_TOKEN_NOT_FOUND): + case RefreshAccessTokenExceptionCode.REFRESH_ACCESS_TOKEN_FAILED: + case RefreshAccessTokenExceptionCode.REFRESH_TOKEN_NOT_FOUND: await this.messagingTelemetryService.track({ eventName: `refresh_token.error.insufficient_permissions`, workspaceId, @@ -191,7 +191,7 @@ export class MessagingMessagesImportService { await this.messageImportErrorHandlerService.handleDriverException( error, - MessageImportSyncStep.PARTIAL_MESSAGE_LIST_FETCH, + MessageImportSyncStep.MESSAGES_IMPORT, messageChannel, workspaceId, );