diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-cursor.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-cursor.service.ts index 286a2add9..95600d2a9 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-cursor.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-cursor.service.ts @@ -1,58 +1,13 @@ import { Injectable } from '@nestjs/common'; -import { ConnectedAccountProvider } from 'twenty-shared/types'; - import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager'; -import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; import { MessageChannelWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity'; import { MessageFolderWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-folder.workspace-entity'; -import { - MessageImportException, - MessageImportExceptionCode, -} from 'src/modules/messaging/message-import-manager/exceptions/message-import.exception'; @Injectable() export class MessagingCursorService { constructor(private readonly twentyORMManager: TwentyORMManager) {} - public async getCursor( - messageChannel: MessageChannelWorkspaceEntity, - connectedAccount: ConnectedAccountWorkspaceEntity, - folderId?: string, - ): Promise { - const folderRepository = - await this.twentyORMManager.getRepository( - 'messageFolder', - ); - - switch (connectedAccount.provider) { - case ConnectedAccountProvider.GOOGLE: - return messageChannel.syncCursor; - case ConnectedAccountProvider.MICROSOFT: { - const folder = await folderRepository.findOne({ - where: { - id: folderId, - }, - }); - - if (!folder) { - throw new MessageImportException( - `Folder is required to get cursor for ${connectedAccount.provider}`, - MessageImportExceptionCode.FOLDER_ID_REQUIRED, - ); - } - - return folder.syncCursor; - } - - default: - throw new MessageImportException( - `Update Cursor for provider ${connectedAccount.provider} not implemented`, - MessageImportExceptionCode.PROVIDER_NOT_SUPPORTED, - ); - } - } - public async updateCursor( messageChannel: MessageChannelWorkspaceEntity, nextSyncCursor: string, diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-message-list-fetch.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-message-list-fetch.service.ts index 5bbf50eca..cc97a19ec 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-message-list-fetch.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-message-list-fetch.service.ts @@ -43,20 +43,11 @@ export class MessagingMessageListFetchService { messageChannel, ); - const isEmptyMailbox = messageLists.some( - (messageList) => messageList.messageExternalIds.length === 0, - ); - - if (isEmptyMailbox) { - await this.messageChannelSyncStatusService.resetAndScheduleMessageListFetch( - [messageChannel.id], - workspaceId, - ); - - return; - } - for (const messageList of messageLists) { + if (messageList.messageExternalIds.length === 0) { + continue; + } + const { messageExternalIds, nextSyncCursor,