Gmail error handling fixes (#8732)

Gmail error handling fixes
This commit is contained in:
Raphaël Bosi
2024-11-26 11:22:03 +01:00
committed by GitHub
parent 182f9b12da
commit 08f163592b
3 changed files with 11 additions and 9 deletions

View File

@ -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);

View File

@ -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<void> {
if (messageChannel.throttleFailureCount >= CALENDAR_THROTTLE_MAX_ATTEMPTS) {
if (
messageChannel.throttleFailureCount >= MESSAGING_THROTTLE_MAX_ATTEMPTS
) {
await this.messageChannelSyncStatusService.markAsFailedUnknownAndFlushMessagesToImport(
[messageChannel.id],
workspaceId,

View File

@ -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,
);