From 7f1814805deb332ff69a42370cbcba9b07812d5e Mon Sep 17 00:00:00 2001 From: Baptiste Devessier Date: Fri, 27 Mar 2026 16:56:30 +0100 Subject: [PATCH] Fix backfill record page layout command (#19043) Co-authored-by: Charles Bochet --- ...s-and-fields-widget-view-fields.command.ts | 11 + .../standard-page-layout.constant.ts | 35 +- ...adata-related-entity-ids.util.spec.ts.snap | 448 +++++---- ...adata-related-entity-ids.util.spec.ts.snap | 847 ++++++++++++------ ...w-run-standard-flat-field-metadata.util.ts | 34 - .../utils/page-layout-config/index.ts | 23 +- .../standard-blocklist-page-layout.config.ts | 43 + ...el-event-association-page-layout.config.ts | 44 + ...ard-calendar-channel-page-layout.config.ts | 44 + ...ar-event-participant-page-layout.config.ts | 44 + ...rd-connected-account-page-layout.config.ts | 44 + ...dard-favorite-folder-page-layout.config.ts | 44 + .../standard-favorite-page-layout.config.ts | 43 + ...ation-message-folder-page-layout.config.ts | 46 + ...-message-association-page-layout.config.ts | 44 + ...dard-message-channel-page-layout.config.ts | 44 + ...ndard-message-folder-page-layout.config.ts | 43 + ...-message-participant-page-layout.config.ts | 44 + ...ow-automated-trigger-page-layout.config.ts | 44 + ...t-page-layout-widget-metadata-maps.util.ts | 22 +- ...-standard-workflow-run-view-fields.util.ts | 32 +- .../constants/standard-object.constant.ts | 8 - 22 files changed, 1433 insertions(+), 598 deletions(-) create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-blocklist-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-channel-event-association-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-channel-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-event-participant-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-connected-account-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-favorite-folder-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-favorite-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-message-association-message-folder-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-message-association-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-folder-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-participant-page-layout.config.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-workflow-automated-trigger-page-layout.config.ts diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-20/1-20-backfill-page-layouts-and-fields-widget-view-fields.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-20/1-20-backfill-page-layouts-and-fields-widget-view-fields.command.ts index 5df704676e..4e81cf7895 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-20/1-20-backfill-page-layouts-and-fields-widget-view-fields.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/1-20/1-20-backfill-page-layouts-and-fields-widget-view-fields.command.ts @@ -229,6 +229,7 @@ export class BackfillPageLayoutsAndFieldsWidgetViewFieldsCommand extends ActiveO ); const { + flatFieldMetadataMaps: existingFlatFieldMetadataMaps, flatPageLayoutMaps: existingFlatPageLayoutMaps, flatPageLayoutTabMaps: existingFlatPageLayoutTabMaps, flatPageLayoutWidgetMaps: existingFlatPageLayoutWidgetMaps, @@ -236,6 +237,7 @@ export class BackfillPageLayoutsAndFieldsWidgetViewFieldsCommand extends ActiveO flatViewFieldMaps: existingFlatViewFieldMaps, flatViewFieldGroupMaps: existingFlatViewFieldGroupMaps, } = await this.workspaceCacheService.getOrRecompute(workspaceId, [ + 'flatFieldMetadataMaps', 'flatPageLayoutMaps', 'flatPageLayoutTabMaps', 'flatPageLayoutWidgetMaps', @@ -320,6 +322,15 @@ export class BackfillPageLayoutsAndFieldsWidgetViewFieldsCommand extends ActiveO allStandardFieldsWidgetViewUniversalIds.has( viewField.viewUniversalIdentifier, ), + ) + // Skip viewFields whose referenced fieldMetadata doesn't exist in the workspace yet + // (e.g. fields added to the standard definition but not yet synced to this workspace) + .filter((viewField) => + isDefined( + existingFlatFieldMetadataMaps.byUniversalIdentifier[ + viewField.fieldMetadataUniversalIdentifier + ], + ), ); // Same delete-and-recreate approach for viewFieldGroups diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout.constant.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout.constant.ts index 1343895d46..faa3d2e4f9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout.constant.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout.constant.ts @@ -1,10 +1,23 @@ import { + STANDARD_BLOCKLIST_PAGE_LAYOUT_CONFIG, + STANDARD_CALENDAR_CHANNEL_EVENT_ASSOCIATION_PAGE_LAYOUT_CONFIG, + STANDARD_CALENDAR_CHANNEL_PAGE_LAYOUT_CONFIG, + STANDARD_CALENDAR_EVENT_PARTICIPANT_PAGE_LAYOUT_CONFIG, STANDARD_COMPANY_PAGE_LAYOUT_CONFIG, + STANDARD_CONNECTED_ACCOUNT_PAGE_LAYOUT_CONFIG, STANDARD_DASHBOARD_PAGE_LAYOUT_CONFIG, + STANDARD_FAVORITE_FOLDER_PAGE_LAYOUT_CONFIG, + STANDARD_FAVORITE_PAGE_LAYOUT_CONFIG, + STANDARD_MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_MESSAGE_FOLDER_PAGE_LAYOUT_CONFIG, + STANDARD_MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_PAGE_LAYOUT_CONFIG, + STANDARD_MESSAGE_CHANNEL_PAGE_LAYOUT_CONFIG, + STANDARD_MESSAGE_FOLDER_PAGE_LAYOUT_CONFIG, + STANDARD_MESSAGE_PARTICIPANT_PAGE_LAYOUT_CONFIG, STANDARD_NOTE_PAGE_LAYOUT_CONFIG, STANDARD_OPPORTUNITY_PAGE_LAYOUT_CONFIG, STANDARD_PERSON_PAGE_LAYOUT_CONFIG, STANDARD_TASK_PAGE_LAYOUT_CONFIG, + STANDARD_WORKFLOW_AUTOMATED_TRIGGER_PAGE_LAYOUT_CONFIG, STANDARD_WORKFLOW_PAGE_LAYOUT_CONFIG, STANDARD_WORKFLOW_RUN_PAGE_LAYOUT_CONFIG, STANDARD_WORKFLOW_VERSION_PAGE_LAYOUT_CONFIG, @@ -13,12 +26,30 @@ import { type StandardRecordPageLayouts } from 'src/engine/workspace-manager/twe export const STANDARD_PAGE_LAYOUTS = { myFirstDashboard: STANDARD_DASHBOARD_PAGE_LAYOUT_CONFIG, + blocklistRecordPage: STANDARD_BLOCKLIST_PAGE_LAYOUT_CONFIG, + calendarChannelRecordPage: STANDARD_CALENDAR_CHANNEL_PAGE_LAYOUT_CONFIG, + calendarChannelEventAssociationRecordPage: + STANDARD_CALENDAR_CHANNEL_EVENT_ASSOCIATION_PAGE_LAYOUT_CONFIG, + calendarEventParticipantRecordPage: + STANDARD_CALENDAR_EVENT_PARTICIPANT_PAGE_LAYOUT_CONFIG, companyRecordPage: STANDARD_COMPANY_PAGE_LAYOUT_CONFIG, - personRecordPage: STANDARD_PERSON_PAGE_LAYOUT_CONFIG, - opportunityRecordPage: STANDARD_OPPORTUNITY_PAGE_LAYOUT_CONFIG, + connectedAccountRecordPage: STANDARD_CONNECTED_ACCOUNT_PAGE_LAYOUT_CONFIG, + favoriteRecordPage: STANDARD_FAVORITE_PAGE_LAYOUT_CONFIG, + favoriteFolderRecordPage: STANDARD_FAVORITE_FOLDER_PAGE_LAYOUT_CONFIG, + messageChannelRecordPage: STANDARD_MESSAGE_CHANNEL_PAGE_LAYOUT_CONFIG, + messageChannelMessageAssociationRecordPage: + STANDARD_MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_PAGE_LAYOUT_CONFIG, + messageChannelMessageAssociationMessageFolderRecordPage: + STANDARD_MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_MESSAGE_FOLDER_PAGE_LAYOUT_CONFIG, + messageFolderRecordPage: STANDARD_MESSAGE_FOLDER_PAGE_LAYOUT_CONFIG, + messageParticipantRecordPage: STANDARD_MESSAGE_PARTICIPANT_PAGE_LAYOUT_CONFIG, noteRecordPage: STANDARD_NOTE_PAGE_LAYOUT_CONFIG, + opportunityRecordPage: STANDARD_OPPORTUNITY_PAGE_LAYOUT_CONFIG, + personRecordPage: STANDARD_PERSON_PAGE_LAYOUT_CONFIG, taskRecordPage: STANDARD_TASK_PAGE_LAYOUT_CONFIG, workflowRecordPage: STANDARD_WORKFLOW_PAGE_LAYOUT_CONFIG, + workflowAutomatedTriggerRecordPage: + STANDARD_WORKFLOW_AUTOMATED_TRIGGER_PAGE_LAYOUT_CONFIG, workflowVersionRecordPage: STANDARD_WORKFLOW_VERSION_PAGE_LAYOUT_CONFIG, workflowRunRecordPage: STANDARD_WORKFLOW_RUN_PAGE_LAYOUT_CONFIG, } as const; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-object-metadata-related-entity-ids.util.spec.ts.snap b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-object-metadata-related-entity-ids.util.spec.ts.snap index e1f7c233e8..fb7c0c4bb9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-object-metadata-related-entity-ids.util.spec.ts.snap +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-object-metadata-related-entity-ids.util.spec.ts.snap @@ -3058,9 +3058,6 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object }, "workflowRun": { "fields": { - "context": { - "id": "00000000-0000-0000-0000-000000000927", - }, "createdAt": { "id": "00000000-0000-0000-0000-000000000913", }, @@ -3077,7 +3074,7 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000919", }, "favorites": { - "id": "00000000-0000-0000-0000-000000000929", + "id": "00000000-0000-0000-0000-000000000927", }, "id": { "id": "00000000-0000-0000-0000-000000000912", @@ -3085,26 +3082,23 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "name": { "id": "00000000-0000-0000-0000-000000000916", }, - "output": { - "id": "00000000-0000-0000-0000-000000000926", - }, "position": { "id": "00000000-0000-0000-0000-000000000923", }, "searchVector": { - "id": "00000000-0000-0000-0000-000000000931", + "id": "00000000-0000-0000-0000-000000000929", }, "startedAt": { "id": "00000000-0000-0000-0000-000000000920", }, "state": { - "id": "00000000-0000-0000-0000-000000000928", + "id": "00000000-0000-0000-0000-000000000926", }, "status": { "id": "00000000-0000-0000-0000-000000000922", }, "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000930", + "id": "00000000-0000-0000-0000-000000000928", }, "updatedAt": { "id": "00000000-0000-0000-0000-000000000914", @@ -3119,91 +3113,85 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "id": "00000000-0000-0000-0000-000000000917", }, }, - "id": "00000000-0000-0000-0000-000000000958", + "id": "00000000-0000-0000-0000-000000000954", "views": { "allWorkflowRuns": { - "id": "00000000-0000-0000-0000-000000000938", + "id": "00000000-0000-0000-0000-000000000936", "viewFieldGroups": {}, "viewFields": { "createdBy": { - "id": "00000000-0000-0000-0000-000000000936", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000932", - }, - "startedAt": { - "id": "00000000-0000-0000-0000-000000000935", - }, - "status": { "id": "00000000-0000-0000-0000-000000000934", }, - "workflow": { + "name": { + "id": "00000000-0000-0000-0000-000000000930", + }, + "startedAt": { "id": "00000000-0000-0000-0000-000000000933", }, + "status": { + "id": "00000000-0000-0000-0000-000000000932", + }, + "workflow": { + "id": "00000000-0000-0000-0000-000000000931", + }, "workflowVersion": { - "id": "00000000-0000-0000-0000-000000000937", + "id": "00000000-0000-0000-0000-000000000935", }, }, "viewGroups": {}, }, "workflowRunRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000957", + "id": "00000000-0000-0000-0000-000000000953", "viewFieldGroups": { "additional": { - "id": "00000000-0000-0000-0000-000000000955", + "id": "00000000-0000-0000-0000-000000000951", }, "general": { - "id": "00000000-0000-0000-0000-000000000954", + "id": "00000000-0000-0000-0000-000000000950", }, "other": { - "id": "00000000-0000-0000-0000-000000000956", + "id": "00000000-0000-0000-0000-000000000952", }, }, "viewFields": { - "context": { - "id": "00000000-0000-0000-0000-000000000948", - }, "createdAt": { - "id": "00000000-0000-0000-0000-000000000944", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000000945", - }, - "endedAt": { - "id": "00000000-0000-0000-0000-000000000943", - }, - "enqueuedAt": { - "id": "00000000-0000-0000-0000-000000000946", - }, - "favorites": { - "id": "00000000-0000-0000-0000-000000000952", - }, - "output": { - "id": "00000000-0000-0000-0000-000000000947", - }, - "startedAt": { "id": "00000000-0000-0000-0000-000000000942", }, - "state": { - "id": "00000000-0000-0000-0000-000000000949", + "createdBy": { + "id": "00000000-0000-0000-0000-000000000943", }, - "status": { - "id": "00000000-0000-0000-0000-000000000939", + "endedAt": { + "id": "00000000-0000-0000-0000-000000000941", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000953", + "enqueuedAt": { + "id": "00000000-0000-0000-0000-000000000944", }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000950", + "favorites": { + "id": "00000000-0000-0000-0000-000000000948", }, - "updatedBy": { - "id": "00000000-0000-0000-0000-000000000951", - }, - "workflow": { + "startedAt": { "id": "00000000-0000-0000-0000-000000000940", }, + "state": { + "id": "00000000-0000-0000-0000-000000000945", + }, + "status": { + "id": "00000000-0000-0000-0000-000000000937", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000949", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000946", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000947", + }, + "workflow": { + "id": "00000000-0000-0000-0000-000000000938", + }, "workflowVersion": { - "id": "00000000-0000-0000-0000-000000000941", + "id": "00000000-0000-0000-0000-000000000939", }, }, "viewGroups": {}, @@ -3213,124 +3201,124 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "workflowVersion": { "fields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000960", + "id": "00000000-0000-0000-0000-000000000956", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000973", - }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000000962", - }, - "favorites": { - "id": "00000000-0000-0000-0000-000000000970", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000959", - }, - "name": { - "id": "00000000-0000-0000-0000-000000000963", - }, - "position": { - "id": "00000000-0000-0000-0000-000000000967", - }, - "runs": { - "id": "00000000-0000-0000-0000-000000000968", - }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000000972", - }, - "status": { - "id": "00000000-0000-0000-0000-000000000966", - }, - "steps": { "id": "00000000-0000-0000-0000-000000000969", }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000971", + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000958", }, - "trigger": { - "id": "00000000-0000-0000-0000-000000000965", + "favorites": { + "id": "00000000-0000-0000-0000-000000000966", }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000961", + "id": { + "id": "00000000-0000-0000-0000-000000000955", }, - "updatedBy": { - "id": "00000000-0000-0000-0000-000000000974", + "name": { + "id": "00000000-0000-0000-0000-000000000959", }, - "workflow": { + "position": { + "id": "00000000-0000-0000-0000-000000000963", + }, + "runs": { "id": "00000000-0000-0000-0000-000000000964", }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000000968", + }, + "status": { + "id": "00000000-0000-0000-0000-000000000962", + }, + "steps": { + "id": "00000000-0000-0000-0000-000000000965", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000000967", + }, + "trigger": { + "id": "00000000-0000-0000-0000-000000000961", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000957", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000000970", + }, + "workflow": { + "id": "00000000-0000-0000-0000-000000000960", + }, }, - "id": "00000000-0000-0000-0000-000000000996", + "id": "00000000-0000-0000-0000-000000000992", "views": { "allWorkflowVersions": { - "id": "00000000-0000-0000-0000-000000000980", + "id": "00000000-0000-0000-0000-000000000976", "viewFieldGroups": {}, "viewFields": { "name": { - "id": "00000000-0000-0000-0000-000000000975", + "id": "00000000-0000-0000-0000-000000000971", }, "runs": { - "id": "00000000-0000-0000-0000-000000000979", + "id": "00000000-0000-0000-0000-000000000975", }, "status": { - "id": "00000000-0000-0000-0000-000000000977", + "id": "00000000-0000-0000-0000-000000000973", }, "updatedAt": { - "id": "00000000-0000-0000-0000-000000000978", + "id": "00000000-0000-0000-0000-000000000974", }, "workflow": { - "id": "00000000-0000-0000-0000-000000000976", + "id": "00000000-0000-0000-0000-000000000972", }, }, "viewGroups": {}, }, "workflowVersionRecordPageFields": { - "id": "00000000-0000-0000-0000-000000000995", + "id": "00000000-0000-0000-0000-000000000991", "viewFieldGroups": { "additional": { - "id": "00000000-0000-0000-0000-000000000993", + "id": "00000000-0000-0000-0000-000000000989", }, "general": { - "id": "00000000-0000-0000-0000-000000000992", + "id": "00000000-0000-0000-0000-000000000988", }, "other": { - "id": "00000000-0000-0000-0000-000000000994", + "id": "00000000-0000-0000-0000-000000000990", }, }, "viewFields": { "createdAt": { - "id": "00000000-0000-0000-0000-000000000984", + "id": "00000000-0000-0000-0000-000000000980", }, "createdBy": { - "id": "00000000-0000-0000-0000-000000000986", + "id": "00000000-0000-0000-0000-000000000982", }, "favorites": { - "id": "00000000-0000-0000-0000-000000000990", + "id": "00000000-0000-0000-0000-000000000986", }, "runs": { - "id": "00000000-0000-0000-0000-000000000989", - }, - "status": { - "id": "00000000-0000-0000-0000-000000000981", - }, - "steps": { "id": "00000000-0000-0000-0000-000000000985", }, + "status": { + "id": "00000000-0000-0000-0000-000000000977", + }, + "steps": { + "id": "00000000-0000-0000-0000-000000000981", + }, "timelineActivities": { - "id": "00000000-0000-0000-0000-000000000991", - }, - "trigger": { - "id": "00000000-0000-0000-0000-000000000983", - }, - "updatedAt": { "id": "00000000-0000-0000-0000-000000000987", }, + "trigger": { + "id": "00000000-0000-0000-0000-000000000979", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000983", + }, "updatedBy": { - "id": "00000000-0000-0000-0000-000000000988", + "id": "00000000-0000-0000-0000-000000000984", }, "workflow": { - "id": "00000000-0000-0000-0000-000000000982", + "id": "00000000-0000-0000-0000-000000000978", }, }, "viewGroups": {}, @@ -3340,129 +3328,129 @@ exports[`getStandardObjectMetadataRelatedEntityIds should return standard object "workspaceMember": { "fields": { "accountOwnerForCompanies": { - "id": "00000000-0000-0000-0000-000000001011", - }, - "assignedTasks": { - "id": "00000000-0000-0000-0000-000000001008", - }, - "avatarUrl": { - "id": "00000000-0000-0000-0000-000000001005", - }, - "blocklist": { - "id": "00000000-0000-0000-0000-000000001014", - }, - "calendarEventParticipants": { - "id": "00000000-0000-0000-0000-000000001015", - }, - "calendarStartDay": { - "id": "00000000-0000-0000-0000-000000001021", - }, - "colorScheme": { - "id": "00000000-0000-0000-0000-000000001003", - }, - "connectedAccounts": { - "id": "00000000-0000-0000-0000-000000001012", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000000998", - }, - "createdBy": { - "id": "00000000-0000-0000-0000-000000001023", - }, - "dateFormat": { - "id": "00000000-0000-0000-0000-000000001018", - }, - "deletedAt": { - "id": "00000000-0000-0000-0000-000000001000", - }, - "favorites": { - "id": "00000000-0000-0000-0000-000000001010", - }, - "id": { - "id": "00000000-0000-0000-0000-000000000997", - }, - "locale": { - "id": "00000000-0000-0000-0000-000000001004", - }, - "messageParticipants": { - "id": "00000000-0000-0000-0000-000000001013", - }, - "name": { - "id": "00000000-0000-0000-0000-000000001002", - }, - "numberFormat": { - "id": "00000000-0000-0000-0000-000000001022", - }, - "ownedOpportunities": { - "id": "00000000-0000-0000-0000-000000001009", - }, - "position": { - "id": "00000000-0000-0000-0000-000000001001", - }, - "searchVector": { - "id": "00000000-0000-0000-0000-000000001020", - }, - "timeFormat": { - "id": "00000000-0000-0000-0000-000000001019", - }, - "timeZone": { - "id": "00000000-0000-0000-0000-000000001017", - }, - "timelineActivities": { - "id": "00000000-0000-0000-0000-000000001016", - }, - "updatedAt": { - "id": "00000000-0000-0000-0000-000000000999", - }, - "updatedBy": { - "id": "00000000-0000-0000-0000-000000001024", - }, - "userEmail": { - "id": "00000000-0000-0000-0000-000000001006", - }, - "userId": { "id": "00000000-0000-0000-0000-000000001007", }, + "assignedTasks": { + "id": "00000000-0000-0000-0000-000000001004", + }, + "avatarUrl": { + "id": "00000000-0000-0000-0000-000000001001", + }, + "blocklist": { + "id": "00000000-0000-0000-0000-000000001010", + }, + "calendarEventParticipants": { + "id": "00000000-0000-0000-0000-000000001011", + }, + "calendarStartDay": { + "id": "00000000-0000-0000-0000-000000001017", + }, + "colorScheme": { + "id": "00000000-0000-0000-0000-000000000999", + }, + "connectedAccounts": { + "id": "00000000-0000-0000-0000-000000001008", + }, + "createdAt": { + "id": "00000000-0000-0000-0000-000000000994", + }, + "createdBy": { + "id": "00000000-0000-0000-0000-000000001019", + }, + "dateFormat": { + "id": "00000000-0000-0000-0000-000000001014", + }, + "deletedAt": { + "id": "00000000-0000-0000-0000-000000000996", + }, + "favorites": { + "id": "00000000-0000-0000-0000-000000001006", + }, + "id": { + "id": "00000000-0000-0000-0000-000000000993", + }, + "locale": { + "id": "00000000-0000-0000-0000-000000001000", + }, + "messageParticipants": { + "id": "00000000-0000-0000-0000-000000001009", + }, + "name": { + "id": "00000000-0000-0000-0000-000000000998", + }, + "numberFormat": { + "id": "00000000-0000-0000-0000-000000001018", + }, + "ownedOpportunities": { + "id": "00000000-0000-0000-0000-000000001005", + }, + "position": { + "id": "00000000-0000-0000-0000-000000000997", + }, + "searchVector": { + "id": "00000000-0000-0000-0000-000000001016", + }, + "timeFormat": { + "id": "00000000-0000-0000-0000-000000001015", + }, + "timeZone": { + "id": "00000000-0000-0000-0000-000000001013", + }, + "timelineActivities": { + "id": "00000000-0000-0000-0000-000000001012", + }, + "updatedAt": { + "id": "00000000-0000-0000-0000-000000000995", + }, + "updatedBy": { + "id": "00000000-0000-0000-0000-000000001020", + }, + "userEmail": { + "id": "00000000-0000-0000-0000-000000001002", + }, + "userId": { + "id": "00000000-0000-0000-0000-000000001003", + }, }, - "id": "00000000-0000-0000-0000-000000001037", + "id": "00000000-0000-0000-0000-000000001033", "views": { "allWorkspaceMembers": { - "id": "00000000-0000-0000-0000-000000001036", + "id": "00000000-0000-0000-0000-000000001032", "viewFieldGroups": {}, "viewFields": { "assignedTasks": { - "id": "00000000-0000-0000-0000-000000001035", - }, - "avatarUrl": { - "id": "00000000-0000-0000-0000-000000001027", - }, - "colorScheme": { - "id": "00000000-0000-0000-0000-000000001028", - }, - "createdAt": { - "id": "00000000-0000-0000-0000-000000001033", - }, - "dateFormat": { "id": "00000000-0000-0000-0000-000000001031", }, - "locale": { + "avatarUrl": { + "id": "00000000-0000-0000-0000-000000001023", + }, + "colorScheme": { + "id": "00000000-0000-0000-0000-000000001024", + }, + "createdAt": { "id": "00000000-0000-0000-0000-000000001029", }, - "name": { + "dateFormat": { + "id": "00000000-0000-0000-0000-000000001027", + }, + "locale": { "id": "00000000-0000-0000-0000-000000001025", }, + "name": { + "id": "00000000-0000-0000-0000-000000001021", + }, "ownedOpportunities": { - "id": "00000000-0000-0000-0000-000000001034", - }, - "timeFormat": { - "id": "00000000-0000-0000-0000-000000001032", - }, - "timeZone": { "id": "00000000-0000-0000-0000-000000001030", }, - "userEmail": { + "timeFormat": { + "id": "00000000-0000-0000-0000-000000001028", + }, + "timeZone": { "id": "00000000-0000-0000-0000-000000001026", }, + "userEmail": { + "id": "00000000-0000-0000-0000-000000001022", + }, }, "viewGroups": {}, }, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-page-layout-metadata-related-entity-ids.util.spec.ts.snap b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-page-layout-metadata-related-entity-ids.util.spec.ts.snap index a9e5c681ab..f785fab84f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-page-layout-metadata-related-entity-ids.util.spec.ts.snap +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/__tests__/__snapshots__/get-standard-page-layout-metadata-related-entity-ids.util.spec.ts.snap @@ -2,68 +2,320 @@ exports[`getStandardPageLayoutMetadataRelatedEntityIds should return standard page layout metadata related entity ids 1`] = ` { - "companyRecordPage": { + "blocklistRecordPage": { "id": "00000000-0000-0000-0000-000000000011", "tabs": { - "calendar": { - "id": "00000000-0000-0000-0000-000000000026", - "widgets": { - "calendar": { - "id": "00000000-0000-0000-0000-000000000027", - }, - }, - }, - "emails": { - "id": "00000000-0000-0000-0000-000000000024", - "widgets": { - "emails": { - "id": "00000000-0000-0000-0000-000000000025", - }, - }, - }, - "files": { - "id": "00000000-0000-0000-0000-000000000022", - "widgets": { - "files": { - "id": "00000000-0000-0000-0000-000000000023", - }, - }, - }, "home": { "id": "00000000-0000-0000-0000-000000000012", "widgets": { "fields": { "id": "00000000-0000-0000-0000-000000000013", }, - "opportunities": { + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000014", + "widgets": { + "timeline": { "id": "00000000-0000-0000-0000-000000000015", }, - "people": { - "id": "00000000-0000-0000-0000-000000000014", - }, }, }, - "notes": { - "id": "00000000-0000-0000-0000-000000000020", + }, + }, + "calendarChannelEventAssociationRecordPage": { + "id": "00000000-0000-0000-0000-000000000021", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000022", "widgets": { - "notes": { - "id": "00000000-0000-0000-0000-000000000021", - }, - }, - }, - "tasks": { - "id": "00000000-0000-0000-0000-000000000018", - "widgets": { - "tasks": { - "id": "00000000-0000-0000-0000-000000000019", + "fields": { + "id": "00000000-0000-0000-0000-000000000023", }, }, }, "timeline": { - "id": "00000000-0000-0000-0000-000000000016", + "id": "00000000-0000-0000-0000-000000000024", "widgets": { "timeline": { - "id": "00000000-0000-0000-0000-000000000017", + "id": "00000000-0000-0000-0000-000000000025", + }, + }, + }, + }, + }, + "calendarChannelRecordPage": { + "id": "00000000-0000-0000-0000-000000000016", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000017", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000018", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000019", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000020", + }, + }, + }, + }, + }, + "calendarEventParticipantRecordPage": { + "id": "00000000-0000-0000-0000-000000000026", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000027", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000028", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000029", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000030", + }, + }, + }, + }, + }, + "companyRecordPage": { + "id": "00000000-0000-0000-0000-000000000031", + "tabs": { + "calendar": { + "id": "00000000-0000-0000-0000-000000000046", + "widgets": { + "calendar": { + "id": "00000000-0000-0000-0000-000000000047", + }, + }, + }, + "emails": { + "id": "00000000-0000-0000-0000-000000000044", + "widgets": { + "emails": { + "id": "00000000-0000-0000-0000-000000000045", + }, + }, + }, + "files": { + "id": "00000000-0000-0000-0000-000000000042", + "widgets": { + "files": { + "id": "00000000-0000-0000-0000-000000000043", + }, + }, + }, + "home": { + "id": "00000000-0000-0000-0000-000000000032", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000033", + }, + "opportunities": { + "id": "00000000-0000-0000-0000-000000000035", + }, + "people": { + "id": "00000000-0000-0000-0000-000000000034", + }, + }, + }, + "notes": { + "id": "00000000-0000-0000-0000-000000000040", + "widgets": { + "notes": { + "id": "00000000-0000-0000-0000-000000000041", + }, + }, + }, + "tasks": { + "id": "00000000-0000-0000-0000-000000000038", + "widgets": { + "tasks": { + "id": "00000000-0000-0000-0000-000000000039", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000036", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000037", + }, + }, + }, + }, + }, + "connectedAccountRecordPage": { + "id": "00000000-0000-0000-0000-000000000048", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000049", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000050", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000051", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000052", + }, + }, + }, + }, + }, + "favoriteFolderRecordPage": { + "id": "00000000-0000-0000-0000-000000000058", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000059", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000060", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000061", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000062", + }, + }, + }, + }, + }, + "favoriteRecordPage": { + "id": "00000000-0000-0000-0000-000000000053", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000054", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000055", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000056", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000057", + }, + }, + }, + }, + }, + "messageChannelMessageAssociationMessageFolderRecordPage": { + "id": "00000000-0000-0000-0000-000000000073", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000074", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000075", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000076", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000077", + }, + }, + }, + }, + }, + "messageChannelMessageAssociationRecordPage": { + "id": "00000000-0000-0000-0000-000000000068", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000069", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000070", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000071", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000072", + }, + }, + }, + }, + }, + "messageChannelRecordPage": { + "id": "00000000-0000-0000-0000-000000000063", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000064", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000065", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000066", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000067", + }, + }, + }, + }, + }, + "messageFolderRecordPage": { + "id": "00000000-0000-0000-0000-000000000078", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000079", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000080", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000081", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000082", + }, + }, + }, + }, + }, + "messageParticipantRecordPage": { + "id": "00000000-0000-0000-0000-000000000083", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000084", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000085", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000086", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000087", }, }, }, @@ -104,278 +356,299 @@ exports[`getStandardPageLayoutMetadataRelatedEntityIds should return standard pa }, }, "noteRecordPage": { - "id": "00000000-0000-0000-0000-000000000063", + "id": "00000000-0000-0000-0000-000000000088", "tabs": { "files": { - "id": "00000000-0000-0000-0000-000000000071", - "widgets": { - "files": { - "id": "00000000-0000-0000-0000-000000000072", - }, - }, - }, - "home": { - "id": "00000000-0000-0000-0000-000000000064", - "widgets": { - "fields": { - "id": "00000000-0000-0000-0000-000000000065", - }, - "noteRichText": { - "id": "00000000-0000-0000-0000-000000000066", - }, - }, - }, - "note": { - "id": "00000000-0000-0000-0000-000000000067", - "widgets": { - "noteRichText": { - "id": "00000000-0000-0000-0000-000000000068", - }, - }, - }, - "timeline": { - "id": "00000000-0000-0000-0000-000000000069", - "widgets": { - "timeline": { - "id": "00000000-0000-0000-0000-000000000070", - }, - }, - }, - }, - }, - "opportunityRecordPage": { - "id": "00000000-0000-0000-0000-000000000045", - "tabs": { - "calendar": { - "id": "00000000-0000-0000-0000-000000000061", - "widgets": { - "calendar": { - "id": "00000000-0000-0000-0000-000000000062", - }, - }, - }, - "emails": { - "id": "00000000-0000-0000-0000-000000000059", - "widgets": { - "emails": { - "id": "00000000-0000-0000-0000-000000000060", - }, - }, - }, - "files": { - "id": "00000000-0000-0000-0000-000000000057", - "widgets": { - "files": { - "id": "00000000-0000-0000-0000-000000000058", - }, - }, - }, - "home": { - "id": "00000000-0000-0000-0000-000000000046", - "widgets": { - "company": { - "id": "00000000-0000-0000-0000-000000000049", - }, - "fields": { - "id": "00000000-0000-0000-0000-000000000047", - }, - "owner": { - "id": "00000000-0000-0000-0000-000000000050", - }, - "pointOfContact": { - "id": "00000000-0000-0000-0000-000000000048", - }, - }, - }, - "notes": { - "id": "00000000-0000-0000-0000-000000000055", - "widgets": { - "notes": { - "id": "00000000-0000-0000-0000-000000000056", - }, - }, - }, - "tasks": { - "id": "00000000-0000-0000-0000-000000000053", - "widgets": { - "tasks": { - "id": "00000000-0000-0000-0000-000000000054", - }, - }, - }, - "timeline": { - "id": "00000000-0000-0000-0000-000000000051", - "widgets": { - "timeline": { - "id": "00000000-0000-0000-0000-000000000052", - }, - }, - }, - }, - }, - "personRecordPage": { - "id": "00000000-0000-0000-0000-000000000028", - "tabs": { - "calendar": { - "id": "00000000-0000-0000-0000-000000000043", - "widgets": { - "calendar": { - "id": "00000000-0000-0000-0000-000000000044", - }, - }, - }, - "emails": { - "id": "00000000-0000-0000-0000-000000000041", - "widgets": { - "emails": { - "id": "00000000-0000-0000-0000-000000000042", - }, - }, - }, - "files": { - "id": "00000000-0000-0000-0000-000000000039", - "widgets": { - "files": { - "id": "00000000-0000-0000-0000-000000000040", - }, - }, - }, - "home": { - "id": "00000000-0000-0000-0000-000000000029", - "widgets": { - "company": { - "id": "00000000-0000-0000-0000-000000000031", - }, - "fields": { - "id": "00000000-0000-0000-0000-000000000030", - }, - "pointOfContactForOpportunities": { - "id": "00000000-0000-0000-0000-000000000032", - }, - }, - }, - "notes": { - "id": "00000000-0000-0000-0000-000000000037", - "widgets": { - "notes": { - "id": "00000000-0000-0000-0000-000000000038", - }, - }, - }, - "tasks": { - "id": "00000000-0000-0000-0000-000000000035", - "widgets": { - "tasks": { - "id": "00000000-0000-0000-0000-000000000036", - }, - }, - }, - "timeline": { - "id": "00000000-0000-0000-0000-000000000033", - "widgets": { - "timeline": { - "id": "00000000-0000-0000-0000-000000000034", - }, - }, - }, - }, - }, - "taskRecordPage": { - "id": "00000000-0000-0000-0000-000000000073", - "tabs": { - "files": { - "id": "00000000-0000-0000-0000-000000000081", - "widgets": { - "files": { - "id": "00000000-0000-0000-0000-000000000082", - }, - }, - }, - "home": { - "id": "00000000-0000-0000-0000-000000000074", - "widgets": { - "fields": { - "id": "00000000-0000-0000-0000-000000000075", - }, - "taskRichText": { - "id": "00000000-0000-0000-0000-000000000076", - }, - }, - }, - "note": { - "id": "00000000-0000-0000-0000-000000000077", - "widgets": { - "taskRichText": { - "id": "00000000-0000-0000-0000-000000000078", - }, - }, - }, - "timeline": { - "id": "00000000-0000-0000-0000-000000000079", - "widgets": { - "timeline": { - "id": "00000000-0000-0000-0000-000000000080", - }, - }, - }, - }, - }, - "workflowRecordPage": { - "id": "00000000-0000-0000-0000-000000000083", - "tabs": { - "flow": { - "id": "00000000-0000-0000-0000-000000000084", - "widgets": { - "workflow": { - "id": "00000000-0000-0000-0000-000000000085", - }, - }, - }, - }, - }, - "workflowRunRecordPage": { - "id": "00000000-0000-0000-0000-000000000092", - "tabs": { - "flow": { "id": "00000000-0000-0000-0000-000000000096", "widgets": { - "workflowRun": { + "files": { "id": "00000000-0000-0000-0000-000000000097", }, }, }, "home": { - "id": "00000000-0000-0000-0000-000000000093", + "id": "00000000-0000-0000-0000-000000000089", "widgets": { "fields": { - "id": "00000000-0000-0000-0000-000000000094", + "id": "00000000-0000-0000-0000-000000000090", }, - "workflow": { + "noteRichText": { + "id": "00000000-0000-0000-0000-000000000091", + }, + }, + }, + "note": { + "id": "00000000-0000-0000-0000-000000000092", + "widgets": { + "noteRichText": { + "id": "00000000-0000-0000-0000-000000000093", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000094", + "widgets": { + "timeline": { "id": "00000000-0000-0000-0000-000000000095", }, }, }, }, }, - "workflowVersionRecordPage": { - "id": "00000000-0000-0000-0000-000000000086", + "opportunityRecordPage": { + "id": "00000000-0000-0000-0000-000000000098", "tabs": { - "flow": { - "id": "00000000-0000-0000-0000-000000000090", + "calendar": { + "id": "00000000-0000-0000-0000-000000000114", "widgets": { - "workflowVersion": { - "id": "00000000-0000-0000-0000-000000000091", + "calendar": { + "id": "00000000-0000-0000-0000-000000000115", + }, + }, + }, + "emails": { + "id": "00000000-0000-0000-0000-000000000112", + "widgets": { + "emails": { + "id": "00000000-0000-0000-0000-000000000113", + }, + }, + }, + "files": { + "id": "00000000-0000-0000-0000-000000000110", + "widgets": { + "files": { + "id": "00000000-0000-0000-0000-000000000111", }, }, }, "home": { - "id": "00000000-0000-0000-0000-000000000087", + "id": "00000000-0000-0000-0000-000000000099", + "widgets": { + "company": { + "id": "00000000-0000-0000-0000-000000000102", + }, + "fields": { + "id": "00000000-0000-0000-0000-000000000100", + }, + "owner": { + "id": "00000000-0000-0000-0000-000000000103", + }, + "pointOfContact": { + "id": "00000000-0000-0000-0000-000000000101", + }, + }, + }, + "notes": { + "id": "00000000-0000-0000-0000-000000000108", + "widgets": { + "notes": { + "id": "00000000-0000-0000-0000-000000000109", + }, + }, + }, + "tasks": { + "id": "00000000-0000-0000-0000-000000000106", + "widgets": { + "tasks": { + "id": "00000000-0000-0000-0000-000000000107", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000104", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000105", + }, + }, + }, + }, + }, + "personRecordPage": { + "id": "00000000-0000-0000-0000-000000000116", + "tabs": { + "calendar": { + "id": "00000000-0000-0000-0000-000000000131", + "widgets": { + "calendar": { + "id": "00000000-0000-0000-0000-000000000132", + }, + }, + }, + "emails": { + "id": "00000000-0000-0000-0000-000000000129", + "widgets": { + "emails": { + "id": "00000000-0000-0000-0000-000000000130", + }, + }, + }, + "files": { + "id": "00000000-0000-0000-0000-000000000127", + "widgets": { + "files": { + "id": "00000000-0000-0000-0000-000000000128", + }, + }, + }, + "home": { + "id": "00000000-0000-0000-0000-000000000117", + "widgets": { + "company": { + "id": "00000000-0000-0000-0000-000000000119", + }, + "fields": { + "id": "00000000-0000-0000-0000-000000000118", + }, + "pointOfContactForOpportunities": { + "id": "00000000-0000-0000-0000-000000000120", + }, + }, + }, + "notes": { + "id": "00000000-0000-0000-0000-000000000125", + "widgets": { + "notes": { + "id": "00000000-0000-0000-0000-000000000126", + }, + }, + }, + "tasks": { + "id": "00000000-0000-0000-0000-000000000123", + "widgets": { + "tasks": { + "id": "00000000-0000-0000-0000-000000000124", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000121", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000122", + }, + }, + }, + }, + }, + "taskRecordPage": { + "id": "00000000-0000-0000-0000-000000000133", + "tabs": { + "files": { + "id": "00000000-0000-0000-0000-000000000141", + "widgets": { + "files": { + "id": "00000000-0000-0000-0000-000000000142", + }, + }, + }, + "home": { + "id": "00000000-0000-0000-0000-000000000134", "widgets": { "fields": { - "id": "00000000-0000-0000-0000-000000000088", + "id": "00000000-0000-0000-0000-000000000135", + }, + "taskRichText": { + "id": "00000000-0000-0000-0000-000000000136", + }, + }, + }, + "note": { + "id": "00000000-0000-0000-0000-000000000137", + "widgets": { + "taskRichText": { + "id": "00000000-0000-0000-0000-000000000138", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000139", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000140", + }, + }, + }, + }, + }, + "workflowAutomatedTriggerRecordPage": { + "id": "00000000-0000-0000-0000-000000000146", + "tabs": { + "home": { + "id": "00000000-0000-0000-0000-000000000147", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000148", + }, + }, + }, + "timeline": { + "id": "00000000-0000-0000-0000-000000000149", + "widgets": { + "timeline": { + "id": "00000000-0000-0000-0000-000000000150", + }, + }, + }, + }, + }, + "workflowRecordPage": { + "id": "00000000-0000-0000-0000-000000000143", + "tabs": { + "flow": { + "id": "00000000-0000-0000-0000-000000000144", + "widgets": { + "workflow": { + "id": "00000000-0000-0000-0000-000000000145", + }, + }, + }, + }, + }, + "workflowRunRecordPage": { + "id": "00000000-0000-0000-0000-000000000157", + "tabs": { + "flow": { + "id": "00000000-0000-0000-0000-000000000161", + "widgets": { + "workflowRun": { + "id": "00000000-0000-0000-0000-000000000162", + }, + }, + }, + "home": { + "id": "00000000-0000-0000-0000-000000000158", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000159", }, "workflow": { - "id": "00000000-0000-0000-0000-000000000089", + "id": "00000000-0000-0000-0000-000000000160", + }, + }, + }, + }, + }, + "workflowVersionRecordPage": { + "id": "00000000-0000-0000-0000-000000000151", + "tabs": { + "flow": { + "id": "00000000-0000-0000-0000-000000000155", + "widgets": { + "workflowVersion": { + "id": "00000000-0000-0000-0000-000000000156", + }, + }, + }, + "home": { + "id": "00000000-0000-0000-0000-000000000152", + "widgets": { + "fields": { + "id": "00000000-0000-0000-0000-000000000153", + }, + "workflow": { + "id": "00000000-0000-0000-0000-000000000154", }, }, }, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-workflow-run-standard-flat-field-metadata.util.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-workflow-run-standard-flat-field-metadata.util.ts index b7d13cb040..b90d6b847b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-workflow-run-standard-flat-field-metadata.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/field-metadata/compute-workflow-run-standard-flat-field-metadata.util.ts @@ -308,40 +308,6 @@ export const buildWorkflowRunStandardFlatFieldMetadatas = ({ twentyStandardApplicationId, now, }), - context: createStandardFieldFlatMetadata({ - objectName, - workspaceId, - context: { - fieldName: 'context', - type: FieldMetadataType.RAW_JSON, - label: i18nLabel(msg`Context`), - description: i18nLabel(msg`Context of the workflow run`), - icon: 'IconHierarchy2', - isNullable: true, - isUIReadOnly: true, - }, - standardObjectMetadataRelatedEntityIds, - dependencyFlatEntityMaps, - twentyStandardApplicationId, - now, - }), - output: createStandardFieldFlatMetadata({ - objectName, - workspaceId, - context: { - fieldName: 'output', - type: FieldMetadataType.RAW_JSON, - label: i18nLabel(msg`Output`), - description: i18nLabel(msg`Output of the workflow run`), - icon: 'IconHierarchy2', - isNullable: true, - isUIReadOnly: true, - }, - standardObjectMetadataRelatedEntityIds, - dependencyFlatEntityMaps, - twentyStandardApplicationId, - now, - }), position: createStandardFieldFlatMetadata({ objectName, workspaceId, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/index.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/index.ts index 7d1482ff6c..3445cbb23a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/index.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/index.ts @@ -1,12 +1,19 @@ +export { STANDARD_BLOCKLIST_PAGE_LAYOUT_CONFIG } from './standard-blocklist-page-layout.config'; +export { STANDARD_CALENDAR_CHANNEL_EVENT_ASSOCIATION_PAGE_LAYOUT_CONFIG } from './standard-calendar-channel-event-association-page-layout.config'; +export { STANDARD_CALENDAR_CHANNEL_PAGE_LAYOUT_CONFIG } from './standard-calendar-channel-page-layout.config'; +export { STANDARD_CALENDAR_EVENT_PARTICIPANT_PAGE_LAYOUT_CONFIG } from './standard-calendar-event-participant-page-layout.config'; export { STANDARD_COMPANY_PAGE_LAYOUT_CONFIG } from './standard-company-page-layout.config'; +export { STANDARD_CONNECTED_ACCOUNT_PAGE_LAYOUT_CONFIG } from './standard-connected-account-page-layout.config'; export { STANDARD_DASHBOARD_PAGE_LAYOUT_CONFIG } from './standard-dashboard-page-layout.config'; +export { STANDARD_FAVORITE_FOLDER_PAGE_LAYOUT_CONFIG } from './standard-favorite-folder-page-layout.config'; +export { STANDARD_FAVORITE_PAGE_LAYOUT_CONFIG } from './standard-favorite-page-layout.config'; +export { STANDARD_MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_MESSAGE_FOLDER_PAGE_LAYOUT_CONFIG } from './standard-message-channel-message-association-message-folder-page-layout.config'; +export { STANDARD_MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_PAGE_LAYOUT_CONFIG } from './standard-message-channel-message-association-page-layout.config'; +export { STANDARD_MESSAGE_CHANNEL_PAGE_LAYOUT_CONFIG } from './standard-message-channel-page-layout.config'; +export { STANDARD_MESSAGE_FOLDER_PAGE_LAYOUT_CONFIG } from './standard-message-folder-page-layout.config'; +export { STANDARD_MESSAGE_PARTICIPANT_PAGE_LAYOUT_CONFIG } from './standard-message-participant-page-layout.config'; export { STANDARD_NOTE_PAGE_LAYOUT_CONFIG } from './standard-note-page-layout.config'; export { STANDARD_OPPORTUNITY_PAGE_LAYOUT_CONFIG } from './standard-opportunity-page-layout.config'; -export { STANDARD_PERSON_PAGE_LAYOUT_CONFIG } from './standard-person-page-layout.config'; -export { STANDARD_TASK_PAGE_LAYOUT_CONFIG } from './standard-task-page-layout.config'; -export { STANDARD_WORKFLOW_PAGE_LAYOUT_CONFIG } from './standard-workflow-page-layout.config'; -export { STANDARD_WORKFLOW_RUN_PAGE_LAYOUT_CONFIG } from './standard-workflow-run-page-layout.config'; -export { STANDARD_WORKFLOW_VERSION_PAGE_LAYOUT_CONFIG } from './standard-workflow-version-page-layout.config'; export { type StandardPageLayoutConfig, type StandardPageLayoutTabConfig, @@ -16,3 +23,9 @@ export { type StandardRecordPageTabConfig, type StandardRecordPageWidgetConfig, } from './standard-page-layout-config.type'; +export { STANDARD_PERSON_PAGE_LAYOUT_CONFIG } from './standard-person-page-layout.config'; +export { STANDARD_TASK_PAGE_LAYOUT_CONFIG } from './standard-task-page-layout.config'; +export { STANDARD_WORKFLOW_AUTOMATED_TRIGGER_PAGE_LAYOUT_CONFIG } from './standard-workflow-automated-trigger-page-layout.config'; +export { STANDARD_WORKFLOW_PAGE_LAYOUT_CONFIG } from './standard-workflow-page-layout.config'; +export { STANDARD_WORKFLOW_RUN_PAGE_LAYOUT_CONFIG } from './standard-workflow-run-page-layout.config'; +export { STANDARD_WORKFLOW_VERSION_PAGE_LAYOUT_CONFIG } from './standard-workflow-version-page-layout.config'; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-blocklist-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-blocklist-page-layout.config.ts new file mode 100644 index 0000000000..dafb3a1ff9 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-blocklist-page-layout.config.ts @@ -0,0 +1,43 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const BLOCKLIST_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab09-4009-8009-b10c115b0901', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac09-4009-8009-b10c115b0911', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab09-4009-8009-b10c115b0902', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac09-4009-8009-b10c115b0921', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_BLOCKLIST_PAGE_LAYOUT_CONFIG = { + name: 'Default Blocklist Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: STANDARD_OBJECTS.blocklist.universalIdentifier, + universalIdentifier: '20202020-a109-4009-8009-b10c115b0001', + defaultTabUniversalIdentifier: null, + tabs: BLOCKLIST_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-channel-event-association-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-channel-event-association-page-layout.config.ts new file mode 100644 index 0000000000..bd43b026db --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-channel-event-association-page-layout.config.ts @@ -0,0 +1,44 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const CALENDAR_CHANNEL_EVENT_ASSOCIATION_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab0b-400b-800b-ca1c4e0b0b01', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac0b-400b-800b-ca1c4e0b0b11', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab0b-400b-800b-ca1c4e0b0b02', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac0b-400b-800b-ca1c4e0b0b21', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_CALENDAR_CHANNEL_EVENT_ASSOCIATION_PAGE_LAYOUT_CONFIG = { + name: 'Default Calendar Channel Event Association Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.calendarChannelEventAssociation.universalIdentifier, + universalIdentifier: '20202020-a10b-400b-800b-ca1c4e0b0001', + defaultTabUniversalIdentifier: null, + tabs: CALENDAR_CHANNEL_EVENT_ASSOCIATION_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-channel-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-channel-page-layout.config.ts new file mode 100644 index 0000000000..df5477d71f --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-channel-page-layout.config.ts @@ -0,0 +1,44 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const CALENDAR_CHANNEL_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab0a-400a-800a-ca1c4a0a0a01', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac0a-400a-800a-ca1c4a0a0a11', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab0a-400a-800a-ca1c4a0a0a02', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac0a-400a-800a-ca1c4a0a0a21', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_CALENDAR_CHANNEL_PAGE_LAYOUT_CONFIG = { + name: 'Default Calendar Channel Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.calendarChannel.universalIdentifier, + universalIdentifier: '20202020-a10a-400a-800a-ca1c4a0a0001', + defaultTabUniversalIdentifier: null, + tabs: CALENDAR_CHANNEL_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-event-participant-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-event-participant-page-layout.config.ts new file mode 100644 index 0000000000..53e7430619 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-calendar-event-participant-page-layout.config.ts @@ -0,0 +1,44 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const CALENDAR_EVENT_PARTICIPANT_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab0c-400c-800c-ca1e0a0c0c01', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac0c-400c-800c-ca1e0a0c0c11', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab0c-400c-800c-ca1e0a0c0c02', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac0c-400c-800c-ca1e0a0c0c21', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_CALENDAR_EVENT_PARTICIPANT_PAGE_LAYOUT_CONFIG = { + name: 'Default Calendar Event Participant Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.calendarEventParticipant.universalIdentifier, + universalIdentifier: '20202020-a10c-400c-800c-ca1e0a0c0001', + defaultTabUniversalIdentifier: null, + tabs: CALENDAR_EVENT_PARTICIPANT_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-connected-account-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-connected-account-page-layout.config.ts new file mode 100644 index 0000000000..cac873035f --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-connected-account-page-layout.config.ts @@ -0,0 +1,44 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const CONNECTED_ACCOUNT_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab0d-400d-800d-c0aec10d0d01', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac0d-400d-800d-c0aec10d0d11', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab0d-400d-800d-c0aec10d0d02', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac0d-400d-800d-c0aec10d0d21', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_CONNECTED_ACCOUNT_PAGE_LAYOUT_CONFIG = { + name: 'Default Connected Account Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.connectedAccount.universalIdentifier, + universalIdentifier: '20202020-a10d-400d-800d-c0aec10d0001', + defaultTabUniversalIdentifier: null, + tabs: CONNECTED_ACCOUNT_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-favorite-folder-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-favorite-folder-page-layout.config.ts new file mode 100644 index 0000000000..d99d9cc614 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-favorite-folder-page-layout.config.ts @@ -0,0 +1,44 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const FAVORITE_FOLDER_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab0f-400f-800f-fa0efd0f0f01', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac0f-400f-800f-fa0efd0f0f11', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab0f-400f-800f-fa0efd0f0f02', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac0f-400f-800f-fa0efd0f0f21', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_FAVORITE_FOLDER_PAGE_LAYOUT_CONFIG = { + name: 'Default Favorite Folder Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.favoriteFolder.universalIdentifier, + universalIdentifier: '20202020-a10f-400f-800f-fa0efd0f0001', + defaultTabUniversalIdentifier: null, + tabs: FAVORITE_FOLDER_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-favorite-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-favorite-page-layout.config.ts new file mode 100644 index 0000000000..0222a8c1c4 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-favorite-page-layout.config.ts @@ -0,0 +1,43 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const FAVORITE_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab0e-400e-800e-fa0e0b1e0e01', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac0e-400e-800e-fa0e0b1e0e11', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab0e-400e-800e-fa0e0b1e0e02', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac0e-400e-800e-fa0e0b1e0e21', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_FAVORITE_PAGE_LAYOUT_CONFIG = { + name: 'Default Favorite Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: STANDARD_OBJECTS.favorite.universalIdentifier, + universalIdentifier: '20202020-a10e-400e-800e-fa0e0b1e0001', + defaultTabUniversalIdentifier: null, + tabs: FAVORITE_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-message-association-message-folder-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-message-association-message-folder-page-layout.config.ts new file mode 100644 index 0000000000..25c2be812b --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-message-association-message-folder-page-layout.config.ts @@ -0,0 +1,46 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_MESSAGE_FOLDER_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab12-4012-8012-a5c4a6121201', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac12-4012-8012-a5c4a6121211', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab12-4012-8012-a5c4a6121202', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac12-4012-8012-a5c4a6121221', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_MESSAGE_FOLDER_PAGE_LAYOUT_CONFIG = + { + name: 'Default Message Channel Message Association Message Folder Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.messageChannelMessageAssociationMessageFolder + .universalIdentifier, + universalIdentifier: '20202020-a112-4012-8012-a5c4a6120001', + defaultTabUniversalIdentifier: null, + tabs: MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_MESSAGE_FOLDER_PAGE_TABS, + } as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-message-association-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-message-association-page-layout.config.ts new file mode 100644 index 0000000000..0e0c1f7093 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-message-association-page-layout.config.ts @@ -0,0 +1,44 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab11-4011-8011-a5c4a5111101', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac11-4011-8011-a5c4a5111111', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab11-4011-8011-a5c4a5111102', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac11-4011-8011-a5c4a5111121', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_PAGE_LAYOUT_CONFIG = { + name: 'Default Message Channel Message Association Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.messageChannelMessageAssociation.universalIdentifier, + universalIdentifier: '20202020-a111-4011-8011-a5c4a5110001', + defaultTabUniversalIdentifier: null, + tabs: MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-page-layout.config.ts new file mode 100644 index 0000000000..50b4d0f47a --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-channel-page-layout.config.ts @@ -0,0 +1,44 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const MESSAGE_CHANNEL_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab10-4010-8010-a5c4a1101001', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac10-4010-8010-a5c4a1101011', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab10-4010-8010-a5c4a1101002', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac10-4010-8010-a5c4a1101021', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_MESSAGE_CHANNEL_PAGE_LAYOUT_CONFIG = { + name: 'Default Message Channel Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.messageChannel.universalIdentifier, + universalIdentifier: '20202020-a110-4010-8010-a5c4a1100001', + defaultTabUniversalIdentifier: null, + tabs: MESSAGE_CHANNEL_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-folder-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-folder-page-layout.config.ts new file mode 100644 index 0000000000..f289989f9e --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-folder-page-layout.config.ts @@ -0,0 +1,43 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const MESSAGE_FOLDER_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab13-4013-8013-a5efd1131301', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac13-4013-8013-a5efd1131311', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab13-4013-8013-a5efd1131302', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac13-4013-8013-a5efd1131321', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_MESSAGE_FOLDER_PAGE_LAYOUT_CONFIG = { + name: 'Default Message Folder Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: STANDARD_OBJECTS.messageFolder.universalIdentifier, + universalIdentifier: '20202020-a113-4013-8013-a5efd1130001', + defaultTabUniversalIdentifier: null, + tabs: MESSAGE_FOLDER_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-participant-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-participant-page-layout.config.ts new file mode 100644 index 0000000000..f0b21dd52c --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-message-participant-page-layout.config.ts @@ -0,0 +1,44 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const MESSAGE_PARTICIPANT_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab14-4014-8014-a5ea10141401', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac14-4014-8014-a5ea10141411', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab14-4014-8014-a5ea10141402', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac14-4014-8014-a5ea10141421', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_MESSAGE_PARTICIPANT_PAGE_LAYOUT_CONFIG = { + name: 'Default Message Participant Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.messageParticipant.universalIdentifier, + universalIdentifier: '20202020-a114-4014-8014-a5ea10140001', + defaultTabUniversalIdentifier: null, + tabs: MESSAGE_PARTICIPANT_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-workflow-automated-trigger-page-layout.config.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-workflow-automated-trigger-page-layout.config.ts new file mode 100644 index 0000000000..560d9d7765 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-workflow-automated-trigger-page-layout.config.ts @@ -0,0 +1,44 @@ +import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; + +import { PageLayoutType } from 'src/engine/metadata-modules/page-layout/enums/page-layout-type.enum'; +import { + TAB_PROPS, + WIDGET_PROPS, +} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout-tabs.template'; +import { + type StandardPageLayoutConfig, + type StandardPageLayoutTabConfig, +} from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type'; + +const WORKFLOW_AUTOMATED_TRIGGER_PAGE_TABS = { + home: { + universalIdentifier: '20202020-ab15-4015-8015-a0bcf1151501', + ...TAB_PROPS.home, + widgets: { + fields: { + universalIdentifier: '20202020-ac15-4015-8015-a0bcf1151511', + ...WIDGET_PROPS.fields, + }, + }, + }, + timeline: { + universalIdentifier: '20202020-ab15-4015-8015-a0bcf1151502', + ...TAB_PROPS.timeline, + widgets: { + timeline: { + universalIdentifier: '20202020-ac15-4015-8015-a0bcf1151521', + ...WIDGET_PROPS.timeline, + }, + }, + }, +} as const satisfies Record; + +export const STANDARD_WORKFLOW_AUTOMATED_TRIGGER_PAGE_LAYOUT_CONFIG = { + name: 'Default Workflow Automated Trigger Layout', + type: PageLayoutType.RECORD_PAGE, + objectUniversalIdentifier: + STANDARD_OBJECTS.workflowAutomatedTrigger.universalIdentifier, + universalIdentifier: '20202020-a115-4015-8015-a0bcf1150001', + defaultTabUniversalIdentifier: null, + tabs: WORKFLOW_AUTOMATED_TRIGGER_PAGE_TABS, +} as const satisfies StandardPageLayoutConfig; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-widget/build-standard-flat-page-layout-widget-metadata-maps.util.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-widget/build-standard-flat-page-layout-widget-metadata-maps.util.ts index cbe69e7429..002d496b5b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-widget/build-standard-flat-page-layout-widget-metadata-maps.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/page-layout-widget/build-standard-flat-page-layout-widget-metadata-maps.util.ts @@ -66,11 +66,27 @@ const WIDGET_TYPE_TO_CONFIGURATION_TYPE: Partial< const RECORD_PAGE_FIELDS_VIEW_NAME_BY_OBJECT: Partial< Record > = { + blocklist: 'blocklistRecordPageFields', + calendarChannel: 'calendarChannelRecordPageFields', + calendarChannelEventAssociation: + 'calendarChannelEventAssociationRecordPageFields', + calendarEventParticipant: 'calendarEventParticipantRecordPageFields', company: 'companyRecordPageFields', - person: 'personRecordPageFields', - opportunity: 'opportunityRecordPageFields', - task: 'taskRecordPageFields', + connectedAccount: 'connectedAccountRecordPageFields', + favorite: 'favoriteRecordPageFields', + favoriteFolder: 'favoriteFolderRecordPageFields', + messageChannel: 'messageChannelRecordPageFields', + messageChannelMessageAssociation: + 'messageChannelMessageAssociationRecordPageFields', + messageChannelMessageAssociationMessageFolder: + 'messageChannelMessageAssociationMessageFolderRecordPageFields', + messageFolder: 'messageFolderRecordPageFields', + messageParticipant: 'messageParticipantRecordPageFields', note: 'noteRecordPageFields', + opportunity: 'opportunityRecordPageFields', + person: 'personRecordPageFields', + task: 'taskRecordPageFields', + workflowAutomatedTrigger: 'workflowAutomatedTriggerRecordPageFields', workflowRun: 'workflowRunRecordPageFields', workflowVersion: 'workflowVersionRecordPageFields', }; diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/view-field/compute-standard-workflow-run-view-fields.util.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/view-field/compute-standard-workflow-run-view-fields.util.ts index 4f625f067b..11870367f6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/view-field/compute-standard-workflow-run-view-fields.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/view-field/compute-standard-workflow-run-view-fields.util.ts @@ -151,32 +151,6 @@ export const computeStandardWorkflowRunViewFields = ( viewFieldGroupName: 'additional', }, }), - workflowRunRecordPageFieldsOutput: createStandardViewFieldFlatMetadata({ - ...args, - objectName: 'workflowRun', - context: { - viewName: 'workflowRunRecordPageFields', - viewFieldName: 'output', - fieldName: 'output', - position: 6, - isVisible: true, - size: 150, - viewFieldGroupName: 'general', - }, - }), - workflowRunRecordPageFieldsContext: createStandardViewFieldFlatMetadata({ - ...args, - objectName: 'workflowRun', - context: { - viewName: 'workflowRunRecordPageFields', - viewFieldName: 'context', - fieldName: 'context', - position: 7, - isVisible: true, - size: 150, - viewFieldGroupName: 'general', - }, - }), workflowRunRecordPageFieldsState: createStandardViewFieldFlatMetadata({ ...args, objectName: 'workflowRun', @@ -184,7 +158,7 @@ export const computeStandardWorkflowRunViewFields = ( viewName: 'workflowRunRecordPageFields', viewFieldName: 'state', fieldName: 'state', - position: 8, + position: 6, isVisible: true, size: 150, viewFieldGroupName: 'general', @@ -223,7 +197,7 @@ export const computeStandardWorkflowRunViewFields = ( viewName: 'workflowRunRecordPageFields', viewFieldName: 'favorites', fieldName: 'favorites', - position: 9, + position: 7, isVisible: false, size: 150, viewFieldGroupName: 'general', @@ -237,7 +211,7 @@ export const computeStandardWorkflowRunViewFields = ( viewName: 'workflowRunRecordPageFields', viewFieldName: 'timelineActivities', fieldName: 'timelineActivities', - position: 10, + position: 8, isVisible: false, size: 150, viewFieldGroupName: 'general', diff --git a/packages/twenty-shared/src/metadata/constants/standard-object.constant.ts b/packages/twenty-shared/src/metadata/constants/standard-object.constant.ts index 86656ad97b..724dac460c 100644 --- a/packages/twenty-shared/src/metadata/constants/standard-object.constant.ts +++ b/packages/twenty-shared/src/metadata/constants/standard-object.constant.ts @@ -3153,8 +3153,6 @@ export const STANDARD_OBJECTS = { updatedBy: { universalIdentifier: '730dc1c9-34f5-4c22-84a6-bcb55b7604e2', }, - output: { universalIdentifier: '20202020-7be4-4db2-8ac6-3ff0d740843d' }, - context: { universalIdentifier: '20202020-189c-478a-b867-d72feaf5926a' }, state: { universalIdentifier: '20202020-611f-45f3-9cde-d64927e8ec57' }, favorites: { universalIdentifier: '20202020-4baf-4604-b899-2f7fcfbbf90d', @@ -3228,12 +3226,6 @@ export const STANDARD_OBJECTS = { enqueuedAt: { universalIdentifier: '20202020-af11-4a11-8a11-a0bcf10abcfd', }, - output: { - universalIdentifier: '20202020-af11-4a11-8a11-a0bcf10abcfe', - }, - context: { - universalIdentifier: '20202020-af11-4a11-8a11-a0bcf10abcff', - }, state: { universalIdentifier: '20202020-af11-4a11-8a11-a0bcf10abd01', },