messaging post migration cleanup (#19365)
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
+2
-2
@@ -331,7 +331,7 @@ describe('SyncMessageFoldersService', () => {
|
||||
id: 'folder-1',
|
||||
externalId: 'child-ext',
|
||||
name: 'Projects',
|
||||
parentFolderId: 'old-parent-uuid',
|
||||
parentFolderId: 'old-parent-ext',
|
||||
});
|
||||
const discoveredFolders = [
|
||||
createMockDiscoveredFolder({
|
||||
@@ -360,7 +360,7 @@ describe('SyncMessageFoldersService', () => {
|
||||
expect(mockMessageFolderRepository.update).toHaveBeenCalledWith(
|
||||
{ id: 'folder-1', messageChannelId: 'channel-123', workspaceId },
|
||||
expect.objectContaining({
|
||||
parentFolderId: 'new-parent-uuid',
|
||||
parentFolderId: 'new-parent-id',
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
-7
@@ -115,12 +115,6 @@ export class SyncMessageFoldersService {
|
||||
messageChannelId: string,
|
||||
workspaceId: string,
|
||||
): Promise<MessageFolder[]> {
|
||||
const externalIdToUuidMap = new Map(
|
||||
existingFolders
|
||||
.filter((folder) => isDefined(folder.externalId))
|
||||
.map((folder) => [folder.externalId as string, folder.id]),
|
||||
);
|
||||
|
||||
const foldersToCreate = computeFoldersToCreate({
|
||||
discoveredFolders,
|
||||
existingFolders,
|
||||
@@ -130,7 +124,6 @@ export class SyncMessageFoldersService {
|
||||
const foldersToUpdate = computeFoldersToUpdate({
|
||||
discoveredFolders,
|
||||
existingFolders,
|
||||
externalIdToUuidMap,
|
||||
});
|
||||
|
||||
const folderIdsToDelete = computeFolderIdsToDelete({
|
||||
|
||||
+2
-14
@@ -2,8 +2,6 @@ import { MessageFolderPendingSyncAction } from 'twenty-shared/types';
|
||||
import { computeFoldersToUpdate } from 'src/modules/messaging/message-folder-manager/utils/compute-folders-to-update.util';
|
||||
|
||||
describe('computeFoldersToUpdate', () => {
|
||||
const emptyMap = new Map<string, string>();
|
||||
|
||||
it('should detect folder rename from provider', () => {
|
||||
const discoveredFolders = [
|
||||
{
|
||||
@@ -31,15 +29,12 @@ describe('computeFoldersToUpdate', () => {
|
||||
const result = computeFoldersToUpdate({
|
||||
discoveredFolders,
|
||||
existingFolders,
|
||||
externalIdToUuidMap: emptyMap,
|
||||
});
|
||||
|
||||
expect(result.get('folder-id')?.name).toBe('Work Emails');
|
||||
});
|
||||
|
||||
it('should detect folder moved to different parent', () => {
|
||||
const existingParentUuid = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee';
|
||||
|
||||
const discoveredFolders = [
|
||||
{
|
||||
name: 'Subfolder',
|
||||
@@ -57,23 +52,18 @@ describe('computeFoldersToUpdate', () => {
|
||||
externalId: 'sub-1',
|
||||
isSynced: true,
|
||||
isSentFolder: false,
|
||||
parentFolderId: 'old-parent-uuid',
|
||||
parentFolderId: 'old-parent-ext',
|
||||
syncCursor: 'cursor',
|
||||
pendingSyncAction: MessageFolderPendingSyncAction.NONE,
|
||||
},
|
||||
];
|
||||
|
||||
const externalIdToUuidMap = new Map([
|
||||
['new-parent-ext', existingParentUuid],
|
||||
]);
|
||||
|
||||
const result = computeFoldersToUpdate({
|
||||
discoveredFolders,
|
||||
existingFolders,
|
||||
externalIdToUuidMap,
|
||||
});
|
||||
|
||||
expect(result.get('folder-id')?.parentFolderId).toBe(existingParentUuid);
|
||||
expect(result.get('folder-id')?.parentFolderId).toBe('new-parent-ext');
|
||||
});
|
||||
|
||||
it('should not flag unchanged folders for update', () => {
|
||||
@@ -98,7 +88,6 @@ describe('computeFoldersToUpdate', () => {
|
||||
const result = computeFoldersToUpdate({
|
||||
discoveredFolders,
|
||||
existingFolders,
|
||||
externalIdToUuidMap: emptyMap,
|
||||
});
|
||||
|
||||
expect(result.size).toBe(0);
|
||||
@@ -131,7 +120,6 @@ describe('computeFoldersToUpdate', () => {
|
||||
const result = computeFoldersToUpdate({
|
||||
discoveredFolders,
|
||||
existingFolders,
|
||||
externalIdToUuidMap: emptyMap,
|
||||
});
|
||||
|
||||
expect(result.size).toBe(0);
|
||||
|
||||
+3
-7
@@ -11,11 +11,9 @@ import { type MessageFolderEntity } from 'src/engine/metadata-modules/message-fo
|
||||
export const computeFoldersToUpdate = ({
|
||||
discoveredFolders,
|
||||
existingFolders,
|
||||
externalIdToUuidMap,
|
||||
}: {
|
||||
discoveredFolders: DiscoveredMessageFolder[];
|
||||
existingFolders: MessageFolder[];
|
||||
externalIdToUuidMap: Map<string, string>;
|
||||
}): Map<string, Partial<MessageFolderEntity>> => {
|
||||
const existingFoldersByExternalId = new Map(
|
||||
existingFolders.map((folder) => [folder.externalId, folder]),
|
||||
@@ -32,16 +30,14 @@ export const computeFoldersToUpdate = ({
|
||||
continue;
|
||||
}
|
||||
|
||||
const resolvedParentFolderId = isNonEmptyString(
|
||||
discoveredFolder.parentFolderId,
|
||||
)
|
||||
? (externalIdToUuidMap.get(discoveredFolder.parentFolderId) ?? null)
|
||||
const parentFolderId = isNonEmptyString(discoveredFolder.parentFolderId)
|
||||
? discoveredFolder.parentFolderId
|
||||
: null;
|
||||
|
||||
const discoveredFolderData = {
|
||||
name: discoveredFolder.name,
|
||||
isSentFolder: discoveredFolder.isSentFolder,
|
||||
parentFolderId: resolvedParentFolderId,
|
||||
parentFolderId,
|
||||
};
|
||||
|
||||
const existingFolderData = {
|
||||
|
||||
Reference in New Issue
Block a user