diff --git a/packages/twenty-front/src/modules/settings/accounts/components/message-folders/SettingsAccountsMessageFoldersCard.tsx b/packages/twenty-front/src/modules/settings/accounts/components/message-folders/SettingsAccountsMessageFoldersCard.tsx index a23c0295e8..ae5fe0506d 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/message-folders/SettingsAccountsMessageFoldersCard.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/message-folders/SettingsAccountsMessageFoldersCard.tsx @@ -1,6 +1,7 @@ import { type MessageChannel } from '@/accounts/types/MessageChannel'; import { type MessageFolder } from '@/accounts/types/MessageFolder'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; +import { useGenerateDepthRecordGqlFieldsFromObject } from '@/object-record/graphql/record-gql-fields/hooks/useGenerateDepthRecordGqlFieldsFromObject'; import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { SettingsMessageFoldersEmptyStateCard } from '@/settings/accounts/components/message-folders/SettingsMessageFoldersEmptyStateCard'; @@ -66,9 +67,16 @@ export const SettingsAccountsMessageFoldersCard = () => { objectNameSingular: CoreObjectNameSingular.MessageFolder, }); + const { recordGqlFields } = useGenerateDepthRecordGqlFieldsFromObject({ + objectNameSingular: CoreObjectNameSingular.MessageChannel, + depth: 1, + shouldOnlyLoadRelationIdentifiers: false, + }); + const { record: messageChannel } = useFindOneRecord({ objectNameSingular: CoreObjectNameSingular.MessageChannel, objectRecordId: settingsAccountsSelectedMessageChannel?.id, + recordGqlFields, }); const { messageFolders = [] } = messageChannel ?? {}; diff --git a/packages/twenty-server/src/modules/messaging/message-folder-manager/drivers/microsoft/microsoft-get-all-folders.service.ts b/packages/twenty-server/src/modules/messaging/message-folder-manager/drivers/microsoft/microsoft-get-all-folders.service.ts index cbc0062a48..de3f3e2aee 100644 --- a/packages/twenty-server/src/modules/messaging/message-folder-manager/drivers/microsoft/microsoft-get-all-folders.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-folder-manager/drivers/microsoft/microsoft-get-all-folders.service.ts @@ -14,8 +14,12 @@ import { getStandardFolderByRegex } from 'src/modules/messaging/message-import-m type MicrosoftGraphFolder = { id: string; displayName: string; + childFolderCount?: number; + parentFolderId?: string; }; +const MESSAGING_MICROSOFT_MAIL_FOLDERS_LIST_MAX_RESULT = 999; + @Injectable() export class MicrosoftGetAllFoldersService implements MessageFolderDriver { private readonly logger = new Logger(MicrosoftGetAllFoldersService.name); @@ -37,6 +41,8 @@ export class MicrosoftGetAllFoldersService implements MessageFolderDriver { const response = await microsoftClient .api('/me/mailFolders') + .version('beta') + .top(MESSAGING_MICROSOFT_MAIL_FOLDERS_LIST_MAX_RESULT) .get() .catch((error) => { this.logger.error(