fix folder actions (#16344)

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
neo773
2025-12-05 20:49:50 +05:30
committed by GitHub
parent de4e78e5b2
commit fee3e6b7a1
2 changed files with 12 additions and 14 deletions
@@ -2,10 +2,7 @@ import { Injectable } from '@nestjs/common';
import { ConnectedAccountProvider } from 'twenty-shared/types';
import {
MessageFolderImportPolicy,
type MessageChannelWorkspaceEntity,
} from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity';
import { type 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 {
MessageImportDriverException,
@@ -33,30 +30,24 @@ export class MessagingGetMessageListService {
messageChannel: MessageChannelWorkspaceEntity,
messageFolders: MessageFolder[],
): Promise<GetMessageListsResponse> {
const messageFoldersToSync: MessageFolder[] =
messageChannel.messageFolderImportPolicy ===
MessageFolderImportPolicy.ALL_FOLDERS
? messageFolders
: messageFolders.filter((folder) => folder.isSynced);
switch (messageChannel.connectedAccount.provider) {
case ConnectedAccountProvider.GOOGLE:
return await this.gmailGetMessageListService.getMessageLists({
messageChannel,
connectedAccount: messageChannel.connectedAccount,
messageFolders: messageFoldersToSync,
messageFolders,
});
case ConnectedAccountProvider.MICROSOFT:
return this.microsoftGetMessageListService.getMessageLists({
messageChannel,
connectedAccount: messageChannel.connectedAccount,
messageFolders: messageFoldersToSync,
messageFolders,
});
case ConnectedAccountProvider.IMAP_SMTP_CALDAV: {
return await this.imapGetMessageListService.getMessageLists({
messageChannel,
connectedAccount: messageChannel.connectedAccount,
messageFolders: messageFoldersToSync,
messageFolders,
});
}
default:
@@ -15,6 +15,7 @@ import {
MessageChannelPendingGroupEmailsAction,
MessageChannelSyncStage,
MessageChannelWorkspaceEntity,
MessageFolderImportPolicy,
} from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity';
import {
MessageFolderPendingSyncAction,
@@ -135,10 +136,16 @@ export class MessagingMessageListFetchService {
},
});
const messageFoldersToSync =
messageChannelWithFreshTokens.messageFolderImportPolicy ===
MessageFolderImportPolicy.ALL_FOLDERS
? messageFolders
: messageFolders.filter((folder) => folder.isSynced);
const messageLists =
await this.messagingGetMessageListService.getMessageLists(
messageChannelWithFreshTokens,
messageFolders,
messageFoldersToSync,
);
await this.cacheStorage.del(