diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/messaging-gmail-fetch-messages-by-batches.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/messaging-gmail-fetch-messages-by-batches.service.ts index be2b3e1a1..1e0c0c6e9 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/messaging-gmail-fetch-messages-by-batches.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/messaging-gmail-fetch-messages-by-batches.service.ts @@ -10,6 +10,9 @@ import { GmailMessage } from 'src/modules/messaging/message-import-manager/drive import { MessageQuery } from 'src/modules/messaging/message-import-manager/types/message-or-thread-query'; import { formatAddressObjectAsParticipants } from 'src/modules/messaging/message-import-manager/utils/format-address-object-as-participants.util'; import { MessagingFetchByBatchesService } from 'src/modules/messaging/common/services/messaging-fetch-by-batch.service'; +import { InjectObjectMetadataRepository } from 'src/engine/object-metadata-repository/object-metadata-repository.decorator'; +import { ConnectedAccountRepository } from 'src/modules/connected-account/repositories/connected-account.repository'; +import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; @Injectable() export class MessagingGmailFetchMessagesByBatchesService { @@ -19,15 +22,30 @@ export class MessagingGmailFetchMessagesByBatchesService { constructor( private readonly fetchByBatchesService: MessagingFetchByBatchesService, + @InjectObjectMetadataRepository(ConnectedAccountWorkspaceEntity) + private readonly connectedAccountRepository: ConnectedAccountRepository, ) {} async fetchAllMessages( queries: MessageQuery[], - accessToken: string, - workspaceId: string, connectedAccountId: string, + workspaceId: string, ): Promise { let startTime = Date.now(); + + const connectedAccount = await this.connectedAccountRepository.getById( + connectedAccountId, + workspaceId, + ); + + if (!connectedAccount) { + throw new Error( + `Connected account ${connectedAccountId} not found in workspace ${workspaceId}`, + ); + } + + const accessToken = connectedAccount.accessToken; + const batchResponses = await this.fetchByBatchesService.fetchAllByBatches( queries, accessToken, diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/messaging-gmail-messages-import.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/messaging-gmail-messages-import.service.ts index 73a9d485d..46a0a4c28 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/messaging-gmail-messages-import.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/messaging-gmail-messages-import.service.ts @@ -101,9 +101,8 @@ export class MessagingGmailMessagesImportService { const allMessages = await this.fetchMessagesByBatchesService.fetchAllMessages( messageQueries, - connectedAccount.accessToken, - workspaceId, connectedAccount.id, + workspaceId, ); const blocklist = await this.blocklistRepository.getByWorkspaceMemberId(