File size: 1,098 Bytes
d9494a5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { type MessageChannelEntity } from 'src/engine/metadata-modules/message-channel/entities/message-channel.entity';
import { type ConnectedAccountEntity } from 'src/engine/metadata-modules/connected-account/entities/connected-account.entity';
import { type MessageFolderEntity } from 'src/engine/metadata-modules/message-folder/entities/message-folder.entity';

export type DiscoveredMessageFolder = Pick<
  MessageFolderEntity,
  'name' | 'isSynced' | 'isSentFolder' | 'externalId' | 'parentFolderId'
>;

export type MessageFolder = Pick<
  MessageFolderEntity,
  | 'name'
  | 'isSynced'
  | 'isSentFolder'
  | 'externalId'
  | 'parentFolderId'
  | 'id'
  | 'syncCursor'
  | 'pendingSyncAction'
>;

export type MessageFolderDriver = {
  getAllMessageFolders(
    connectedAccount: Pick<
      ConnectedAccountEntity,
      | 'provider'
      | 'accessToken'
      | 'refreshToken'
      | 'id'
      | 'handle'
      | 'connectionParameters'
      | 'workspaceId'
    >,
    messageChannel: Pick<MessageChannelEntity, 'messageFolderImportPolicy'>,
  ): Promise<DiscoveredMessageFolder[]>;
};