Skip to content

Commit 709bdc7

Browse files
authored
Add child folders support for Microsoft (#15114)
1 parent 4e3c378 commit 709bdc7

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

packages/twenty-front/src/modules/settings/accounts/components/message-folders/SettingsAccountsMessageFoldersCard.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { type MessageChannel } from '@/accounts/types/MessageChannel';
22
import { type MessageFolder } from '@/accounts/types/MessageFolder';
33
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
4+
import { useGenerateDepthRecordGqlFieldsFromObject } from '@/object-record/graphql/record-gql-fields/hooks/useGenerateDepthRecordGqlFieldsFromObject';
45
import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord';
56
import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord';
67
import { SettingsMessageFoldersEmptyStateCard } from '@/settings/accounts/components/message-folders/SettingsMessageFoldersEmptyStateCard';
@@ -66,9 +67,16 @@ export const SettingsAccountsMessageFoldersCard = () => {
6667
objectNameSingular: CoreObjectNameSingular.MessageFolder,
6768
});
6869

70+
const { recordGqlFields } = useGenerateDepthRecordGqlFieldsFromObject({
71+
objectNameSingular: CoreObjectNameSingular.MessageChannel,
72+
depth: 1,
73+
shouldOnlyLoadRelationIdentifiers: false,
74+
});
75+
6976
const { record: messageChannel } = useFindOneRecord<MessageChannel>({
7077
objectNameSingular: CoreObjectNameSingular.MessageChannel,
7178
objectRecordId: settingsAccountsSelectedMessageChannel?.id,
79+
recordGqlFields,
7280
});
7381

7482
const { messageFolders = [] } = messageChannel ?? {};

packages/twenty-server/src/modules/messaging/message-folder-manager/drivers/microsoft/microsoft-get-all-folders.service.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ import { getStandardFolderByRegex } from 'src/modules/messaging/message-import-m
1414
type MicrosoftGraphFolder = {
1515
id: string;
1616
displayName: string;
17+
childFolderCount?: number;
18+
parentFolderId?: string;
1719
};
1820

21+
const MESSAGING_MICROSOFT_MAIL_FOLDERS_LIST_MAX_RESULT = 999;
22+
1923
@Injectable()
2024
export class MicrosoftGetAllFoldersService implements MessageFolderDriver {
2125
private readonly logger = new Logger(MicrosoftGetAllFoldersService.name);
@@ -37,6 +41,8 @@ export class MicrosoftGetAllFoldersService implements MessageFolderDriver {
3741

3842
const response = await microsoftClient
3943
.api('/me/mailFolders')
44+
.version('beta')
45+
.top(MESSAGING_MICROSOFT_MAIL_FOLDERS_LIST_MAX_RESULT)
4046
.get()
4147
.catch((error) => {
4248
this.logger.error(

0 commit comments

Comments
 (0)