From a6415db775b759fc4ced1695424960324f237c8a Mon Sep 17 00:00:00 2001 From: Paul Rastoin <45004772+prastoin@users.noreply.github.com> Date: Mon, 5 Jan 2026 10:17:16 +0100 Subject: [PATCH] Refactor workspace migration and validation error types and centralize runner optimistic rendering (#16920) # Introduction In this PR we're: - Refactoring the workspace migration action type introducing grain over metadata and operation type ( for example operation `create` and metadata `field` ) - Thanks to above point we can now factorize the runner optimistic rendering out of each runner actions-handler file using the existing into the generic one ( -3200 lines of code here ) - Still thanks to action type refactor we're able to dynamically compose the response error type only send data when there's here. No more static counter and static summary error message. This way we won't have to re run snapshot every time we add a new entity to the engine ( huge snapshot diff here ) ## Noticeable points: - We introduce an index update action to avoid any complex typing for not having one or a tuple of actions instead. Now the drop and insert logic is directly inferred from the update action handler instead of being two action ( delete index and create index ) ## TODO - [x] Define base actions types - [x] Migrate all actions to action type and metadata name pattern ( base actions ) - [x] Refactor flat entity validation type to embed metadata name - [x] Refactor optimistic rendering within runner - [x] Refactor legacy cache invalidation switch - [x] Refactor response error format ( dynamic counter again + no empty entries ) - [x] Try factorizing and removing redundant nor unused type declaration in metadata actions type intermediary files - [x] Adapt front to new response error format ## Remarks - ~~Should create an issue for generic replace flat entity in related flat entity maps~~ overkill - Should create an issue for oneToMany foreignKey being nullable not always cascade delete optimistic rendering edge case to either docs or fix it in delete flat entity and related entity ( re-code the pg cascading behavior ) - We could also factorize the builder to only implement validators and not the intermediary file --- .../hooks/useMetadataErrorHandler.ts | 2 +- .../utils/classify-metadata-error.util.ts | 1 + .../services/field-metadata.service.ts | 7 +- ...ntity-by-metadata-engine-name-test.type.ts | 7 +- .../all-flat-entity-types-by-metadata-name.ts | 130 +- ...etadata-workspace-migration-action.type.ts | 28 +- ...n-field-input-transpilations-error.util.ts | 9 +- ...ed-flat-object-metadata-validation.util.ts | 15 - ...w-level-permission-predicate-group.type.ts | 5 +- ...metadata-validation-response-error.util.ts | 48 +- ...orchestrator-failure-report-errors.util.ts | 6 +- ...igration-builder-exception-v2-formatter.ts | 18 +- ...ce-migration-build-orchestrator.service.ts | 126 +- .../workspace-migration-orchestrator.type.ts | 11 +- ...ject-and-create-field-actions.util.spec.ts | 140 +- ...ject-and-delete-field-actions.util.spec.ts | 115 +- ...te-object-and-create-field-actions.util.ts | 10 +- ...ort-delete-object-and-delete-field.util.ts | 10 +- ...-workspace-migration-action-record.util.ts | 6 +- ...gration-v2-agent-action-builder.service.ts | 21 +- ...ration-v2-agent-actions-builder.service.ts | 21 +- ...e-migration-cron-trigger-action-v2.type.ts | 37 +- ...-v2-cron-trigger-action-builder.service.ts | 21 +- ...n-database-event-trigger-action-v2.type.ts | 29 +- ...e-event-trigger-actions-builder.service.ts | 21 +- .../workspace-migration-field-action-v2.ts | 37 +- ...ration-v2-field-actions-builder.service.ts | 19 +- .../workspace-migration-index-action-v2.ts | 26 +- ...ration-v2-index-actions-builder.service.ts | 54 +- .../workspace-migration-object-action-v2.ts | 41 +- ...ation-v2-object-actions-builder.service.ts | 21 +- ...igration-page-layout-tab-action-v2.type.ts | 24 +- ...page-layout-tab-actions-builder.service.ts | 21 +- ...ation-page-layout-widget-action-v2.type.ts | 24 +- ...e-layout-widget-actions-builder.service.ts | 21 +- ...ce-migration-page-layout-action-v2.type.ts | 24 +- ...-v2-page-layout-actions-builder.service.ts | 21 +- ...ce-migration-role-target-action-v2.type.ts | 32 +- ...-v2-role-target-actions-builder.service.ts | 21 +- ...workspace-migration-role-action-v2.type.ts | 29 +- ...gration-v2-role-actions-builder.service.ts | 21 +- ...-migration-route-trigger-action-v2.type.ts | 29 +- ...2-route-trigger-actions-builder.service.ts | 21 +- ...rmission-predicate-group-action-v2.type.ts | 32 +- ...predicate-group-actions-builder.service.ts | 21 +- ...vel-permission-predicate-action-v2.type.ts | 38 +- ...ssion-predicate-actions-builder.service.ts | 21 +- ...tion-serverless-function-action-v2.type.ts | 35 +- ...erless-function-actions-builder.service.ts | 29 +- ...orkspace-migration-v2-skill-action.type.ts | 21 +- ...ration-v2-skill-actions-builder.service.ts | 21 +- .../failed-flat-entity-validation.type.ts | 14 +- .../get-flat-entity-validation-error.util.ts | 23 + ...ace-migration-view-field-action-v2.type.ts | 32 +- ...n-v2-view-field-actions-builder.service.ts | 21 +- ...ration-view-filter-group-action-v2.type.ts | 32 +- ...ew-filter-group-actions-builder.service.ts | 21 +- ...ce-migration-view-filter-action-v2.type.ts | 32 +- ...-v2-view-filter-actions-builder.service.ts | 21 +- ...ace-migration-view-group-action-v2.type.ts | 32 +- ...n-v2-view-group-actions-builder.service.ts | 21 +- ...workspace-migration-view-action-v2.type.ts | 29 +- ...gration-v2-view-actions-builder.service.ts | 21 +- ...ace-entity-migration-builder-v2.service.ts | 18 +- ...-create-workspace-migration-action.type.ts | 9 + ...-delete-workspace-migration-action.type.ts | 7 + ...-update-workspace-migration-action.type.ts | 10 + ...led-flat-entity-validate-and-build.type.ts | 4 +- .../flat-entity-validation-result.type.ts | 16 +- .../workspace-migration-action-common-v2.ts | 26 +- .../services/flat-agent-validator.service.ts | 44 +- .../flat-cron-trigger-validator.service.ts | 45 +- ...atabase-event-trigger-validator.service.ts | 65 +- .../flat-field-metadata-validator.service.ts | 51 +- .../flat-index-metadata-validator.service.ts | 26 +- .../flat-object-metadata-validator.service.ts | 59 +- .../flat-page-layout-tab-validator.service.ts | 45 +- .../flat-page-layout-validator.service.ts | 45 +- ...at-page-layout-widget-validator.service.ts | 49 +- .../flat-role-target-validator.service.ts | 39 +- .../services/flat-role-validator.service.ts | 41 +- .../flat-route-trigger-validator.service.ts | 45 +- ...ssion-predicate-group-validator.service.ts | 57 +- ...-permission-predicate-validator.service.ts | 57 +- ...t-serverless-function-validator.service.ts | 65 +- .../services/flat-skill-validator.service.ts | 44 +- .../flat-view-field-validator.service.ts | 46 +- ...lat-view-filter-group-validator.service.ts | 45 +- .../flat-view-filter-validator.service.ts | 41 +- .../flat-view-group-validator.service.ts | 46 +- .../services/flat-view-validator.service.ts | 45 +- .../create-agent-action-handler.service.ts | 27 +- .../delete-agent-action-handler.service.ts | 31 +- .../update-agent-action-handler.service.ts | 46 +- ...ate-cron-trigger-action-handler.service.ts | 5 +- ...ete-cron-trigger-action-handler.service.ts | 7 +- ...ate-cron-trigger-action-handler.service.ts | 7 +- ...se-event-trigger-action-handler.service.ts | 5 +- ...se-event-trigger-action-handler.service.ts | 7 +- ...se-event-trigger-action-handler.service.ts | 7 +- .../create-field-action-handler.service.ts | 30 +- .../delete-field-action-handler.service.ts | 36 +- .../update-field-action-handler.service.ts | 55 +- .../create-index-action-handler.service.ts | 162 +- .../delete-index-action-handler.service.ts | 43 +- .../update-index-action-handler.service.ts | 95 + .../index/utils/index-action-handler.utils.ts | 194 + .../create-object-action-handler.service.ts | 41 +- .../delete-object-action-handler.service.ts | 36 +- .../update-object-action-handler.service.ts | 45 +- ...-page-layout-tab-action-handler.service.ts | 27 +- ...-page-layout-tab-action-handler.service.ts | 32 +- ...-page-layout-tab-action-handler.service.ts | 47 +- ...ge-layout-widget-action-handler.service.ts | 32 +- ...ge-layout-widget-action-handler.service.ts | 32 +- ...ge-layout-widget-action-handler.service.ts | 45 +- ...eate-page-layout-action-handler.service.ts | 27 +- ...lete-page-layout-action-handler.service.ts | 33 +- ...date-page-layout-action-handler.service.ts | 46 +- ...eate-role-target-action-handler.service.ts | 29 +- ...lete-role-target-action-handler.service.ts | 33 +- ...date-role-target-action-handler.service.ts | 42 +- .../create-role-action-handler.service.ts | 29 +- .../delete-role-action-handler.service.ts | 31 +- .../update-role-action-handler.service.ts | 42 +- ...te-route-trigger-action-handler.service.ts | 5 +- ...te-route-trigger-action-handler.service.ts | 7 +- ...te-route-trigger-action-handler.service.ts | 7 +- ...-predicate-group-action-handler.service.ts | 31 +- ...-predicate-group-action-handler.service.ts | 31 +- ...-predicate-group-action-handler.service.ts | 42 +- ...ission-predicate-action-handler.service.ts | 31 +- ...ission-predicate-action-handler.service.ts | 31 +- ...ission-predicate-action-handler.service.ts | 42 +- ...verless-function-action-handler.service.ts | 7 +- ...verless-function-action-handler.service.ts | 13 +- ...verless-function-action-handler.service.ts | 9 +- .../create-skill-action-handler.service.ts | 27 +- .../delete-skill-action-handler.service.ts | 31 +- .../update-skill-action-handler.service.ts | 46 +- ...reate-view-field-action-handler.service.ts | 31 +- ...elete-view-field-action-handler.service.ts | 31 +- ...pdate-view-field-action-handler.service.ts | 42 +- ...iew-filter-group-action-handler.service.ts | 33 +- ...iew-filter-group-action-handler.service.ts | 32 +- ...iew-filter-group-action-handler.service.ts | 43 +- ...eate-view-filter-action-handler.service.ts | 31 +- ...lete-view-filter-action-handler.service.ts | 33 +- ...date-view-filter-action-handler.service.ts | 42 +- ...reate-view-group-action-handler.service.ts | 31 +- ...elete-view-group-action-handler.service.ts | 31 +- ...pdate-view-group-action-handler.service.ts | 42 +- .../create-view-action-handler.service.ts | 31 +- .../delete-view-action-handler.service.ts | 31 +- .../update-view-action-handler.service.ts | 42 +- ...migration-runner-action-handlers.module.ts | 2 + ...runner-action-handler-service.interface.ts | 82 +- ...-runner-action-handler-registry.service.ts | 30 +- .../workspace-migration-runner-v2.service.ts | 66 +- ...ate-action-on-all-flat-entity-maps.util.ts | 84 + ...ete-action-on-all-flat-entity-maps.util.ts | 69 + ...ate-action-on-all-flat-entity-maps.util.ts | 97 + ...ny-view-fields-v2.integration-spec.ts.snap | 60 +- ...ate-view-field-v2.integration-spec.ts.snap | 156 +- ...ect-on-view-field.integration-spec.ts.snap | 260 +- ...ng-agent-creation.integration-spec.ts.snap | 364 +- ...ng-agent-deletion.integration-spec.ts.snap | 52 +- ...ling-agent-update.integration-spec.ts.snap | 468 +-- ...ne-field-metadata.integration-spec.ts.snap | 52 +- ...ne-field-metadata.integration-spec.ts.snap | 161 +- ...ne-field-metadata.integration-spec.ts.snap | 104 +- ...-metadata-enum-v2.integration-spec.ts.snap | 3640 +++-------------- ...field-metadata-v2.integration-spec.ts.snap | 3536 +++------------- ...morph-relation-v2.integration-spec.ts.snap | 120 +- ...morph-relation-v2.integration-spec.ts.snap | 967 +---- ...relation-creation.integration-spec.ts.snap | 1806 ++------ ...a-relation-update.integration-spec.ts.snap | 52 +- ...ue-field-metadata.integration-spec.ts.snap | 104 +- ...bject-metadata-v2.integration-spec.ts.snap | 3128 ++++++++------ ...e-object-metadata.integration-spec.ts.snap | 220 +- ...yout-tab-creation.integration-spec.ts.snap | 52 +- ...t-widget-creation.integration-spec.ts.snap | 52 +- ...ing-role-creation.integration-spec.ts.snap | 260 +- ...iling-role-update.integration-spec.ts.snap | 364 +- ...ng-skill-creation.integration-spec.ts.snap | 156 +- ...ling-skill-update.integration-spec.ts.snap | 104 +- ...rcular-dependency.integration-spec.ts.snap | 104 +- ...er-group-creation.integration-spec.ts.snap | 156 +- ...rcular-dependency.integration-spec.ts.snap | 104 +- ...lter-group-update.integration-spec.ts.snap | 52 +- ...w-filter-creation.integration-spec.ts.snap | 156 +- .../view-group.integration-spec.ts.snap | 48 +- .../src/metadata/MetadataValidationError.ts | 4 +- 193 files changed, 6293 insertions(+), 16228 deletions(-) delete mode 100644 packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/is-failed-flat-object-metadata-validation.util.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/update-index-action-handler.service.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-create-action-on-all-flat-entity-maps.util.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts create mode 100644 packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-update-action-on-all-flat-entity-maps.util.ts diff --git a/packages/twenty-front/src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts b/packages/twenty-front/src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts index e3c0a203a5c..70939a1eb2a 100644 --- a/packages/twenty-front/src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts +++ b/packages/twenty-front/src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts @@ -62,7 +62,7 @@ export const useMetadataErrorHandler = () => { relatedFailingMetadataNames, } = classification; - const targetErrors = extensions.errors[primaryMetadataName] || []; + const targetErrors = extensions.errors[primaryMetadataName] ?? []; if (targetErrors.length > 0) { targetErrors.forEach((entityError) => { entityError.errors.forEach((validationError) => diff --git a/packages/twenty-front/src/modules/metadata-error-handler/utils/classify-metadata-error.util.ts b/packages/twenty-front/src/modules/metadata-error-handler/utils/classify-metadata-error.util.ts index 503328cef5d..38033a41c9b 100644 --- a/packages/twenty-front/src/modules/metadata-error-handler/utils/classify-metadata-error.util.ts +++ b/packages/twenty-front/src/modules/metadata-error-handler/utils/classify-metadata-error.util.ts @@ -58,6 +58,7 @@ export const classifyMetadataError = ({ ]; const relatedFailingMetadataNames = failingMetadataNames.filter( (metadataName) => + isDefined(extensions.errors[metadataName]) && extensions.errors[metadataName].length > 0 && metadataName !== primaryMetadataName, ); diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata.service.ts index 303bfc925cc..e9478580caf 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata.service.ts @@ -192,8 +192,11 @@ export class FieldMetadataService extends TypeOrmQueryService['type'] + | BaseUpdateWorkspaceMigrationAction['type'] + | BaseDeleteWorkspaceMigrationAction['type']; export type MetadataWorkspaceMigrationActionsRecord = { - [K in 'created' | 'updated' | 'deleted']: MetadataWorkspaceMigrationAction< + [K in WorkspaceMigrationActionType]: MetadataWorkspaceMigrationAction< T, K >[]; }; export type MetadataWorkspaceMigrationAction< - T extends AllMetadataName, - TOperation extends 'created' | 'deleted' | 'updated' = - | 'created' - | 'deleted' - | 'updated', -> = AllFlatEntityTypesByMetadataName[T]['actions'][TOperation] extends infer Action + TMetadataName extends AllMetadataName, + TActionType extends WorkspaceMigrationActionType, +> = AllFlatEntityTypesByMetadataName[TMetadataName]['actions'][TActionType] extends infer Action ? Action extends Array ? Action[number] : Action : never; - -export type FromWorkspaceMigrationActionToMetadataName = { - [K in AllMetadataName]: TAction extends AllFlatEntityTypesByMetadataName[K]['actions'][ - | 'created' - | 'deleted' - | 'updated'] - ? K - : never; -}[AllMetadataName]; diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-field-metadata/utils/throw-on-field-input-transpilations-error.util.ts b/packages/twenty-server/src/engine/metadata-modules/flat-field-metadata/utils/throw-on-field-input-transpilations-error.util.ts index 35decdfa6b6..13e8ea553bd 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-field-metadata/utils/throw-on-field-input-transpilations-error.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-field-metadata/utils/throw-on-field-input-transpilations-error.util.ts @@ -26,11 +26,14 @@ export const throwOnFieldInputTranspilationsError: ThrowOnFieldInputTranspilatio { report: { ...EMPTY_ORCHESTRATOR_FAILURE_REPORT(), - objectMetadata: [ + fieldMetadata: [ { errors: failedInputTranspilationErrors, - type: 'create_field', - flatEntityMinimalInformation: {}, + type: 'create', + metadataName: 'fieldMetadata', + flatEntityMinimalInformation: { + id: '', + }, }, ], }, diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/is-failed-flat-object-metadata-validation.util.ts b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/is-failed-flat-object-metadata-validation.util.ts deleted file mode 100644 index 39708f3962e..00000000000 --- a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/is-failed-flat-object-metadata-validation.util.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { type SyncableFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/flat-entity.type'; -import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; -import { - WORKSPACE_MIGRATION_OBJECT_ACTION_TYPES, - type WorkspaceMigrationObjectActionTypeV2, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2'; -import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; - -export const isFailedFlatObjectMetadataValidation = ( - failedValidation: FailedFlatEntityValidation, -): failedValidation is FailedFlatEntityValidation => { - return WORKSPACE_MIGRATION_OBJECT_ACTION_TYPES.includes( - failedValidation.type as WorkspaceMigrationObjectActionTypeV2, - ); -}; diff --git a/packages/twenty-server/src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type.ts b/packages/twenty-server/src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type.ts index 7ee4285a677..f8e0237f8b1 100644 --- a/packages/twenty-server/src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type.ts @@ -4,7 +4,4 @@ import { type FlatEntityFrom } from 'src/engine/metadata-modules/flat-entity/typ import { type RowLevelPermissionPredicateGroupEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate-group.entity'; export type FlatRowLevelPermissionPredicateGroup = - FlatEntityFrom & { - childRowLevelPermissionPredicateGroupIds: string[]; - rowLevelPermissionPredicateIds: string[]; - }; + FlatEntityFrom; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util.ts index 7cb56361f2f..30461dc5c38 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util.ts @@ -15,31 +15,33 @@ export const fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseE i18n, ); - return { + const initialAccumulator: MetadataValidationErrorResponse = { + errors: {}, summary: { - invalidAgent: 0, - invalidSkill: 0, - invalidViewFilter: 0, - invalidViewFilterGroup: 0, - invalidObjectMetadata: 0, - invalidView: 0, - invalidViewField: 0, - invalidIndex: 0, - invalidServerlessFunction: 0, - invalidDatabaseEventTrigger: 0, - invalidCronTrigger: 0, - invalidRouteTrigger: 0, - invalidFieldMetadata: 0, - invalidViewGroup: 0, - invalidRole: 0, - invalidRoleTarget: 0, - invalidPageLayout: 0, - invalidPageLayoutWidget: 0, totalErrors: 0, - invalidPageLayoutTab: 0, - invalidRowLevelPermissionPredicate: 0, - invalidRowLevelPermissionPredicateGroup: 0, }, - errors: translatedReport, }; + + return ( + Object.keys(translatedReport) as (keyof typeof translatedReport)[] + ).reduce((acc, metadataName) => { + const failedMetadataValidation = translatedReport[metadataName]; + + if (failedMetadataValidation.length === 0) { + return acc; + } + + return { + errors: { + ...acc.errors, + [metadataName]: failedMetadataValidation, + }, + summary: { + ...acc.summary, + totalErrors: + acc.summary.totalErrors + failedMetadataValidation.length, + [metadataName]: failedMetadataValidation.length, + }, + } satisfies MetadataValidationErrorResponse; + }, initialAccumulator); }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/translate-orchestrator-failure-report-errors.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/translate-orchestrator-failure-report-errors.util.ts index dc98944d339..b078a49e7d2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/translate-orchestrator-failure-report-errors.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/utils/translate-orchestrator-failure-report-errors.util.ts @@ -1,5 +1,4 @@ import { type I18n, type MessageDescriptor } from '@lingui/core'; -import { type MetadataValidationErrorResponse } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { type OrchestratorFailureReport } from 'src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type'; @@ -54,8 +53,5 @@ export const translateOrchestratorFailureReportErrors = ( report: OrchestratorFailureReport, i18n: I18n, ) => { - return translateUserFriendlyMessageInFlatEntityValidationError( - report, - i18n, - ) as MetadataValidationErrorResponse['errors']; + return translateUserFriendlyMessageInFlatEntityValidationError(report, i18n); }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/workspace-migration-builder-exception-v2-formatter.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/workspace-migration-builder-exception-v2-formatter.ts index ea13ef8d3c6..77256ccd936 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/workspace-migration-builder-exception-v2-formatter.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/interceptors/workspace-migration-builder-exception-v2-formatter.ts @@ -1,5 +1,7 @@ import { type I18n } from '@lingui/core'; import { msg } from '@lingui/core/macro'; +import { isDefined } from 'twenty-shared/utils'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { BaseGraphQLError, @@ -18,6 +20,18 @@ export const workspaceMigrationBuilderExceptionV2Formatter = ( i18n, ); + const message = `Validation failed for ${Object.values(ALL_METADATA_NAME) + .flatMap((metadataName) => { + const count = summary[metadataName]; + + if (!isDefined(count) || count === 0) { + return []; + } + + return [`${count} ${metadataName}${count > 1 ? 's' : ''}`]; + }) + .join(', ')}`; + throw new BaseGraphQLError( error.message, ErrorCode.METADATA_VALIDATION_FAILED, @@ -25,8 +39,8 @@ export const workspaceMigrationBuilderExceptionV2Formatter = ( code: 'METADATA_VALIDATION_ERROR', errors, summary, - message: `Validation failed for 0 object(s) and 0 field(s)`, - userFriendlyMessage: msg`Validation failed for 0 object(s) and 0 field(s)`, + message, + userFriendlyMessage: msg`Metadata validation failed`, }, ); }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/services/workspace-migration-build-orchestrator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/services/workspace-migration-build-orchestrator.service.ts index 6d0e819169b..36e6ec2b038 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/services/workspace-migration-build-orchestrator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/services/workspace-migration-build-orchestrator.service.ts @@ -953,117 +953,117 @@ export class WorkspaceMigrationBuildOrchestratorService { relatedFlatEntityMapsKeys, actions: [ // Object and fields and indexes - ...aggregatedOrchestratorActionsReport.index.deleted, - ...aggregatedOrchestratorActionsReport.fieldMetadata.deleted, - ...aggregatedOrchestratorActionsReport.objectMetadata.deleted, - ...aggregatedOrchestratorActionsReport.objectMetadata.created, - ...aggregatedOrchestratorActionsReport.objectMetadata.updated, - ...aggregatedOrchestratorActionsReport.fieldMetadata.created, - ...aggregatedOrchestratorActionsReport.fieldMetadata.updated, - ...aggregatedOrchestratorActionsReport.index.created, - ...aggregatedOrchestratorActionsReport.index.updated.flat(), + ...aggregatedOrchestratorActionsReport.index.delete, + ...aggregatedOrchestratorActionsReport.fieldMetadata.delete, + ...aggregatedOrchestratorActionsReport.objectMetadata.delete, + ...aggregatedOrchestratorActionsReport.objectMetadata.create, + ...aggregatedOrchestratorActionsReport.objectMetadata.update, + ...aggregatedOrchestratorActionsReport.fieldMetadata.create, + ...aggregatedOrchestratorActionsReport.fieldMetadata.update, + ...aggregatedOrchestratorActionsReport.index.create, + ...aggregatedOrchestratorActionsReport.index.update.flat(), /// // Views - ...aggregatedOrchestratorActionsReport.view.deleted, - ...aggregatedOrchestratorActionsReport.view.created, - ...aggregatedOrchestratorActionsReport.view.updated, - ...aggregatedOrchestratorActionsReport.viewField.deleted, - ...aggregatedOrchestratorActionsReport.viewField.created, - ...aggregatedOrchestratorActionsReport.viewField.updated, - ...aggregatedOrchestratorActionsReport.viewFilterGroup.deleted, - ...aggregatedOrchestratorActionsReport.viewFilterGroup.created, - ...aggregatedOrchestratorActionsReport.viewFilterGroup.updated, - ...aggregatedOrchestratorActionsReport.viewFilter.deleted, - ...aggregatedOrchestratorActionsReport.viewFilter.created, - ...aggregatedOrchestratorActionsReport.viewFilter.updated, - ...aggregatedOrchestratorActionsReport.viewGroup.deleted, - ...aggregatedOrchestratorActionsReport.viewGroup.created, - ...aggregatedOrchestratorActionsReport.viewGroup.updated, + ...aggregatedOrchestratorActionsReport.view.delete, + ...aggregatedOrchestratorActionsReport.view.create, + ...aggregatedOrchestratorActionsReport.view.update, + ...aggregatedOrchestratorActionsReport.viewField.delete, + ...aggregatedOrchestratorActionsReport.viewField.create, + ...aggregatedOrchestratorActionsReport.viewField.update, + ...aggregatedOrchestratorActionsReport.viewFilterGroup.delete, + ...aggregatedOrchestratorActionsReport.viewFilterGroup.create, + ...aggregatedOrchestratorActionsReport.viewFilterGroup.update, + ...aggregatedOrchestratorActionsReport.viewFilter.delete, + ...aggregatedOrchestratorActionsReport.viewFilter.create, + ...aggregatedOrchestratorActionsReport.viewFilter.update, + ...aggregatedOrchestratorActionsReport.viewGroup.delete, + ...aggregatedOrchestratorActionsReport.viewGroup.create, + ...aggregatedOrchestratorActionsReport.viewGroup.update, /// // Serverless functions - ...aggregatedOrchestratorActionsReport.serverlessFunction.deleted, - ...aggregatedOrchestratorActionsReport.serverlessFunction.created, - ...aggregatedOrchestratorActionsReport.serverlessFunction.updated, + ...aggregatedOrchestratorActionsReport.serverlessFunction.delete, + ...aggregatedOrchestratorActionsReport.serverlessFunction.create, + ...aggregatedOrchestratorActionsReport.serverlessFunction.update, /// // Database event triggers - ...aggregatedOrchestratorActionsReport.databaseEventTrigger.deleted, - ...aggregatedOrchestratorActionsReport.databaseEventTrigger.created, - ...aggregatedOrchestratorActionsReport.databaseEventTrigger.updated, + ...aggregatedOrchestratorActionsReport.databaseEventTrigger.delete, + ...aggregatedOrchestratorActionsReport.databaseEventTrigger.create, + ...aggregatedOrchestratorActionsReport.databaseEventTrigger.update, /// // Cron triggers - ...aggregatedOrchestratorActionsReport.cronTrigger.deleted, - ...aggregatedOrchestratorActionsReport.cronTrigger.created, - ...aggregatedOrchestratorActionsReport.cronTrigger.updated, + ...aggregatedOrchestratorActionsReport.cronTrigger.delete, + ...aggregatedOrchestratorActionsReport.cronTrigger.create, + ...aggregatedOrchestratorActionsReport.cronTrigger.update, /// // Route triggers - ...aggregatedOrchestratorActionsReport.routeTrigger.deleted, - ...aggregatedOrchestratorActionsReport.routeTrigger.created, - ...aggregatedOrchestratorActionsReport.routeTrigger.updated, + ...aggregatedOrchestratorActionsReport.routeTrigger.delete, + ...aggregatedOrchestratorActionsReport.routeTrigger.create, + ...aggregatedOrchestratorActionsReport.routeTrigger.update, /// // Roles - ...aggregatedOrchestratorActionsReport.role.deleted, - ...aggregatedOrchestratorActionsReport.role.created, - ...aggregatedOrchestratorActionsReport.role.updated, + ...aggregatedOrchestratorActionsReport.role.delete, + ...aggregatedOrchestratorActionsReport.role.create, + ...aggregatedOrchestratorActionsReport.role.update, /// // Role targets - ...aggregatedOrchestratorActionsReport.roleTarget.deleted, - ...aggregatedOrchestratorActionsReport.roleTarget.created, - ...aggregatedOrchestratorActionsReport.roleTarget.updated, + ...aggregatedOrchestratorActionsReport.roleTarget.delete, + ...aggregatedOrchestratorActionsReport.roleTarget.create, + ...aggregatedOrchestratorActionsReport.roleTarget.update, /// // Agents - ...aggregatedOrchestratorActionsReport.agent.deleted, - ...aggregatedOrchestratorActionsReport.agent.created, - ...aggregatedOrchestratorActionsReport.agent.updated, + ...aggregatedOrchestratorActionsReport.agent.delete, + ...aggregatedOrchestratorActionsReport.agent.create, + ...aggregatedOrchestratorActionsReport.agent.update, /// // Skills - ...aggregatedOrchestratorActionsReport.skill.deleted, - ...aggregatedOrchestratorActionsReport.skill.created, - ...aggregatedOrchestratorActionsReport.skill.updated, + ...aggregatedOrchestratorActionsReport.skill.delete, + ...aggregatedOrchestratorActionsReport.skill.create, + ...aggregatedOrchestratorActionsReport.skill.update, /// // Page layouts - ...aggregatedOrchestratorActionsReport.pageLayout.deleted, - ...aggregatedOrchestratorActionsReport.pageLayout.created, - ...aggregatedOrchestratorActionsReport.pageLayout.updated, + ...aggregatedOrchestratorActionsReport.pageLayout.delete, + ...aggregatedOrchestratorActionsReport.pageLayout.create, + ...aggregatedOrchestratorActionsReport.pageLayout.update, /// // Page layout tabs - ...aggregatedOrchestratorActionsReport.pageLayoutTab.deleted, - ...aggregatedOrchestratorActionsReport.pageLayoutTab.created, - ...aggregatedOrchestratorActionsReport.pageLayoutTab.updated, + ...aggregatedOrchestratorActionsReport.pageLayoutTab.delete, + ...aggregatedOrchestratorActionsReport.pageLayoutTab.create, + ...aggregatedOrchestratorActionsReport.pageLayoutTab.update, /// // Page layout widgets - ...aggregatedOrchestratorActionsReport.pageLayoutWidget.deleted, - ...aggregatedOrchestratorActionsReport.pageLayoutWidget.created, - ...aggregatedOrchestratorActionsReport.pageLayoutWidget.updated, + ...aggregatedOrchestratorActionsReport.pageLayoutWidget.delete, + ...aggregatedOrchestratorActionsReport.pageLayoutWidget.create, + ...aggregatedOrchestratorActionsReport.pageLayoutWidget.update, /// // Row level permission predicates ...aggregatedOrchestratorActionsReport.rowLevelPermissionPredicate - .deleted, + .delete, ...aggregatedOrchestratorActionsReport.rowLevelPermissionPredicate - .created, + .create, ...aggregatedOrchestratorActionsReport.rowLevelPermissionPredicate - .updated, + .update, /// // Row level permission predicate groups ...aggregatedOrchestratorActionsReport - .rowLevelPermissionPredicateGroup.deleted, + .rowLevelPermissionPredicateGroup.delete, ...aggregatedOrchestratorActionsReport - .rowLevelPermissionPredicateGroup.created, + .rowLevelPermissionPredicateGroup.create, ...aggregatedOrchestratorActionsReport - .rowLevelPermissionPredicateGroup.updated, + .rowLevelPermissionPredicateGroup.update, /// ], workspaceId, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type.ts index f786c473ded..4917b535510 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-orchestrator.type.ts @@ -2,8 +2,10 @@ import { type AllMetadataName } from 'twenty-shared/metadata'; import { type FromTo } from 'twenty-shared/types'; import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; -import { type MetadataWorkspaceMigrationActionsRecord } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { + type WorkspaceMigrationActionType, + type MetadataWorkspaceMigrationActionsRecord, +} from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; import { type WorkspaceMigrationBuilderAdditionalCacheDataMaps } from 'src/engine/workspace-manager/workspace-migration-v2/types/workspace-migration-builder-additional-cache-data-maps.type'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; import { type WorkspaceMigrationBuilderOptions } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-builder-options.type'; @@ -22,7 +24,10 @@ export type WorkspaceMigrationOrchestratorBuildArgs = { }; export type OrchestratorFailureReport = { - [P in AllMetadataName]: FailedFlatEntityValidation>[]; + [P in AllMetadataName]: FailedFlatEntityValidation< + P, + WorkspaceMigrationActionType + >[]; }; export type OrchestratorActionsReport = { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.spec.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.spec.ts index 63ac403bdcb..56a33de59ed 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.spec.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.spec.ts @@ -28,10 +28,11 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [ + create: [ { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-1', id: 'object-1', nameSingular: 'user', @@ -40,13 +41,14 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -66,8 +68,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -85,14 +87,15 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [], + create: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -105,7 +108,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -118,7 +122,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -131,8 +136,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -149,10 +154,11 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [ + create: [ { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-1', id: 'object-1', nameSingular: 'user', @@ -161,8 +167,9 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-2', id: 'object-2', nameSingular: 'company', @@ -171,13 +178,14 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -190,7 +198,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-2', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -210,8 +219,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -230,10 +239,11 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [ + create: [ { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-1', id: 'object-1', nameSingular: 'user', @@ -242,13 +252,14 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -261,7 +272,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-2', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -274,8 +286,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -295,14 +307,15 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [], + create: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -315,7 +328,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -328,7 +342,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -341,8 +356,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -370,10 +385,11 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [ + create: [ { - type: 'create_object', - flatObjectMetadata: getFlatObjectMetadataMock({ + type: 'create', + metadataName: 'objectMetadata', + flatEntity: getFlatObjectMetadataMock({ universalIdentifier: 'object-1', id: 'object-1', nameSingular: 'attachment', @@ -382,13 +398,14 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', flatFieldMetadatas: [], } satisfies CreateObjectAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, fieldMetadata: { - created: [ + create: [ { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: 'object-1', flatFieldMetadatas: [ getFlatFieldMetadataMock({ @@ -401,8 +418,8 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ], } satisfies CreateFieldAction, ], - updated: [], - deleted: [], + update: [], + delete: [], }, } satisfies OrchestratorActionsReport, expected: { @@ -425,7 +442,7 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', orchestratorActionsReport: input, }); - const fieldActions = result.fieldMetadata.created as CreateFieldAction[]; + const fieldActions = result.fieldMetadata.create as CreateFieldAction[]; const fieldActionCounts = fieldActions.reduce( (acc, action) => { acc[action.objectMetadataId] = @@ -437,11 +454,10 @@ describe('aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions', ); const objectActions = result.objectMetadata - .created as CreateObjectAction[]; + .create as CreateObjectAction[]; const objectActionCounts = objectActions.reduce( (acc, action) => { - acc[action.flatObjectMetadata.id] = - (acc[action.flatObjectMetadata.id] || 0) + 1; + acc[action.flatEntity.id] = (acc[action.flatEntity.id] || 0) + 1; return acc; }, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-delete-object-and-delete-field-actions.util.spec.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-delete-object-and-delete-field-actions.util.spec.ts index 1841aa4520c..21f730bd4d2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-delete-object-and-delete-field-actions.util.spec.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/__tests__/aggregate-orchestrator-actions-report-delete-object-and-delete-field-actions.util.spec.ts @@ -25,27 +25,30 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_object', - objectMetadataId: 'object-1', + type: 'delete', + metadataName: 'objectMetadata', + entityId: 'object-1', } satisfies DeleteObjectAction, ], }, fieldMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_field', - fieldMetadataId: 'field-1', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-1', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, { - type: 'delete_field', - fieldMetadataId: 'field-2', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-2', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, ], @@ -65,17 +68,18 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [], + create: [], + update: [], + delete: [], }, fieldMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_field', - fieldMetadataId: 'field-1', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-1', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, ], @@ -96,27 +100,30 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_object', - objectMetadataId: 'object-1', + type: 'delete', + metadataName: 'objectMetadata', + entityId: 'object-1', } satisfies DeleteObjectAction, ], }, fieldMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_field', - fieldMetadataId: 'field-1', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-1', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, { - type: 'delete_field', - fieldMetadataId: 'field-2', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-2', objectMetadataId: 'object-2', } satisfies DeleteFieldAction, ], @@ -138,36 +145,41 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', input: { ...createEmptyOrchestratorActionsReport(), objectMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_object', - objectMetadataId: 'object-1', + type: 'delete', + metadataName: 'objectMetadata', + entityId: 'object-1', } satisfies DeleteObjectAction, { - type: 'delete_object', - objectMetadataId: 'object-2', + type: 'delete', + metadataName: 'objectMetadata', + entityId: 'object-2', } satisfies DeleteObjectAction, ], }, fieldMetadata: { - created: [], - updated: [], - deleted: [ + create: [], + update: [], + delete: [ { - type: 'delete_field', - fieldMetadataId: 'field-1', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-1', objectMetadataId: 'object-1', } satisfies DeleteFieldAction, { - type: 'delete_field', - fieldMetadataId: 'field-2', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-2', objectMetadataId: 'object-2', } satisfies DeleteFieldAction, { - type: 'delete_field', - fieldMetadataId: 'field-3', + type: 'delete', + metadataName: 'fieldMetadata', + entityId: 'field-3', objectMetadataId: 'object-3', } satisfies DeleteFieldAction, ], @@ -204,7 +216,7 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', orchestratorActionsReport: input, }); - const fieldActions = result.fieldMetadata.deleted as DeleteFieldAction[]; + const fieldActions = result.fieldMetadata.delete as DeleteFieldAction[]; const fieldActionCounts = fieldActions.reduce( (acc, action) => { acc[action.objectMetadataId] = @@ -216,11 +228,10 @@ describe('aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions', ); const objectActions = result.objectMetadata - .deleted as DeleteObjectAction[]; + .delete as DeleteObjectAction[]; const objectActionCounts = objectActions.reduce( (acc, action) => { - acc[action.objectMetadataId] = - (acc[action.objectMetadataId] || 0) + 1; + acc[action.entityId] = (acc[action.entityId] || 0) + 1; return acc; }, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.ts index 47ab6722112..9cfb296ad3f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-create-object-and-create-field-actions.util.ts @@ -20,11 +20,11 @@ export const aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions orchestratorActionsReport, }: AggregateOrchestratorActionsReportCreateObjectAndCreateFieldActionsArgs): OrchestratorActionsReport => { const initialCreatedObjectActionByObjectMetadataId = ( - orchestratorActionsReport.objectMetadata.created as CreateObjectAction[] + orchestratorActionsReport.objectMetadata.create as CreateObjectAction[] ).reduce( (acc, createObjectAction) => ({ ...acc, - [createObjectAction.flatObjectMetadata.id]: createObjectAction, + [createObjectAction.flatEntity.id]: createObjectAction, }), {} as Record, ); @@ -38,7 +38,7 @@ export const aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions createdFieldActionByObjectMetadataId, createdObjectActionByObjectMetadataId, } = ( - orchestratorActionsReport.fieldMetadata.created as CreateFieldAction[] + orchestratorActionsReport.fieldMetadata.create as CreateFieldAction[] ).reduce( ( { @@ -182,11 +182,11 @@ export const aggregateOrchestratorActionsReportCreateObjectAndCreateFieldActions ...orchestratorActionsReport, fieldMetadata: { ...orchestratorActionsReport.fieldMetadata, - created: Object.values(createdFieldActionByObjectMetadataId), + create: Object.values(createdFieldActionByObjectMetadataId), }, objectMetadata: { ...orchestratorActionsReport.objectMetadata, - created: Object.values(createdObjectActionByObjectMetadataId), + create: Object.values(createdObjectActionByObjectMetadataId), }, }; }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-delete-object-and-delete-field.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-delete-object-and-delete-field.util.ts index 20a759e4822..04fc77480d6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-delete-object-and-delete-field.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/aggregate-orchestrator-actions-report-delete-object-and-delete-field.util.ts @@ -16,11 +16,11 @@ export const aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions orchestratorActionsReport, }: AggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActionsArgs): OrchestratorActionsReport => { const deleteObjectActionByObjectMetadataId = ( - orchestratorActionsReport.objectMetadata.deleted as DeleteObjectAction[] + orchestratorActionsReport.objectMetadata.delete as DeleteObjectAction[] ).reduce>( (acc, deleteObjectAction) => ({ ...acc, - [deleteObjectAction.objectMetadataId]: deleteObjectAction, + [deleteObjectAction.entityId]: deleteObjectAction, }), {}, ); @@ -29,7 +29,7 @@ export const aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions }; const { deleteFieldActionByFieldMetadataId } = ( - orchestratorActionsReport.fieldMetadata.deleted as DeleteFieldAction[] + orchestratorActionsReport.fieldMetadata.delete as DeleteFieldAction[] ).reduce( ({ deleteFieldActionByFieldMetadataId }, deleteFieldAction) => { const fieldParentObjectDeleteObjectAction = @@ -46,7 +46,7 @@ export const aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions return { deleteFieldActionByFieldMetadataId: { ...deleteFieldActionByFieldMetadataId, - [deleteFieldAction.fieldMetadataId]: deleteFieldAction, + [deleteFieldAction.entityId]: deleteFieldAction, }, }; }, @@ -57,7 +57,7 @@ export const aggregateOrchestratorActionsReportDeleteObjectAndDeleteFieldActions ...orchestratorActionsReport, fieldMetadata: { ...orchestratorActionsReport.fieldMetadata, - deleted: Object.values(deleteFieldActionByFieldMetadataId), + delete: Object.values(deleteFieldActionByFieldMetadataId), }, }; }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/get-metadata-empty-workspace-migration-action-record.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/get-metadata-empty-workspace-migration-action-record.util.ts index 63d99ac5c69..41f97e6df9a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/get-metadata-empty-workspace-migration-action-record.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/utils/get-metadata-empty-workspace-migration-action-record.util.ts @@ -8,7 +8,7 @@ export const getMetadataEmptyWorkspaceMigrationActionRecord = < _metadataName: T, ) => ({ - created: [], - deleted: [], - updated: [], + create: [], + delete: [], + update: [], }) as MetadataWorkspaceMigrationActionsRecord; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service.ts index 4a1da496f1b..ab38a0ae7be 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service.ts @@ -1,18 +1,9 @@ -import { type FlatAgent } from 'src/engine/metadata-modules/flat-agent/types/flat-agent.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type UpdateAgentAction = { - type: 'update_agent'; - flatEntityId: string; - flatEntityUpdates: FlatEntityPropertiesUpdates<'agent'>; -}; +export type CreateAgentAction = BaseCreateWorkspaceMigrationAction<'agent'>; -export type CreateAgentAction = { - type: 'create_agent'; - flatEntity: FlatAgent; -}; +export type UpdateAgentAction = BaseUpdateWorkspaceMigrationAction<'agent'>; -export type DeleteAgentAction = { - type: 'delete_agent'; - flatEntityId: string; -}; +export type DeleteAgentAction = BaseDeleteWorkspaceMigrationAction<'agent'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/workspace-migration-v2-agent-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/workspace-migration-v2-agent-actions-builder.service.ts index ff49837bdb3..869bccb3234 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/workspace-migration-v2-agent-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/workspace-migration-v2-agent-actions-builder.service.ts @@ -21,7 +21,7 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatAgentValidatorService.validateFlatAgentCreation(args); @@ -37,7 +37,8 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'create_agent', + type: 'create', + metadataName: 'agent', flatEntity: flatAgentToValidate, }, }; @@ -45,7 +46,7 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatAgentValidatorService.validateFlatAgentDeletion(args); @@ -61,15 +62,16 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'delete_agent', - flatEntityId: flatAgentToValidate.id, + type: 'delete', + metadataName: 'agent', + entityId: flatAgentToValidate.id, }, }; } protected validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatAgentValidatorService.validateFlatAgentUpdate(args); @@ -83,9 +85,10 @@ export class WorkspaceMigrationV2AgentActionsBuilderService extends WorkspaceEnt const { flatEntityId, flatEntityUpdates } = args; const updateAgentAction: UpdateAgentAction = { - type: 'update_agent', - flatEntityId, - flatEntityUpdates, + type: 'update', + metadataName: 'agent', + entityId: flatEntityId, + updates: flatEntityUpdates, }; return { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/types/workspace-migration-cron-trigger-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/types/workspace-migration-cron-trigger-action-v2.type.ts index ffeed771d95..def4a874641 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/types/workspace-migration-cron-trigger-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/types/workspace-migration-cron-trigger-action-v2.type.ts @@ -1,31 +1,12 @@ -import { type FlatCronTriggerPropertiesToCompare } from 'src/engine/metadata-modules/cron-trigger/types/flat-cron-trigger-properties-to-compare.type'; -import { type FlatCronTrigger } from 'src/engine/metadata-modules/cron-trigger/types/flat-cron-trigger.type'; -import { type PropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/types/property-update.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateCronTriggerAction = { - type: 'create_cron_trigger'; - cronTrigger: FlatCronTrigger; -}; +export type CreateCronTriggerAction = + BaseCreateWorkspaceMigrationAction<'cronTrigger'>; -export type UpdateCronTriggerAction = { - type: 'update_cron_trigger'; - cronTriggerId: string; - updates: Array< - { - [P in FlatCronTriggerPropertiesToCompare]: PropertyUpdate< - FlatCronTrigger, - P - >; - }[FlatCronTriggerPropertiesToCompare] - >; -}; +export type UpdateCronTriggerAction = + BaseUpdateWorkspaceMigrationAction<'cronTrigger'>; -export type DeleteCronTriggerAction = { - type: 'delete_cron_trigger'; - cronTriggerId: string; -}; - -export type WorkspaceMigrationCronTriggerActionV2 = - | CreateCronTriggerAction - | UpdateCronTriggerAction - | DeleteCronTriggerAction; +export type DeleteCronTriggerAction = + BaseDeleteWorkspaceMigrationAction<'cronTrigger'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/workspace-migration-v2-cron-trigger-action-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/workspace-migration-v2-cron-trigger-action-builder.service.ts index 8eb49ea05ad..9cca300fc2d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/workspace-migration-v2-cron-trigger-action-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/cron-trigger/workspace-migration-v2-cron-trigger-action-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.cronTrigger, - 'created' + 'create' > { const validationResult = this.flatCronTriggerValidatorService.validateFlatCronTriggerCreation( @@ -42,8 +42,9 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp return { status: 'success', action: { - type: 'create_cron_trigger', - cronTrigger: flatCronTriggerToValidate, + type: 'create', + metadataName: 'cronTrigger', + flatEntity: flatCronTriggerToValidate, }, }; } @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.cronTrigger, - 'deleted' + 'delete' > { const validationResult = this.flatCronTriggerValidatorService.validateFlatCronTriggerDeletion( @@ -71,8 +72,9 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp return { status: 'success', action: { - type: 'delete_cron_trigger', - cronTriggerId: flatCronTriggerToValidate.id, + type: 'delete', + metadataName: 'cronTrigger', + entityId: flatCronTriggerToValidate.id, }, }; } @@ -81,7 +83,7 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.cronTrigger, - 'updated' + 'update' > { const validationResult = this.flatCronTriggerValidatorService.validateFlatCronTriggerUpdate(args); @@ -95,8 +97,9 @@ export class WorkspaceMigrationV2CronTriggerActionsBuilderService extends Worksp const { flatEntityId, flatEntityUpdates } = args; const updateCronTriggerAction: UpdateCronTriggerAction = { - type: 'update_cron_trigger', - cronTriggerId: flatEntityId, + type: 'update', + metadataName: 'cronTrigger', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/types/workspace-migration-database-event-trigger-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/types/workspace-migration-database-event-trigger-action-v2.type.ts index d8657b79270..c63cb30a0ca 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/types/workspace-migration-database-event-trigger-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/types/workspace-migration-database-event-trigger-action-v2.type.ts @@ -1,23 +1,12 @@ -import { type FlatDatabaseEventTrigger } from 'src/engine/metadata-modules/database-event-trigger/types/flat-database-event-trigger.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateDatabaseEventTriggerAction = { - type: 'create_database_event_trigger'; - databaseEventTrigger: FlatDatabaseEventTrigger; -}; +export type CreateDatabaseEventTriggerAction = + BaseCreateWorkspaceMigrationAction<'databaseEventTrigger'>; -export type UpdateDatabaseEventTriggerAction = { - type: 'update_database_event_trigger'; - databaseEventTriggerId: string; - updates: FlatEntityPropertiesUpdates<'databaseEventTrigger'>; -}; +export type UpdateDatabaseEventTriggerAction = + BaseUpdateWorkspaceMigrationAction<'databaseEventTrigger'>; -export type DeleteDatabaseEventTriggerAction = { - type: 'delete_database_event_trigger'; - databaseEventTriggerId: string; -}; - -export type WorkspaceMigrationDatabaseEventTriggerActionV2 = - | CreateDatabaseEventTriggerAction - | UpdateDatabaseEventTriggerAction - | DeleteDatabaseEventTriggerAction; +export type DeleteDatabaseEventTriggerAction = + BaseDeleteWorkspaceMigrationAction<'databaseEventTrigger'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/workspace-migration-v2-database-event-trigger-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/workspace-migration-v2-database-event-trigger-actions-builder.service.ts index c7d6d92e6df..40f3f7c290e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/workspace-migration-v2-database-event-trigger-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/database-event-trigger/workspace-migration-v2-database-event-trigger-actions-builder.service.ts @@ -25,7 +25,7 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.databaseEventTrigger, - 'created' + 'create' > { const validationResult = this.flatDatabaseEventTriggerValidatorService.validateFlatDatabaseEventTriggerCreation( @@ -44,8 +44,9 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten return { status: 'success', action: { - type: 'create_database_event_trigger', - databaseEventTrigger: flatDatabaseEventTriggerToValidate, + type: 'create', + metadataName: 'databaseEventTrigger', + flatEntity: flatDatabaseEventTriggerToValidate, }, }; } @@ -56,7 +57,7 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.databaseEventTrigger, - 'deleted' + 'delete' > { const validationResult = this.flatDatabaseEventTriggerValidatorService.validateFlatDatabaseEventTriggerDeletion( @@ -75,8 +76,9 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten return { status: 'success', action: { - type: 'delete_database_event_trigger', - databaseEventTriggerId: flatDatabaseEventTriggerToValidate.id, + type: 'delete', + metadataName: 'databaseEventTrigger', + entityId: flatDatabaseEventTriggerToValidate.id, }, }; } @@ -87,7 +89,7 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.databaseEventTrigger, - 'updated' + 'update' > { const validationResult = this.flatDatabaseEventTriggerValidatorService.validateFlatDatabaseEventTriggerUpdate( @@ -104,8 +106,9 @@ export class WorkspaceMigrationV2DatabaseEventTriggerActionsBuilderService exten const { flatEntityId, flatEntityUpdates } = args; const updateDatabaseEventTriggerAction: UpdateDatabaseEventTriggerAction = { - type: 'update_database_event_trigger', - databaseEventTriggerId: flatEntityId, + type: 'update', + metadataName: 'databaseEventTrigger', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2.ts index 8f7439eecd8..b09cb82143e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2.ts @@ -1,29 +1,22 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateFieldAction = { - type: 'create_field'; +export type CreateFieldAction = Omit< + BaseCreateWorkspaceMigrationAction<'fieldMetadata'>, + 'flatEntity' +> & { objectMetadataId: string; flatFieldMetadatas: FlatFieldMetadata[]; }; -export type UpdateFieldAction = { - type: 'update_field'; - fieldMetadataId: string; - objectMetadataId: string; - updates: FlatEntityPropertiesUpdates<'fieldMetadata'>; -}; +export type UpdateFieldAction = + BaseUpdateWorkspaceMigrationAction<'fieldMetadata'> & { + objectMetadataId: string; + }; -export type DeleteFieldAction = { - type: 'delete_field'; - fieldMetadataId: string; - objectMetadataId: string; -}; - -export type WorkspaceMigrationFieldActionV2 = - | CreateFieldAction - | UpdateFieldAction - | DeleteFieldAction; - -export type WorkspaceMigrationFieldActionTypeV2 = - WorkspaceMigrationFieldActionV2['type']; +export type DeleteFieldAction = + BaseDeleteWorkspaceMigrationAction<'fieldMetadata'> & { + objectMetadataId: string; + }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/workspace-migration-v2-field-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/workspace-migration-v2-field-actions-builder.service.ts index 17d1027a748..caccedb7c80 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/workspace-migration-v2-field-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/workspace-migration-v2-field-actions-builder.service.ts @@ -24,7 +24,7 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.fieldMetadata, - 'created' + 'create' > { const validationResult = this.flatFieldValidatorService.validateFlatFieldMetadataCreation(args); @@ -41,7 +41,8 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'create_field', + type: 'create', + metadataName: 'fieldMetadata', objectMetadataId: flatFieldMetadataToValidate.objectMetadataId, flatFieldMetadatas: [flatFieldMetadataToValidate], }, @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.fieldMetadata, - 'deleted' + 'delete' > { const validationResult = this.flatFieldValidatorService.validateFlatFieldMetadataDeletion(args); @@ -69,8 +70,9 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'delete_field', - fieldMetadataId: flatFieldMetadataToValidate.id, + type: 'delete', + metadataName: 'fieldMetadata', + entityId: flatFieldMetadataToValidate.id, objectMetadataId: flatFieldMetadataToValidate.objectMetadataId, }, }; @@ -82,7 +84,7 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.fieldMetadata, - 'updated' + 'update' > { const validationResult = this.flatFieldValidatorService.validateFlatFieldMetadataUpdate(args); @@ -107,8 +109,9 @@ export class WorkspaceMigrationV2FieldActionsBuilderService extends WorkspaceEnt }); const updateFieldAction: UpdateFieldAction = { - type: 'update_field', - fieldMetadataId: flatEntityId, + type: 'update', + metadataName: 'fieldMetadata', + entityId: flatEntityId, objectMetadataId: flatFieldMetadata.objectMetadataId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2.ts index 7603c811891..c822c9fe39c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2.ts @@ -1,18 +1,14 @@ import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; -export type CreateIndexAction = { - type: 'create_index'; - flatIndexMetadata: FlatIndexMetadata; +export type CreateIndexAction = BaseCreateWorkspaceMigrationAction<'index'>; + +export type DeleteIndexAction = BaseDeleteWorkspaceMigrationAction<'index'>; + +export type UpdateIndexAction = { + type: 'update'; + metadataName: 'index'; + entityId: string; + updatedFlatEntity: FlatIndexMetadata; }; - -export type DeleteIndexAction = { - type: 'delete_index'; - flatIndexMetadataId: string; -}; - -export type WorkspaceMigrationIndexActionV2 = - | CreateIndexAction - | DeleteIndexAction; - -export type WorkspaceMigrationIndexActionTypeV2 = - WorkspaceMigrationIndexActionV2['type']; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/workspace-migration-v2-index-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/workspace-migration-v2-index-actions-builder.service.ts index 74b4dd46fa7..3f5fa8302b7 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/workspace-migration-v2-index-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/workspace-migration-v2-index-actions-builder.service.ts @@ -27,7 +27,7 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatIndexValidatorService.validateFlatIndexCreation(args); @@ -43,15 +43,16 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'create_index', - flatIndexMetadata: flatIndexToValidate, + type: 'create', + metadataName: 'index', + flatEntity: flatIndexToValidate, }, }; } protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatIndexValidatorService.validateFlatIndexDeletion(args); @@ -67,8 +68,9 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'delete_index', - flatIndexMetadataId: flatIndexToValidate.id, + type: 'delete', + metadataName: 'index', + entityId: flatIndexToValidate.id, }, }; } @@ -81,10 +83,7 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt workspaceId, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.index - >): FlatEntityValidationReturnType< - typeof ALL_METADATA_NAME.index, - 'updated' - > { + >): FlatEntityValidationReturnType { const flatEntity = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: @@ -94,8 +93,11 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt if (!isDefined(flatEntity)) { return { status: 'fail', - type: 'delete_index', - flatEntityMinimalInformation: {}, + metadataName: 'index', + type: 'update', + flatEntityMinimalInformation: { + id: flatEntityId, + }, errors: [ { code: FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, @@ -116,7 +118,11 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt if (deletionValidationResult.errors.length > 0) { return { status: 'fail', - ...deletionValidationResult, + type: 'update', + errors: deletionValidationResult.errors, + flatEntityMinimalInformation: + deletionValidationResult.flatEntityMinimalInformation, + metadataName: deletionValidationResult.metadataName, }; } @@ -151,22 +157,22 @@ export class WorkspaceMigrationV2IndexActionsBuilderService extends WorkspaceEnt if (creationValidationResult.errors.length > 0) { return { status: 'fail', - ...creationValidationResult, + type: 'update', + errors: creationValidationResult.errors, + flatEntityMinimalInformation: + creationValidationResult.flatEntityMinimalInformation, + metadataName: creationValidationResult.metadataName, }; } return { status: 'success', - action: [ - { - type: 'delete_index', - flatIndexMetadataId: flatEntity.id, - }, - { - type: 'create_index', - flatIndexMetadata: updatedFlatIndex, - }, - ], + action: { + type: 'update', + metadataName: 'index', + entityId: flatEntity.id, + updatedFlatEntity: updatedFlatIndex, + }, }; } } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2.ts index 53d1be8fb9e..9fd8f34c6b6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/types/workspace-migration-object-action-v2.ts @@ -1,34 +1,15 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; -import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateObjectAction = { - type: 'create_object'; - flatObjectMetadata: FlatObjectMetadata; - flatFieldMetadatas: FlatFieldMetadata[]; -}; +export type CreateObjectAction = + BaseCreateWorkspaceMigrationAction<'objectMetadata'> & { + flatFieldMetadatas: FlatFieldMetadata[]; + }; -export type UpdateObjectAction = { - type: 'update_object'; - objectMetadataId: string; - updates: FlatEntityPropertiesUpdates<'objectMetadata'>; -}; +export type UpdateObjectAction = + BaseUpdateWorkspaceMigrationAction<'objectMetadata'>; -export type DeleteObjectAction = { - type: 'delete_object'; - objectMetadataId: string; -}; - -export type WorkspaceMigrationObjectActionV2 = - | CreateObjectAction - | UpdateObjectAction - | DeleteObjectAction; - -export type WorkspaceMigrationObjectActionTypeV2 = - WorkspaceMigrationObjectActionV2['type']; - -export const WORKSPACE_MIGRATION_OBJECT_ACTION_TYPES = [ - 'create_object', - 'delete_object', - 'update_object', -] as const satisfies WorkspaceMigrationObjectActionTypeV2[]; +export type DeleteObjectAction = + BaseDeleteWorkspaceMigrationAction<'objectMetadata'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/workspace-migration-v2-object-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/workspace-migration-v2-object-actions-builder.service.ts index 35f5d43bdd9..cb2d4c20198 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/workspace-migration-v2-object-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/object/workspace-migration-v2-object-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.objectMetadata, - 'created' + 'create' > { const validationResult = this.flatObjectValidatorService.validateFlatObjectMetadataCreation(args); @@ -40,9 +40,10 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn return { status: 'success', action: { - type: 'create_object', + type: 'create', + metadataName: 'objectMetadata', flatFieldMetadatas: [], - flatObjectMetadata: flatObjectMetadataToValidate, + flatEntity: flatObjectMetadataToValidate, }, }; } @@ -51,7 +52,7 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.objectMetadata, - 'deleted' + 'delete' > { const validationResult = this.flatObjectValidatorService.validateFlatObjectMetadataDeletion(args); @@ -68,8 +69,9 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn return { status: 'success', action: { - type: 'delete_object', - objectMetadataId: flatObjectMetadataToValidate.id, + type: 'delete', + metadataName: 'objectMetadata', + entityId: flatObjectMetadataToValidate.id, }, }; } @@ -80,7 +82,7 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.objectMetadata, - 'updated' + 'update' > { const validationResult = this.flatObjectValidatorService.validateFlatObjectMetadataUpdate(args); @@ -95,8 +97,9 @@ export class WorkspaceMigrationV2ObjectActionsBuilderService extends WorkspaceEn const { flatEntityId, flatEntityUpdates } = args; const updateObjectAction: UpdateObjectAction = { - type: 'update_object', - objectMetadataId: flatEntityId, + type: 'update', + metadataName: 'objectMetadata', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type.ts index caf66ed272b..6764eb017b1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type.ts @@ -1,18 +1,12 @@ -import { type FlatPageLayoutTab } from 'src/engine/metadata-modules/flat-page-layout-tab/types/flat-page-layout-tab.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type UpdatePageLayoutTabAction = { - type: 'update_page_layout_tab'; - flatEntityId: string; - flatEntityUpdates: FlatEntityPropertiesUpdates<'pageLayoutTab'>; -}; +export type CreatePageLayoutTabAction = + BaseCreateWorkspaceMigrationAction<'pageLayoutTab'>; -export type CreatePageLayoutTabAction = { - type: 'create_page_layout_tab'; - flatEntity: FlatPageLayoutTab; -}; +export type UpdatePageLayoutTabAction = + BaseUpdateWorkspaceMigrationAction<'pageLayoutTab'>; -export type DeletePageLayoutTabAction = { - type: 'delete_page_layout_tab'; - flatEntityId: string; -}; +export type DeletePageLayoutTabAction = + BaseDeleteWorkspaceMigrationAction<'pageLayoutTab'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/workspace-migration-v2-page-layout-tab-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/workspace-migration-v2-page-layout-tab-actions-builder.service.ts index 19af3153d8b..aba38a0c2bc 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/workspace-migration-v2-page-layout-tab-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/workspace-migration-v2-page-layout-tab-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutTab, - 'created' + 'create' > { const validationResult = this.flatPageLayoutTabValidatorService.validateFlatPageLayoutTabCreation( @@ -42,7 +42,8 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work return { status: 'success', action: { - type: 'create_page_layout_tab', + type: 'create', + metadataName: 'pageLayoutTab', flatEntity: flatPageLayoutTabToValidate, }, }; @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutTab, - 'deleted' + 'delete' > { const validationResult = this.flatPageLayoutTabValidatorService.validateFlatPageLayoutTabDeletion( @@ -71,8 +72,9 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work return { status: 'success', action: { - type: 'delete_page_layout_tab', - flatEntityId: flatPageLayoutTabToValidate.id, + type: 'delete', + metadataName: 'pageLayoutTab', + entityId: flatPageLayoutTabToValidate.id, }, }; } @@ -83,7 +85,7 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutTab, - 'updated' + 'update' > { const validationResult = this.flatPageLayoutTabValidatorService.validateFlatPageLayoutTabUpdate( @@ -100,9 +102,10 @@ export class WorkspaceMigrationV2PageLayoutTabActionsBuilderService extends Work const { flatEntityId, flatEntityUpdates } = args; const updatePageLayoutTabAction: UpdatePageLayoutTabAction = { - type: 'update_page_layout_tab', - flatEntityId, - flatEntityUpdates, + type: 'update', + metadataName: 'pageLayoutTab', + entityId: flatEntityId, + updates: flatEntityUpdates, }; return { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type.ts index 8aae3aa861e..74604224d22 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type.ts @@ -1,18 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatPageLayoutWidget } from 'src/engine/metadata-modules/flat-page-layout-widget/types/flat-page-layout-widget.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreatePageLayoutWidgetAction = { - type: 'create_page_layout_widget'; - pageLayoutWidget: FlatPageLayoutWidget; -}; +export type CreatePageLayoutWidgetAction = + BaseCreateWorkspaceMigrationAction<'pageLayoutWidget'>; -export type UpdatePageLayoutWidgetAction = { - type: 'update_page_layout_widget'; - pageLayoutWidgetId: string; - updates: FlatEntityPropertiesUpdates<'pageLayoutWidget'>; -}; +export type UpdatePageLayoutWidgetAction = + BaseUpdateWorkspaceMigrationAction<'pageLayoutWidget'>; -export type DeletePageLayoutWidgetAction = { - type: 'delete_page_layout_widget'; - pageLayoutWidgetId: string; -}; +export type DeletePageLayoutWidgetAction = + BaseDeleteWorkspaceMigrationAction<'pageLayoutWidget'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/workspace-migration-v2-page-layout-widget-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/workspace-migration-v2-page-layout-widget-actions-builder.service.ts index 6fbec4555b1..46146e7ac02 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/workspace-migration-v2-page-layout-widget-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/workspace-migration-v2-page-layout-widget-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutWidget, - 'created' + 'create' > { const validationResult = this.flatPageLayoutWidgetValidatorService.validateFlatPageLayoutWidgetCreation( @@ -40,8 +40,9 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W return { status: 'success', action: { - type: 'create_page_layout_widget', - pageLayoutWidget: args.flatEntityToValidate, + type: 'create', + metadataName: 'pageLayoutWidget', + flatEntity: args.flatEntityToValidate, }, }; } @@ -50,7 +51,7 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutWidget, - 'deleted' + 'delete' > { const validationResult = this.flatPageLayoutWidgetValidatorService.validateFlatPageLayoutWidgetDeletion( @@ -69,8 +70,9 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W return { status: 'success', action: { - type: 'delete_page_layout_widget', - pageLayoutWidgetId: flatPageLayoutWidgetToValidate.id, + type: 'delete', + metadataName: 'pageLayoutWidget', + entityId: flatPageLayoutWidgetToValidate.id, }, }; } @@ -81,7 +83,7 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayoutWidget, - 'updated' + 'update' > { const validationResult = this.flatPageLayoutWidgetValidatorService.validateFlatPageLayoutWidgetUpdate( @@ -98,8 +100,9 @@ export class WorkspaceMigrationV2PageLayoutWidgetActionsBuilderService extends W const { flatEntityId, flatEntityUpdates } = args; const updatePageLayoutWidgetAction: UpdatePageLayoutWidgetAction = { - type: 'update_page_layout_widget', - pageLayoutWidgetId: flatEntityId, + type: 'update', + metadataName: 'pageLayoutWidget', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type.ts index 793469e2986..5e169c45996 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type.ts @@ -1,18 +1,12 @@ -import { type FlatPageLayout } from 'src/engine/metadata-modules/flat-page-layout/types/flat-page-layout.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type UpdatePageLayoutAction = { - type: 'update_page_layout'; - flatEntityId: string; - flatEntityUpdates: FlatEntityPropertiesUpdates<'pageLayout'>; -}; +export type CreatePageLayoutAction = + BaseCreateWorkspaceMigrationAction<'pageLayout'>; -export type CreatePageLayoutAction = { - type: 'create_page_layout'; - flatEntity: FlatPageLayout; -}; +export type UpdatePageLayoutAction = + BaseUpdateWorkspaceMigrationAction<'pageLayout'>; -export type DeletePageLayoutAction = { - type: 'delete_page_layout'; - flatEntityId: string; -}; +export type DeletePageLayoutAction = + BaseDeleteWorkspaceMigrationAction<'pageLayout'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/workspace-migration-v2-page-layout-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/workspace-migration-v2-page-layout-actions-builder.service.ts index 1ff79ee1eea..c42febe88fa 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/workspace-migration-v2-page-layout-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/workspace-migration-v2-page-layout-actions-builder.service.ts @@ -24,7 +24,7 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa ): Promise< FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayout, - 'created' + 'create' > > { const validationResult = @@ -42,7 +42,8 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'create_page_layout', + type: 'create', + metadataName: 'pageLayout', flatEntity: flatPageLayoutToValidate, }, }; @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayout, - 'deleted' + 'delete' > { const validationResult = this.flatPageLayoutValidatorService.validateFlatPageLayoutDeletion(args); @@ -69,8 +70,9 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'delete_page_layout', - flatEntityId: flatPageLayoutToValidate.id, + type: 'delete', + metadataName: 'pageLayout', + entityId: flatPageLayoutToValidate.id, }, }; } @@ -80,7 +82,7 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa ): Promise< FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.pageLayout, - 'updated' + 'update' > > { const validationResult = @@ -96,9 +98,10 @@ export class WorkspaceMigrationV2PageLayoutActionsBuilderService extends Workspa const { flatEntityId, flatEntityUpdates } = args; const updatePageLayoutAction: UpdatePageLayoutAction = { - type: 'update_page_layout', - flatEntityId, - flatEntityUpdates, + type: 'update', + metadataName: 'pageLayout', + entityId: flatEntityId, + updates: flatEntityUpdates, }; return { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type.ts index 9d821ac41db..d6045c31133 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRoleTarget } from 'src/engine/metadata-modules/flat-role-target/types/flat-role-target.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRoleTargetAction = { - type: 'create_role_target'; - roleTarget: FlatRoleTarget; -}; +export type CreateRoleTargetAction = + BaseCreateWorkspaceMigrationAction<'roleTarget'>; -export type UpdateRoleTargetAction = { - type: 'update_role_target'; - roleTargetId: string; - updates: FlatEntityPropertiesUpdates<'roleTarget'>; -}; +export type UpdateRoleTargetAction = + BaseUpdateWorkspaceMigrationAction<'roleTarget'>; -export type DeleteRoleTargetAction = { - type: 'delete_role_target'; - roleTargetId: string; -}; - -export type WorkspaceMigrationRoleTargetActionV2 = - | CreateRoleTargetAction - | UpdateRoleTargetAction - | DeleteRoleTargetAction; - -export type WorkspaceMigrationRoleTargetActionTypeV2 = - WorkspaceMigrationRoleTargetActionV2['type']; +export type DeleteRoleTargetAction = + BaseDeleteWorkspaceMigrationAction<'roleTarget'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/workspace-migration-v2-role-target-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/workspace-migration-v2-role-target-actions-builder.service.ts index 1e4ac1ee902..7d3c775b26b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/workspace-migration-v2-role-target-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/workspace-migration-v2-role-target-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.roleTarget, - 'created' + 'create' > { const validationResult = this.flatRoleTargetValidatorService.validateFlatRoleTargetCreation(args); @@ -40,8 +40,9 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'create_role_target', - roleTarget: flatRoleTargetToValidate, + type: 'create', + metadataName: 'roleTarget', + flatEntity: flatRoleTargetToValidate, }, }; } @@ -50,7 +51,7 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.roleTarget, - 'deleted' + 'delete' > { const validationResult = this.flatRoleTargetValidatorService.validateFlatRoleTargetDeletion(args); @@ -67,8 +68,9 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'delete_role_target', - roleTargetId: flatRoleTargetToValidate.id, + type: 'delete', + metadataName: 'roleTarget', + entityId: flatRoleTargetToValidate.id, }, }; } @@ -77,7 +79,7 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.roleTarget, - 'updated' + 'update' > { const validationResult = this.flatRoleTargetValidatorService.validateFlatRoleTargetUpdate(args); @@ -92,8 +94,9 @@ export class WorkspaceMigrationV2RoleTargetActionsBuilderService extends Workspa const { flatEntityId, flatEntityUpdates } = args; const updateRoleTargetAction: UpdateRoleTargetAction = { - type: 'update_role_target', - roleTargetId: flatEntityId, + type: 'update', + metadataName: 'roleTarget', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type.ts index 426269235e4..b6bedc99290 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type.ts @@ -1,26 +1,9 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRole } from 'src/engine/metadata-modules/flat-role/types/flat-role.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRoleAction = { - type: 'create_role'; - role: FlatRole; -}; +export type CreateRoleAction = BaseCreateWorkspaceMigrationAction<'role'>; -export type UpdateRoleAction = { - type: 'update_role'; - roleId: string; - updates: FlatEntityPropertiesUpdates<'role'>; -}; +export type UpdateRoleAction = BaseUpdateWorkspaceMigrationAction<'role'>; -export type DeleteRoleAction = { - type: 'delete_role'; - roleId: string; -}; - -export type WorkspaceMigrationRoleActionV2 = - | CreateRoleAction - | UpdateRoleAction - | DeleteRoleAction; - -export type WorkspaceMigrationRoleActionTypeV2 = - WorkspaceMigrationRoleActionV2['type']; +export type DeleteRoleAction = BaseDeleteWorkspaceMigrationAction<'role'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/workspace-migration-v2-role-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/workspace-migration-v2-role-actions-builder.service.ts index bc31e28919f..cbad2fc1d94 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/workspace-migration-v2-role-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/workspace-migration-v2-role-actions-builder.service.ts @@ -21,7 +21,7 @@ export class WorkspaceMigrationV2RoleActionsBuilderService extends WorkspaceEnti protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatRoleValidatorService.validateFlatRoleCreation(args); @@ -37,15 +37,16 @@ export class WorkspaceMigrationV2RoleActionsBuilderService extends WorkspaceEnti return { status: 'success', action: { - type: 'create_role', - role: flatRoleToValidate, + type: 'create', + metadataName: 'role', + flatEntity: flatRoleToValidate, }, }; } protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatRoleValidatorService.validateFlatRoleDeletion(args); @@ -61,15 +62,16 @@ export class WorkspaceMigrationV2RoleActionsBuilderService extends WorkspaceEnti return { status: 'success', action: { - type: 'delete_role', - roleId: flatRoleToValidate.id, + type: 'delete', + metadataName: 'role', + entityId: flatRoleToValidate.id, }, }; } protected validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatRoleValidatorService.validateFlatRoleUpdate(args); @@ -83,8 +85,9 @@ export class WorkspaceMigrationV2RoleActionsBuilderService extends WorkspaceEnti const { flatEntityId, flatEntityUpdates } = args; const updateRoleAction: UpdateRoleAction = { - type: 'update_role', - roleId: flatEntityId, + type: 'update', + metadataName: 'role', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/types/workspace-migration-route-trigger-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/types/workspace-migration-route-trigger-action-v2.type.ts index 0b951596103..c0e81edb443 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/types/workspace-migration-route-trigger-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/types/workspace-migration-route-trigger-action-v2.type.ts @@ -1,23 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRouteTrigger } from 'src/engine/metadata-modules/route-trigger/types/flat-route-trigger.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRouteTriggerAction = { - type: 'create_route_trigger'; - routeTrigger: FlatRouteTrigger; -}; +export type CreateRouteTriggerAction = + BaseCreateWorkspaceMigrationAction<'routeTrigger'>; -export type UpdateRouteTriggerAction = { - type: 'update_route_trigger'; - routeTriggerId: string; - updates: FlatEntityPropertiesUpdates<'routeTrigger'>; -}; +export type UpdateRouteTriggerAction = + BaseUpdateWorkspaceMigrationAction<'routeTrigger'>; -export type DeleteRouteTriggerAction = { - type: 'delete_route_trigger'; - routeTriggerId: string; -}; - -export type WorkspaceMigrationRouteTriggerActionV2 = - | CreateRouteTriggerAction - | UpdateRouteTriggerAction - | DeleteRouteTriggerAction; +export type DeleteRouteTriggerAction = + BaseDeleteWorkspaceMigrationAction<'routeTrigger'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/workspace-migration-v2-route-trigger-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/workspace-migration-v2-route-trigger-actions-builder.service.ts index 92800fbf6b7..ef88b235463 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/workspace-migration-v2-route-trigger-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/route-trigger/workspace-migration-v2-route-trigger-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.routeTrigger, - 'created' + 'create' > { const validationResult = this.flatRouteTriggerValidatorService.validateFlatRouteTriggerCreation( @@ -42,8 +42,9 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works return { status: 'success', action: { - type: 'create_route_trigger', - routeTrigger: flatRouteTriggerToValidate, + type: 'create', + metadataName: 'routeTrigger', + flatEntity: flatRouteTriggerToValidate, }, }; } @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.routeTrigger, - 'deleted' + 'delete' > { const validationResult = this.flatRouteTriggerValidatorService.validateFlatRouteTriggerDeletion( @@ -71,8 +72,9 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works return { status: 'success', action: { - type: 'delete_route_trigger', - routeTriggerId: flatRouteTriggerToValidate.id, + type: 'delete', + metadataName: 'routeTrigger', + entityId: flatRouteTriggerToValidate.id, }, }; } @@ -81,7 +83,7 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.routeTrigger, - 'updated' + 'update' > { const validationResult = this.flatRouteTriggerValidatorService.validateFlatRouteTriggerUpdate( @@ -98,8 +100,9 @@ export class WorkspaceMigrationV2RouteTriggerActionsBuilderService extends Works const { flatEntityId, flatEntityUpdates } = args; const updateRouteTriggerAction: UpdateRouteTriggerAction = { - type: 'update_route_trigger', - routeTriggerId: flatEntityId, + type: 'update', + metadataName: 'routeTrigger', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type.ts index 67f68bc388f..bb61b01438c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type.ts @@ -1,28 +1,14 @@ /* @license Enterprise */ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRowLevelPermissionPredicateGroup } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRowLevelPermissionPredicateGroupAction = { - type: 'create_row_level_permission_predicate_group'; - rowLevelPermissionPredicateGroup: FlatRowLevelPermissionPredicateGroup; -}; +export type CreateRowLevelPermissionPredicateGroupAction = + BaseCreateWorkspaceMigrationAction<'rowLevelPermissionPredicateGroup'>; -export type UpdateRowLevelPermissionPredicateGroupAction = { - type: 'update_row_level_permission_predicate_group'; - rowLevelPermissionPredicateGroupId: string; - updates: FlatEntityPropertiesUpdates<'rowLevelPermissionPredicateGroup'>; -}; +export type UpdateRowLevelPermissionPredicateGroupAction = + BaseUpdateWorkspaceMigrationAction<'rowLevelPermissionPredicateGroup'>; -export type DeleteRowLevelPermissionPredicateGroupAction = { - type: 'delete_row_level_permission_predicate_group'; - rowLevelPermissionPredicateGroupId: string; -}; - -export type WorkspaceMigrationRowLevelPermissionPredicateGroupActionV2 = - | CreateRowLevelPermissionPredicateGroupAction - | UpdateRowLevelPermissionPredicateGroupAction - | DeleteRowLevelPermissionPredicateGroupAction; - -export type WorkspaceMigrationRowLevelPermissionPredicateGroupActionTypeV2 = - WorkspaceMigrationRowLevelPermissionPredicateGroupActionV2['type']; +export type DeleteRowLevelPermissionPredicateGroupAction = + BaseDeleteWorkspaceMigrationAction<'rowLevelPermissionPredicateGroup'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/workspace-migration-v2-row-level-permission-predicate-group-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/workspace-migration-v2-row-level-permission-predicate-group-actions-builder.service.ts index 94c1b384641..b64b674f971 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/workspace-migration-v2-row-level-permission-predicate-group-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/workspace-migration-v2-row-level-permission-predicate-group-actions-builder.service.ts @@ -27,7 +27,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup, - 'created' + 'create' > { const validationResult = this.flatRowLevelPermissionPredicateGroupValidatorService.validateFlatRowLevelPermissionPredicateGroupCreation( @@ -46,8 +46,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS return { status: 'success', action: { - type: 'create_row_level_permission_predicate_group', - rowLevelPermissionPredicateGroup: flatEntityToValidate, + type: 'create', + metadataName: 'rowLevelPermissionPredicateGroup', + flatEntity: flatEntityToValidate, }, }; } @@ -58,7 +59,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup, - 'deleted' + 'delete' > { const validationResult = this.flatRowLevelPermissionPredicateGroupValidatorService.validateFlatRowLevelPermissionPredicateGroupDeletion( @@ -79,8 +80,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS return { status: 'success', action: { - type: 'delete_row_level_permission_predicate_group', - rowLevelPermissionPredicateGroupId: predicateGroupId, + type: 'delete', + metadataName: 'rowLevelPermissionPredicateGroup', + entityId: predicateGroupId, }, }; } @@ -91,7 +93,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup, - 'updated' + 'update' > { const validationResult = this.flatRowLevelPermissionPredicateGroupValidatorService.validateFlatRowLevelPermissionPredicateGroupUpdate( @@ -108,8 +110,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateGroupActionsBuilderS const { flatEntityId, flatEntityUpdates } = args; const updateAction: UpdateRowLevelPermissionPredicateGroupAction = { - type: 'update_row_level_permission_predicate_group', - rowLevelPermissionPredicateGroupId: flatEntityId, + type: 'update', + metadataName: 'rowLevelPermissionPredicateGroup', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type.ts index 73aaa0bb28d..e7f5379df5b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type.ts @@ -1,34 +1,14 @@ /* @license Enterprise */ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatRowLevelPermissionPredicate } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateRowLevelPermissionPredicateAction = { - type: 'create_row_level_permission_predicate'; - rowLevelPermissionPredicate: FlatRowLevelPermissionPredicate; -}; +export type CreateRowLevelPermissionPredicateAction = + BaseCreateWorkspaceMigrationAction<'rowLevelPermissionPredicate'>; -export type UpdateRowLevelPermissionPredicateAction = { - type: 'update_row_level_permission_predicate'; - rowLevelPermissionPredicateId: string; - updates: FlatEntityPropertiesUpdates<'rowLevelPermissionPredicate'>; -}; +export type UpdateRowLevelPermissionPredicateAction = + BaseUpdateWorkspaceMigrationAction<'rowLevelPermissionPredicate'>; -export type DeleteRowLevelPermissionPredicateAction = { - type: 'delete_row_level_permission_predicate'; - rowLevelPermissionPredicateId: string; -}; - -export type DestroyRowLevelPermissionPredicateAction = { - type: 'destroy_row_level_permission_predicate'; - rowLevelPermissionPredicateId: string; -}; - -export type WorkspaceMigrationRowLevelPermissionPredicateActionV2 = - | CreateRowLevelPermissionPredicateAction - | UpdateRowLevelPermissionPredicateAction - | DeleteRowLevelPermissionPredicateAction - | DestroyRowLevelPermissionPredicateAction; - -export type WorkspaceMigrationRowLevelPermissionPredicateActionTypeV2 = - WorkspaceMigrationRowLevelPermissionPredicateActionV2['type']; +export type DeleteRowLevelPermissionPredicateAction = + BaseDeleteWorkspaceMigrationAction<'rowLevelPermissionPredicate'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/workspace-migration-v2-row-level-permission-predicate-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/workspace-migration-v2-row-level-permission-predicate-actions-builder.service.ts index 54b673a9338..d5a010a75bc 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/workspace-migration-v2-row-level-permission-predicate-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/workspace-migration-v2-row-level-permission-predicate-actions-builder.service.ts @@ -27,7 +27,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate, - 'created' + 'create' > { const validationResult = this.flatRowLevelPermissionPredicateValidatorService.validateFlatRowLevelPermissionPredicateCreation( @@ -46,8 +46,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic return { status: 'success', action: { - type: 'create_row_level_permission_predicate', - rowLevelPermissionPredicate: flatEntityToValidate, + type: 'create', + metadataName: 'rowLevelPermissionPredicate', + flatEntity: flatEntityToValidate, }, }; } @@ -58,7 +59,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate, - 'deleted' + 'delete' > { const validationResult = this.flatRowLevelPermissionPredicateValidatorService.validateFlatRowLevelPermissionPredicateDeletion( @@ -79,8 +80,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic return { status: 'success', action: { - type: 'delete_row_level_permission_predicate', - rowLevelPermissionPredicateId: predicateId, + type: 'delete', + metadataName: 'rowLevelPermissionPredicate', + entityId: predicateId, }, }; } @@ -91,7 +93,7 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate, - 'updated' + 'update' > { const validationResult = this.flatRowLevelPermissionPredicateValidatorService.validateFlatRowLevelPermissionPredicateUpdate( @@ -108,8 +110,9 @@ export class WorkspaceMigrationV2RowLevelPermissionPredicateActionsBuilderServic const { flatEntityId, flatEntityUpdates } = args; const updateAction: UpdateRowLevelPermissionPredicateAction = { - type: 'update_row_level_permission_predicate', - rowLevelPermissionPredicateId: flatEntityId, + type: 'update', + metadataName: 'rowLevelPermissionPredicate', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/types/workspace-migration-serverless-function-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/types/workspace-migration-serverless-function-action-v2.type.ts index c8b3e63b43f..0b195a0c7c0 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/types/workspace-migration-serverless-function-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/types/workspace-migration-serverless-function-action-v2.type.ts @@ -1,29 +1,16 @@ import { type Sources } from 'twenty-shared/types'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatServerlessFunction } from 'src/engine/metadata-modules/serverless-function/types/flat-serverless-function.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateServerlessFunctionAction = { - type: 'create_serverless_function'; - serverlessFunction: FlatServerlessFunction; -}; +export type CreateServerlessFunctionAction = + BaseCreateWorkspaceMigrationAction<'serverlessFunction'>; -export type UpdateServerlessFunctionAction = { - type: 'update_serverless_function'; - serverlessFunctionId: string; - code?: Sources; - updates: FlatEntityPropertiesUpdates<'serverlessFunction'>; -}; +export type UpdateServerlessFunctionAction = + BaseUpdateWorkspaceMigrationAction<'serverlessFunction'> & { + code?: Sources; + }; -export type DeleteServerlessFunctionAction = { - type: 'delete_serverless_function'; - serverlessFunctionId: string; -}; - -export type WorkspaceMigrationServerlessFunctionActionV2 = - | CreateServerlessFunctionAction - | UpdateServerlessFunctionAction - | DeleteServerlessFunctionAction; - -export type WorkspaceMigrationServerlessFunctionActionTypeV2 = - WorkspaceMigrationServerlessFunctionActionV2['type']; +export type DeleteServerlessFunctionAction = + BaseDeleteWorkspaceMigrationAction<'serverlessFunction'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/workspace-migration-v2-serverless-function-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/workspace-migration-v2-serverless-function-actions-builder.service.ts index a701236d164..6d4a95b7342 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/workspace-migration-v2-serverless-function-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/serverless-function/workspace-migration-v2-serverless-function-actions-builder.service.ts @@ -34,13 +34,13 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends return baseResult; } - const updatedActions = baseResult.actions.updated.map((action) => { - if (action.type !== 'update_serverless_function') { + const updatedActions = baseResult.actions.update.map((action) => { + if (action.type !== 'update') { return action; } const toServerlessFunction = findFlatEntityByIdInFlatEntityMaps({ - flatEntityId: action.serverlessFunctionId, + flatEntityId: action.entityId, flatEntityMaps: toFlatEntityMaps, }); @@ -54,7 +54,7 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends ...baseResult, actions: { ...baseResult.actions, - updated: updatedActions, + update: updatedActions, }, }; } @@ -63,7 +63,7 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.serverlessFunction, - 'created' + 'create' > { const validationResult = this.flatServerlessFunctionValidatorService.validateFlatServerlessFunctionCreation( @@ -82,8 +82,9 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends return { status: 'success', action: { - type: 'create_serverless_function', - serverlessFunction: flatServerlessFunctionToValidate, + type: 'create', + metadataName: 'serverlessFunction', + flatEntity: flatServerlessFunctionToValidate, }, }; } @@ -92,7 +93,7 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.serverlessFunction, - 'deleted' + 'delete' > { const validationResult = this.flatServerlessFunctionValidatorService.validateFlatServerlessFunctionDeletion( @@ -111,8 +112,9 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends return { status: 'success', action: { - type: 'delete_serverless_function', - serverlessFunctionId: flatServerlessFunctionToValidate.id, + type: 'delete', + metadataName: 'serverlessFunction', + entityId: flatServerlessFunctionToValidate.id, }, }; } @@ -123,7 +125,7 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.serverlessFunction, - 'updated' + 'update' > { const validationResult = this.flatServerlessFunctionValidatorService.validateFlatServerlessFunctionUpdate( @@ -140,8 +142,9 @@ export class WorkspaceMigrationV2ServerlessFunctionActionsBuilderService extends const { flatEntityId, flatEntityUpdates } = args; const updateServerlessFunctionAction: UpdateServerlessFunctionAction = { - type: 'update_serverless_function', - serverlessFunctionId: flatEntityId, + type: 'update', + metadataName: 'serverlessFunction', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type.ts index ba6d7b6ed1c..00572b1352f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type.ts @@ -1,18 +1,9 @@ -import { type FlatSkill } from 'src/engine/metadata-modules/flat-skill/types/flat-skill.type'; -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type UpdateSkillAction = { - type: 'update_skill'; - flatEntityId: string; - flatEntityUpdates: FlatEntityPropertiesUpdates<'skill'>; -}; +export type CreateSkillAction = BaseCreateWorkspaceMigrationAction<'skill'>; -export type CreateSkillAction = { - type: 'create_skill'; - flatEntity: FlatSkill; -}; +export type UpdateSkillAction = BaseUpdateWorkspaceMigrationAction<'skill'>; -export type DeleteSkillAction = { - type: 'delete_skill'; - flatEntityId: string; -}; +export type DeleteSkillAction = BaseDeleteWorkspaceMigrationAction<'skill'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/workspace-migration-v2-skill-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/workspace-migration-v2-skill-actions-builder.service.ts index 56abd414b05..ed91f3170e2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/workspace-migration-v2-skill-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/workspace-migration-v2-skill-actions-builder.service.ts @@ -21,7 +21,7 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatSkillValidatorService.validateFlatSkillCreation(args); @@ -37,7 +37,8 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'create_skill', + type: 'create', + metadataName: 'skill', flatEntity: flatSkillToValidate, }, }; @@ -45,7 +46,7 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatSkillValidatorService.validateFlatSkillDeletion(args); @@ -61,15 +62,16 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt return { status: 'success', action: { - type: 'delete_skill', - flatEntityId: flatSkillToValidate.id, + type: 'delete', + metadataName: 'skill', + entityId: flatSkillToValidate.id, }, }; } protected validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatSkillValidatorService.validateFlatSkillUpdate(args); @@ -83,9 +85,10 @@ export class WorkspaceMigrationV2SkillActionsBuilderService extends WorkspaceEnt const { flatEntityId, flatEntityUpdates } = args; const updateSkillAction: UpdateSkillAction = { - type: 'update_skill', - flatEntityId, - flatEntityUpdates, + type: 'update', + metadataName: 'skill', + entityId: flatEntityId, + updates: flatEntityUpdates, }; return { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type.ts index 3af9312c23b..999ac0bd2a8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type.ts @@ -1,6 +1,7 @@ import { type MessageDescriptor } from '@lingui/core'; +import { type AllMetadataName } from 'twenty-shared/metadata'; -import { type SyncableFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/flat-entity.type'; +import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; import { type WorkspaceMigrationActionTypeV2 } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2'; export type FlatEntityValidationError = { @@ -10,8 +11,13 @@ export type FlatEntityValidationError = { value?: unknown; }; -export type FailedFlatEntityValidation = { - type: WorkspaceMigrationActionTypeV2; +export type FailedFlatEntityValidation< + TMetadataName extends AllMetadataName, + TAcionType extends WorkspaceMigrationActionTypeV2, +> = { + type: TAcionType; + metadataName: TMetadataName; errors: FlatEntityValidationError[]; - flatEntityMinimalInformation: Partial; + flatEntityMinimalInformation: Pick, 'id'> & + Partial, 'id'>>; }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util.ts new file mode 100644 index 00000000000..22057d1a671 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util.ts @@ -0,0 +1,23 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; + +import { type WorkspaceMigrationActionType } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; + +export const getEmptyFlatEntityValidationError = < + TMetadataName extends AllMetadataName, + TActionType extends WorkspaceMigrationActionType, +>({ + metadataName, + flatEntityMinimalInformation, + type, +}: Pick< + FailedFlatEntityValidation, + 'metadataName' | 'flatEntityMinimalInformation' | 'type' +>): FailedFlatEntityValidation => { + return { + errors: [], + flatEntityMinimalInformation, + metadataName, + type, + }; +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type.ts index 2dc0bb1adc0..0093f397860 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatViewField } from 'src/engine/metadata-modules/flat-view-field/types/flat-view-field.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewFieldAction = { - type: 'create_view_field'; - viewField: FlatViewField; -}; +export type CreateViewFieldAction = + BaseCreateWorkspaceMigrationAction<'viewField'>; -export type UpdateViewFieldAction = { - type: 'update_view_field'; - viewFieldId: string; - updates: FlatEntityPropertiesUpdates<'viewField'>; -}; +export type UpdateViewFieldAction = + BaseUpdateWorkspaceMigrationAction<'viewField'>; -export type DeleteViewFieldAction = { - type: 'delete_view_field'; - viewFieldId: string; -}; - -export type WorkspaceMigrationViewFieldActionV2 = - | CreateViewFieldAction - | UpdateViewFieldAction - | DeleteViewFieldAction; - -export type WorkspaceMigrationViewFieldActionTypeV2 = - WorkspaceMigrationViewFieldActionV2['type']; +export type DeleteViewFieldAction = + BaseDeleteWorkspaceMigrationAction<'viewField'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/workspace-migration-v2-view-field-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/workspace-migration-v2-view-field-actions-builder.service.ts index 2f57a9997f9..405835bae7e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/workspace-migration-v2-view-field-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/workspace-migration-v2-view-field-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewField, - 'created' + 'create' > { const validationResult = this.flatViewFieldValidatorService.validateFlatViewFieldCreation(args); @@ -38,8 +38,9 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac return { status: 'success', action: { - type: 'create_view_field', - viewField: args.flatEntityToValidate, + type: 'create', + metadataName: 'viewField', + flatEntity: args.flatEntityToValidate, }, }; } @@ -48,7 +49,7 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewField, - 'deleted' + 'delete' > { const validationResult = this.flatViewFieldValidatorService.validateFlatViewFieldDeletion(args); @@ -65,8 +66,9 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac return { status: 'success', action: { - type: 'delete_view_field', - viewFieldId: flatViewFieldToValidate.id, + type: 'delete', + metadataName: 'viewField', + entityId: flatViewFieldToValidate.id, }, }; } @@ -75,7 +77,7 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewField, - 'updated' + 'update' > { const validationResult = this.flatViewFieldValidatorService.validateFlatViewFieldUpdate(args); @@ -90,8 +92,9 @@ export class WorkspaceMigrationV2ViewFieldActionsBuilderService extends Workspac const { flatEntityId, flatEntityUpdates } = args; const updateViewFieldAction: UpdateViewFieldAction = { - type: 'update_view_field', - viewFieldId: flatEntityId, + type: 'update', + metadataName: 'viewField', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type.ts index 8a625f7522d..9c44741bcc5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatViewFilterGroup } from 'src/engine/metadata-modules/flat-view-filter-group/types/flat-view-filter-group.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewFilterGroupAction = { - type: 'create_view_filter_group'; - viewFilterGroup: FlatViewFilterGroup; -}; +export type CreateViewFilterGroupAction = + BaseCreateWorkspaceMigrationAction<'viewFilterGroup'>; -export type UpdateViewFilterGroupAction = { - type: 'update_view_filter_group'; - viewFilterGroupId: string; - updates: FlatEntityPropertiesUpdates<'viewFilterGroup'>; -}; +export type UpdateViewFilterGroupAction = + BaseUpdateWorkspaceMigrationAction<'viewFilterGroup'>; -export type DeleteViewFilterGroupAction = { - type: 'delete_view_filter_group'; - viewFilterGroupId: string; -}; - -export type WorkspaceMigrationViewFilterGroupActionV2 = - | CreateViewFilterGroupAction - | UpdateViewFilterGroupAction - | DeleteViewFilterGroupAction; - -export type WorkspaceMigrationViewFilterGroupActionTypeV2 = - WorkspaceMigrationViewFilterGroupActionV2['type']; +export type DeleteViewFilterGroupAction = + BaseDeleteWorkspaceMigrationAction<'viewFilterGroup'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/workspace-migration-v2-view-filter-group-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/workspace-migration-v2-view-filter-group-actions-builder.service.ts index 0fa3c0353e6..073c9def792 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/workspace-migration-v2-view-filter-group-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/workspace-migration-v2-view-filter-group-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilterGroup, - 'created' + 'create' > { const validationResult = this.flatViewFilterGroupValidatorService.validateFlatViewFilterGroupCreation( @@ -42,8 +42,9 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo return { status: 'success', action: { - type: 'create_view_filter_group', - viewFilterGroup: flatViewFilterGroupToValidate, + type: 'create', + metadataName: 'viewFilterGroup', + flatEntity: flatViewFilterGroupToValidate, }, }; } @@ -52,7 +53,7 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilterGroup, - 'deleted' + 'delete' > { const validationResult = this.flatViewFilterGroupValidatorService.validateFlatViewFilterGroupDeletion( @@ -71,8 +72,9 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo return { status: 'success', action: { - type: 'delete_view_filter_group', - viewFilterGroupId: flatViewFilterGroupToValidate.id, + type: 'delete', + metadataName: 'viewFilterGroup', + entityId: flatViewFilterGroupToValidate.id, }, }; } @@ -83,7 +85,7 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo >, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilterGroup, - 'updated' + 'update' > { const validationResult = this.flatViewFilterGroupValidatorService.validateFlatViewFilterGroupUpdate( @@ -100,8 +102,9 @@ export class WorkspaceMigrationV2ViewFilterGroupActionsBuilderService extends Wo const { flatEntityId, flatEntityUpdates } = args; const updateViewFilterGroupAction: UpdateViewFilterGroupAction = { - type: 'update_view_filter_group', - viewFilterGroupId: flatEntityId, + type: 'update', + metadataName: 'viewFilterGroup', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type.ts index 954895aafa1..746da90d8f9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatViewFilter } from 'src/engine/metadata-modules/flat-view-filter/types/flat-view-filter.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewFilterAction = { - type: 'create_view_filter'; - viewFilter: FlatViewFilter; -}; +export type CreateViewFilterAction = + BaseCreateWorkspaceMigrationAction<'viewFilter'>; -export type UpdateViewFilterAction = { - type: 'update_view_filter'; - viewFilterId: string; - updates: FlatEntityPropertiesUpdates<'viewFilter'>; -}; +export type UpdateViewFilterAction = + BaseUpdateWorkspaceMigrationAction<'viewFilter'>; -export type DeleteViewFilterAction = { - type: 'delete_view_filter'; - viewFilterId: string; -}; - -export type WorkspaceMigrationViewFilterActionV2 = - | CreateViewFilterAction - | UpdateViewFilterAction - | DeleteViewFilterAction; - -export type WorkspaceMigrationViewFilterActionTypeV2 = - WorkspaceMigrationViewFilterActionV2['type']; +export type DeleteViewFilterAction = + BaseDeleteWorkspaceMigrationAction<'viewFilter'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/workspace-migration-v2-view-filter-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/workspace-migration-v2-view-filter-actions-builder.service.ts index 67b460f8eca..d6df56854dd 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/workspace-migration-v2-view-filter-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/workspace-migration-v2-view-filter-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilter, - 'created' + 'create' > { const validationResult = this.flatViewFilterValidatorService.validateFlatViewFilterCreation(args); @@ -40,8 +40,9 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'create_view_filter', - viewFilter: flatViewFilterToValidate, + type: 'create', + metadataName: 'viewFilter', + flatEntity: flatViewFilterToValidate, }, }; } @@ -50,7 +51,7 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilter, - 'deleted' + 'delete' > { const validationResult = this.flatViewFilterValidatorService.validateFlatViewFilterDeletion(args); @@ -67,8 +68,9 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa return { status: 'success', action: { - type: 'delete_view_filter', - viewFilterId: flatViewFilterToValidate.id, + type: 'delete', + metadataName: 'viewFilter', + entityId: flatViewFilterToValidate.id, }, }; } @@ -77,7 +79,7 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewFilter, - 'updated' + 'update' > { const validationResult = this.flatViewFilterValidatorService.validateFlatViewFilterUpdate(args); @@ -92,8 +94,9 @@ export class WorkspaceMigrationV2ViewFilterActionsBuilderService extends Workspa const { flatEntityId, flatEntityUpdates } = args; const updateViewFilterAction: UpdateViewFilterAction = { - type: 'update_view_filter', - viewFilterId: flatEntityId, + type: 'update', + metadataName: 'viewFilter', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type.ts index 38fb501a113..2d1d5d09f8d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type.ts @@ -1,26 +1,12 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatViewGroup } from 'src/engine/metadata-modules/flat-view-group/types/flat-view-group.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewGroupAction = { - type: 'create_view_group'; - viewGroup: FlatViewGroup; -}; +export type CreateViewGroupAction = + BaseCreateWorkspaceMigrationAction<'viewGroup'>; -export type UpdateViewGroupAction = { - type: 'update_view_group'; - viewGroupId: string; - updates: FlatEntityPropertiesUpdates<'viewGroup'>; -}; +export type UpdateViewGroupAction = + BaseUpdateWorkspaceMigrationAction<'viewGroup'>; -export type DeleteViewGroupAction = { - type: 'delete_view_group'; - viewGroupId: string; -}; - -export type WorkspaceMigrationViewGroupActionV2 = - | CreateViewGroupAction - | UpdateViewGroupAction - | DeleteViewGroupAction; - -export type WorkspaceMigrationViewGroupActionTypeV2 = - WorkspaceMigrationViewGroupActionV2['type']; +export type DeleteViewGroupAction = + BaseDeleteWorkspaceMigrationAction<'viewGroup'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/workspace-migration-v2-view-group-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/workspace-migration-v2-view-group-actions-builder.service.ts index a6a393664bf..09572a115a6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/workspace-migration-v2-view-group-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/workspace-migration-v2-view-group-actions-builder.service.ts @@ -23,7 +23,7 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewGroup, - 'created' + 'create' > { const validationResult = this.flatViewGroupValidatorService.validateFlatViewGroupCreation(args); @@ -40,8 +40,9 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac return { status: 'success', action: { - type: 'create_view_group', - viewGroup: flatViewGroupToValidate, + type: 'create', + metadataName: 'viewGroup', + flatEntity: flatViewGroupToValidate, }, }; } @@ -50,7 +51,7 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac args: FlatEntityValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewGroup, - 'deleted' + 'delete' > { const validationResult = this.flatViewGroupValidatorService.validateFlatViewGroupDeletion(args); @@ -67,8 +68,9 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac return { status: 'success', action: { - type: 'delete_view_group', - viewGroupId: flatViewGroupToValidate.id, + type: 'delete', + metadataName: 'viewGroup', + entityId: flatViewGroupToValidate.id, }, }; } @@ -77,7 +79,7 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac args: FlatEntityUpdateValidationArgs, ): FlatEntityValidationReturnType< typeof ALL_METADATA_NAME.viewGroup, - 'updated' + 'update' > { const validationResult = this.flatViewGroupValidatorService.validateFlatViewGroupUpdate(args); @@ -92,8 +94,9 @@ export class WorkspaceMigrationV2ViewGroupActionsBuilderService extends Workspac const { flatEntityId, flatEntityUpdates } = args; const updateViewGroupAction: UpdateViewGroupAction = { - type: 'update_view_group', - viewGroupId: flatEntityId, + type: 'update', + metadataName: 'viewGroup', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type.ts index 866ac6d8533..743a57eab56 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type.ts @@ -1,26 +1,9 @@ -import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; -import { type FlatView } from 'src/engine/metadata-modules/flat-view/types/flat-view.type'; +import { type BaseCreateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type'; +import { type BaseDeleteWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type'; +import { type BaseUpdateWorkspaceMigrationAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type'; -export type CreateViewAction = { - type: 'create_view'; - view: FlatView; -}; +export type CreateViewAction = BaseCreateWorkspaceMigrationAction<'view'>; -export type UpdateViewAction = { - type: 'update_view'; - viewId: string; - updates: FlatEntityPropertiesUpdates<'view'>; -}; +export type UpdateViewAction = BaseUpdateWorkspaceMigrationAction<'view'>; -export type DeleteViewAction = { - type: 'delete_view'; - viewId: string; -}; - -export type WorkspaceMigrationViewActionV2 = - | CreateViewAction - | UpdateViewAction - | DeleteViewAction; - -export type WorkspaceMigrationViewActionTypeV2 = - WorkspaceMigrationViewActionV2['type']; +export type DeleteViewAction = BaseDeleteWorkspaceMigrationAction<'view'>; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/workspace-migration-v2-view-actions-builder.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/workspace-migration-v2-view-actions-builder.service.ts index 5e6f377f9f7..cb24439e721 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/workspace-migration-v2-view-actions-builder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/workspace-migration-v2-view-actions-builder.service.ts @@ -21,7 +21,7 @@ export class WorkspaceMigrationV2ViewActionsBuilderService extends WorkspaceEnti protected validateFlatEntityCreation( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatViewValidatorService.validateFlatViewCreation(args); @@ -37,15 +37,16 @@ export class WorkspaceMigrationV2ViewActionsBuilderService extends WorkspaceEnti return { status: 'success', action: { - type: 'create_view', - view: flatViewToValidate, + type: 'create', + metadataName: 'view', + flatEntity: flatViewToValidate, }, }; } protected validateFlatEntityDeletion( args: FlatEntityValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatViewValidatorService.validateFlatViewDeletion(args); @@ -61,15 +62,16 @@ export class WorkspaceMigrationV2ViewActionsBuilderService extends WorkspaceEnti return { status: 'success', action: { - type: 'delete_view', - viewId: flatViewToValidate.id, + type: 'delete', + metadataName: 'view', + entityId: flatViewToValidate.id, }, }; } protected validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, - ): FlatEntityValidationReturnType { + ): FlatEntityValidationReturnType { const validationResult = this.flatViewValidatorService.validateFlatViewUpdate(args); @@ -83,8 +85,9 @@ export class WorkspaceMigrationV2ViewActionsBuilderService extends WorkspaceEnti const { flatEntityId, flatEntityUpdates } = args; const updateViewAction: UpdateViewAction = { - type: 'update_view', - viewId: flatEntityId, + type: 'update', + metadataName: 'view', + entityId: flatEntityId, updates: flatEntityUpdates, }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/services/workspace-entity-migration-builder-v2.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/services/workspace-entity-migration-builder-v2.service.ts index 92fd9fbfeab..9c1dc1f46b5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/services/workspace-entity-migration-builder-v2.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/services/workspace-entity-migration-builder-v2.service.ts @@ -144,7 +144,7 @@ export abstract class WorkspaceEntityMigrationBuilderV2Service< metadataName: this.metadataName, }); - actionsResult.created.push( + actionsResult.create.push( ...(Array.isArray(validationResult.action) ? validationResult.action : [validationResult.action]), @@ -207,7 +207,7 @@ export abstract class WorkspaceEntityMigrationBuilderV2Service< metadataName: this.metadataName, }); - actionsResult.deleted.push( + actionsResult.delete.push( ...(Array.isArray(validationResult.action) ? validationResult.action : [validationResult.action]), @@ -271,7 +271,7 @@ export abstract class WorkspaceEntityMigrationBuilderV2Service< optimisticFlatEntityMapsAndRelatedFlatEntityMaps[flatEntityMapsKey], }); - actionsResult.updated.push( + actionsResult.update.push( ...(Array.isArray(validationResult.action) ? validationResult.action : [validationResult.action]), @@ -310,18 +310,18 @@ export abstract class WorkspaceEntityMigrationBuilderV2Service< protected abstract validateFlatEntityCreation( args: FlatEntityValidationArgs, ): - | FlatEntityValidationReturnType - | Promise>; + | FlatEntityValidationReturnType + | Promise>; protected abstract validateFlatEntityDeletion( args: FlatEntityValidationArgs, ): - | FlatEntityValidationReturnType - | Promise>; + | FlatEntityValidationReturnType + | Promise>; protected abstract validateFlatEntityUpdate( args: FlatEntityUpdateValidationArgs, ): - | FlatEntityValidationReturnType - | Promise>; + | FlatEntityValidationReturnType + | Promise>; } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type.ts new file mode 100644 index 00000000000..3aeacb66b9b --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-create-workspace-migration-action.type.ts @@ -0,0 +1,9 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; + +import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; + +export type BaseCreateWorkspaceMigrationAction = { + flatEntity: MetadataFlatEntity; + type: 'create'; + metadataName: T; +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type.ts new file mode 100644 index 00000000000..21c77258114 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-delete-workspace-migration-action.type.ts @@ -0,0 +1,7 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; + +export type BaseDeleteWorkspaceMigrationAction = { + entityId: string; + type: 'delete'; + metadataName: T; +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type.ts new file mode 100644 index 00000000000..c9027eb1905 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/base-update-workspace-migration-action.type.ts @@ -0,0 +1,10 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; + +import { type FlatEntityPropertiesUpdates } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-updates.type'; + +export type BaseUpdateWorkspaceMigrationAction = { + type: 'update'; + metadataName: T; + entityId: string; + updates: FlatEntityPropertiesUpdates; +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/failed-flat-entity-validate-and-build.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/failed-flat-entity-validate-and-build.type.ts index fa398048610..499658a0045 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/failed-flat-entity-validate-and-build.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/failed-flat-entity-validate-and-build.type.ts @@ -1,11 +1,11 @@ import { type AllMetadataName } from 'twenty-shared/metadata'; -import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; import { type MetadataFlatEntityAndRelatedFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/metadata-related-types.type'; +import { type WorkspaceMigrationActionType } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; export type FailedFlatEntityValidateAndBuild = { status: 'fail'; - errors: FailedFlatEntityValidation>[]; + errors: FailedFlatEntityValidation[]; optimisticFlatEntityMapsAndRelatedFlatEntityMaps: MetadataFlatEntityAndRelatedFlatEntityMaps; }; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-result.type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-result.type.ts index 95a54731e3a..07ad54836ac 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-result.type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-result.type.ts @@ -1,19 +1,21 @@ import { type AllMetadataName } from 'twenty-shared/metadata'; -import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; -import { type MetadataWorkspaceMigrationAction } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { + type MetadataWorkspaceMigrationAction, + type WorkspaceMigrationActionType, +} from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; export type FlatEntityValidationReturnType< - T extends AllMetadataName, - TOperation extends 'created' | 'deleted' | 'updated', + TMetadataName extends AllMetadataName, + TACtionType extends WorkspaceMigrationActionType, > = | { status: 'success'; action: - | MetadataWorkspaceMigrationAction - | MetadataWorkspaceMigrationAction[]; + | MetadataWorkspaceMigrationAction + | MetadataWorkspaceMigrationAction[]; } | ({ status: 'fail'; - } & FailedFlatEntityValidation>); + } & FailedFlatEntityValidation); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2.ts index 9b8dd4d758a..7785e854ae9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2.ts @@ -1,13 +1,21 @@ import { type AllMetadataName } from 'twenty-shared/metadata'; -import { type MetadataWorkspaceMigrationAction } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { + type MetadataWorkspaceMigrationAction, + type WorkspaceMigrationActionType, +} from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; -export type WorkspaceMigrationActionV2 = - MetadataWorkspaceMigrationAction; - -export type WorkspaceMigrationActionTypeV2 = WorkspaceMigrationActionV2['type']; - -export type ExtractAction = Extract< - WorkspaceMigrationActionV2, - { type: T } +export type WorkspaceMigrationActionV2 = MetadataWorkspaceMigrationAction< + AllMetadataName, + WorkspaceMigrationActionType >; + +export type WorkspaceMigrationActionTypeV2 = WorkspaceMigrationActionType; + +export type WorkspaceMigrationActionHandlerKey = + `${WorkspaceMigrationActionType}_${AllMetadataName}`; + +export const buildActionHandlerKey = ( + actionType: WorkspaceMigrationActionType, + metadataName: AllMetadataName, +): WorkspaceMigrationActionHandlerKey => `${actionType}_${metadataName}`; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-agent-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-agent-validator.service.ts index 4293c984f8b..92ecd861f32 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-agent-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-agent-validator.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { AgentExceptionCode } from 'src/engine/metadata-modules/ai/ai-agent/agent.exception'; @@ -9,6 +9,7 @@ import { type FlatAgent } from 'src/engine/metadata-modules/flat-agent/types/fla import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { isStandardMetadata } from 'src/engine/metadata-modules/utils/is-standard-metadata.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateAgentNameUniqueness } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-agent-name-uniqueness.util'; @@ -25,15 +26,16 @@ export class FlatAgentValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.agent - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_agent', - errors: [], + >): FailedFlatEntityValidation<'agent', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatAgent.id, + universalIdentifier: flatAgent.universalIdentifier, name: flatAgent.name, }, - }; + metadataName: 'agent', + type: 'create', + }); const existingAgents = Object.values(optimisticFlatAgentMaps.byId).filter( isDefined, @@ -71,15 +73,16 @@ export class FlatAgentValidatorService { buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.agent - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_agent', - errors: [], + >): FailedFlatEntityValidation<'agent', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, name: flatEntityToValidate.name, }, - }; + metadataName: 'agent', + type: 'delete', + }); const existingAgent = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatEntityToValidate.id, @@ -116,20 +119,21 @@ export class FlatAgentValidatorService { buildOptions, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.agent - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_agent', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'agent', 'update'> { const fromFlatAgent = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: optimisticFlatAgentMaps, }); + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: fromFlatAgent?.universalIdentifier, + }, + metadataName: 'agent', + type: 'update', + }); + if (!isDefined(fromFlatAgent)) { validationResult.errors.push({ code: AgentExceptionCode.AGENT_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-cron-trigger-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-cron-trigger-validator.service.ts index ab8ecb9a867..27654d652af 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-cron-trigger-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-cron-trigger-validator.service.ts @@ -5,8 +5,8 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { CronTriggerExceptionCode } from 'src/engine/metadata-modules/cron-trigger/exceptions/cron-trigger.exception'; -import { FlatCronTrigger } from 'src/engine/metadata-modules/cron-trigger/types/flat-cron-trigger.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -24,18 +24,19 @@ export class FlatCronTriggerValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.cronTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_cron_trigger', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'cronTrigger', 'update'> { const existingFlatCronTrigger = optimisticFlatCronTriggerMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatCronTrigger?.universalIdentifier, + }, + metadataName: 'cronTrigger', + type: 'update', + }); + if (!isDefined(existingFlatCronTrigger)) { validationResult.errors.push({ code: CronTriggerExceptionCode.CRON_TRIGGER_NOT_FOUND, @@ -70,20 +71,21 @@ export class FlatCronTriggerValidatorService { } public validateFlatCronTriggerDeletion({ - flatEntityToValidate: { id: cronTriggerIdToDelete }, + flatEntityToValidate: { id: cronTriggerIdToDelete, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatCronTriggerMaps: optimisticFlatCronTriggerMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.cronTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_cron_trigger', - errors: [], + >): FailedFlatEntityValidation<'cronTrigger', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: cronTriggerIdToDelete, + universalIdentifier, }, - }; + metadataName: 'cronTrigger', + type: 'delete', + }); const existingFlatCronTrigger = optimisticFlatCronTriggerMaps.byId[cronTriggerIdToDelete]; @@ -107,14 +109,15 @@ export class FlatCronTriggerValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.cronTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_cron_trigger', - errors: [], + >): FailedFlatEntityValidation<'cronTrigger', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatCronTriggerToValidate.id, + universalIdentifier: flatCronTriggerToValidate.universalIdentifier, }, - }; + metadataName: 'cronTrigger', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-database-event-trigger-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-database-event-trigger-validator.service.ts index 8fb41d10bfc..0479900a215 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-database-event-trigger-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-database-event-trigger-validator.service.ts @@ -5,8 +5,8 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { DatabaseEventTriggerExceptionCode } from 'src/engine/metadata-modules/database-event-trigger/exceptions/database-event-trigger.exception'; -import { FlatDatabaseEventTrigger } from 'src/engine/metadata-modules/database-event-trigger/types/flat-database-event-trigger.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -25,19 +25,20 @@ export class FlatDatabaseEventTriggerValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.databaseEventTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'update_database_event_trigger', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'databaseEventTrigger', 'update'> { const existingFlatDatabaseEventTrigger = optimisticFlatDatabaseEventTriggerMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: + existingFlatDatabaseEventTrigger?.universalIdentifier, + }, + metadataName: 'databaseEventTrigger', + type: 'update', + }); + if (!isDefined(existingFlatDatabaseEventTrigger)) { validationResult.errors.push({ code: DatabaseEventTriggerExceptionCode.DATABASE_EVENT_TRIGGER_NOT_FOUND, @@ -72,21 +73,24 @@ export class FlatDatabaseEventTriggerValidatorService { } public validateFlatDatabaseEventTriggerDeletion({ - flatEntityToValidate: { id: databaseEventTriggerIdToDelete }, + flatEntityToValidate: { + id: databaseEventTriggerIdToDelete, + universalIdentifier, + }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatDatabaseEventTriggerMaps: optimisticFlatDatabaseEventTriggerMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.databaseEventTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'delete_database_event_trigger', - errors: [], - flatEntityMinimalInformation: { - id: databaseEventTriggerIdToDelete, - }, - }; + >): FailedFlatEntityValidation<'databaseEventTrigger', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: databaseEventTriggerIdToDelete, + universalIdentifier, + }, + metadataName: 'databaseEventTrigger', + type: 'delete', + }); const existingFlatDatabaseEventTrigger = optimisticFlatDatabaseEventTriggerMaps.byId[ @@ -112,15 +116,16 @@ export class FlatDatabaseEventTriggerValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.databaseEventTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'create_database_event_trigger', - errors: [], - flatEntityMinimalInformation: { - id: flatDatabaseEventTriggerToValidate.id, - }, - }; + >): FailedFlatEntityValidation<'databaseEventTrigger', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatDatabaseEventTriggerToValidate.id, + universalIdentifier: + flatDatabaseEventTriggerToValidate.universalIdentifier, + }, + metadataName: 'databaseEventTrigger', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-field-metadata-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-field-metadata-validator.service.ts index 66bae5fffa2..27cfb4955c8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-field-metadata-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-field-metadata-validator.service.ts @@ -9,7 +9,6 @@ import { createEmptyFlatEntityMaps } from 'src/engine/metadata-modules/flat-enti import { FLAT_FIELD_METADATA_RELATION_PROPERTIES_TO_COMPARE } from 'src/engine/metadata-modules/flat-field-metadata/constants/flat-field-metadata-relation-properties-to-compare.constant'; import { FlatFieldMetadataTypeValidatorService } from 'src/engine/metadata-modules/flat-field-metadata/services/flat-field-metadata-type-validator.service'; import { FlatFieldMetadataRelationPropertiesToCompare } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata-relation-properties-to-compare.type'; -import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; import { isFlatFieldMetadataNameSyncedWithLabel } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-flat-field-metadata-name-synced-with-label.util'; import { isMorphOrRelationFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-morph-or-relation-flat-field-metadata.util'; import { validateFlatFieldMetadataNameAvailability } from 'src/engine/metadata-modules/flat-field-metadata/validators/utils/validate-flat-field-metadata-name-availability.util'; @@ -17,6 +16,7 @@ import { validateFlatFieldMetadataName } from 'src/engine/metadata-modules/flat- import { isStandardMetadata } from 'src/engine/metadata-modules/utils/is-standard-metadata.util'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -38,18 +38,20 @@ export class FlatFieldMetadataValidatorService { buildOptions, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.fieldMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_field', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'fieldMetadata', 'update'> { const existingFlatFieldMetadataToUpdate = optimisticFlatFieldMetadataMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: + existingFlatFieldMetadataToUpdate?.universalIdentifier, + }, + metadataName: 'fieldMetadata', + type: 'update', + }); + if (!isDefined(existingFlatFieldMetadataToUpdate)) { validationResult.errors.push({ code: FieldMetadataExceptionCode.FIELD_METADATA_NOT_FOUND, @@ -66,6 +68,7 @@ export class FlatFieldMetadataValidatorService { }; validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: flatFieldMetadataToValidate.id, name: flatFieldMetadataToValidate.name, objectMetadataId: flatFieldMetadataToValidate.objectMetadataId, @@ -192,21 +195,25 @@ export class FlatFieldMetadataValidatorService { } validateFlatFieldMetadataDeletion({ - flatEntityToValidate: { id: flatFieldMetadataToDeleteId }, + flatEntityToValidate: { + id: flatFieldMetadataToDeleteId, + universalIdentifier, + }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatFieldMetadataMaps: optimisticFlatFieldMetadataMaps, flatObjectMetadataMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.fieldMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_field', - errors: [], + >): FailedFlatEntityValidation<'fieldMetadata', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatFieldMetadataToDeleteId, + universalIdentifier, }, - }; + metadataName: 'fieldMetadata', + type: 'delete', + }); const flatFieldMetadataToDelete = optimisticFlatFieldMetadataMaps.byId[flatFieldMetadataToDeleteId]; @@ -222,6 +229,7 @@ export class FlatFieldMetadataValidatorService { } validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, name: flatFieldMetadataToDelete.name, objectMetadataId: flatFieldMetadataToDelete.objectMetadataId, }; @@ -279,16 +287,17 @@ export class FlatFieldMetadataValidatorService { remainingFlatEntityMapsToValidate, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.fieldMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - errors: [], + >): FailedFlatEntityValidation<'fieldMetadata', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatFieldMetadataToValidate.id, + universalIdentifier: flatFieldMetadataToValidate.universalIdentifier, name: flatFieldMetadataToValidate.name, objectMetadataId: flatFieldMetadataToValidate.objectMetadataId, }, - type: 'create_field', - }; + metadataName: 'fieldMetadata', + type: 'create', + }); const parentFlatObjectMetadata = flatObjectMetadataMaps.byId[flatFieldMetadataToValidate.objectMetadataId]; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-index-metadata-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-index-metadata-validator.service.ts index 3760918a75d..cbcc002bc7f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-index-metadata-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-index-metadata-validator.service.ts @@ -12,8 +12,8 @@ import { FlatEntityMapsExceptionCode } from 'src/engine/metadata-modules/flat-en import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { isCompositeFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-composite-flat-field-metadata.util'; import { IndexExceptionCode } from 'src/engine/metadata-modules/flat-index-metadata/exceptions/index-exception-code'; -import { FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @Injectable() @@ -22,17 +22,18 @@ export class FlatIndexValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatIndexMaps: optimisticFlatIndexMaps, }, - flatEntityToValidate: { id: indexIdToDelete }, + flatEntityToValidate: { id: indexIdToDelete, universalIdentifier }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.index - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_index', - errors: [], + >): FailedFlatEntityValidation<'index', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: indexIdToDelete, + universalIdentifier, }, - }; + metadataName: 'index', + type: 'delete', + }); const existingFlatIndexToDelete = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: indexIdToDelete, @@ -58,15 +59,16 @@ export class FlatIndexValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.index - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_index', - errors: [], + >): FailedFlatEntityValidation<'index', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatIndexToValidate.id, + universalIdentifier: flatIndexToValidate.universalIdentifier, name: flatIndexToValidate.name, }, - }; + metadataName: 'index', + type: 'create', + }); const existingFlatIndex = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatIndexToValidate.id, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-object-metadata-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-object-metadata-validator.service.ts index 1a9cc78ae43..382535cb83e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-object-metadata-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-object-metadata-validator.service.ts @@ -4,12 +4,12 @@ import { msg, t } from '@lingui/core/macro'; import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; -import { FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; import { validateFlatObjectMetadataIdentifiers } from 'src/engine/metadata-modules/flat-object-metadata/validators/utils/validate-flat-object-metadata-identifiers.util'; import { validateFlatObjectMetadataNameAndLabels } from 'src/engine/metadata-modules/flat-object-metadata/validators/utils/validate-flat-object-metadata-name-and-labels.util'; import { ObjectMetadataExceptionCode } from 'src/engine/metadata-modules/object-metadata/object-metadata.exception'; import { isStandardMetadata } from 'src/engine/metadata-modules/utils/is-standard-metadata.util'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -26,18 +26,19 @@ export class FlatObjectMetadataValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.objectMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_object', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'objectMetadata', 'update'> { const existingFlatObjectMetadata = optimisticFlatObjectMetadataMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatObjectMetadata?.universalIdentifier, + }, + metadataName: 'objectMetadata', + type: 'update', + }); + if (!isDefined(existingFlatObjectMetadata)) { validationResult.errors.push({ code: ObjectMetadataExceptionCode.OBJECT_METADATA_NOT_FOUND, @@ -56,6 +57,7 @@ export class FlatObjectMetadataValidatorService { }; validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: existingFlatObjectMetadata.id, namePlural: existingFlatObjectMetadata.namePlural, nameSingular: existingFlatObjectMetadata.nameSingular, @@ -96,21 +98,22 @@ export class FlatObjectMetadataValidatorService { } public validateFlatObjectMetadataDeletion({ - flatEntityToValidate: { id: objectMetadataToDeleteId }, + flatEntityToValidate: { id: objectMetadataToDeleteId, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatObjectMetadataMaps: optimisticFlatObjectMetadataMaps, }, buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.objectMetadata - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_object', - errors: [], + >): FailedFlatEntityValidation<'objectMetadata', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: objectMetadataToDeleteId, + universalIdentifier, }, - }; + metadataName: 'objectMetadata', + type: 'delete', + }); const flatObjectMetadataToDelete = optimisticFlatObjectMetadataMaps.byId[objectMetadataToDeleteId]; @@ -123,7 +126,7 @@ export class FlatObjectMetadataValidatorService { }); } else { validationResult.flatEntityMinimalInformation = { - id: flatObjectMetadataToDelete.id, + ...validationResult.flatEntityMinimalInformation, namePlural: flatObjectMetadataToDelete.namePlural, nameSingular: flatObjectMetadataToDelete.nameSingular, }; @@ -160,17 +163,17 @@ export class FlatObjectMetadataValidatorService { buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.objectMetadata - >): FailedFlatEntityValidation { - const objectValidationResult: FailedFlatEntityValidation = - { - type: 'create_object', - errors: [], - flatEntityMinimalInformation: { - id: flatObjectMetadataToValidate.id, - namePlural: flatObjectMetadataToValidate.namePlural, - nameSingular: flatObjectMetadataToValidate.nameSingular, - }, - }; + >): FailedFlatEntityValidation<'objectMetadata', 'create'> { + const objectValidationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatObjectMetadataToValidate.id, + universalIdentifier: flatObjectMetadataToValidate.universalIdentifier, + namePlural: flatObjectMetadataToValidate.namePlural, + nameSingular: flatObjectMetadataToValidate.nameSingular, + }, + metadataName: 'objectMetadata', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-tab-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-tab-validator.service.ts index c1fc8e94580..898549df42c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-tab-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-tab-validator.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { type FlatPageLayoutTab } from 'src/engine/metadata-modules/flat-page-layout-tab/types/flat-page-layout-tab.type'; import { PageLayoutExceptionCode } from 'src/engine/metadata-modules/page-layout/exceptions/page-layout.exception'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @@ -22,15 +22,16 @@ export class FlatPageLayoutTabValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatPageLayoutMaps }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayoutTab - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_page_layout_tab', - errors: [], + >): FailedFlatEntityValidation<'pageLayoutTab', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatPageLayoutTab.id, + universalIdentifier: flatPageLayoutTab.universalIdentifier, title: flatPageLayoutTab.title, }, - }; + metadataName: 'pageLayoutTab', + type: 'create', + }); const referencedPageLayout = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatPageLayoutTab.pageLayoutId, @@ -55,15 +56,16 @@ export class FlatPageLayoutTabValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayoutTab - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_page_layout_tab', - errors: [], + >): FailedFlatEntityValidation<'pageLayoutTab', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, title: flatEntityToValidate.title, }, - }; + metadataName: 'pageLayoutTab', + type: 'delete', + }); const existingPageLayoutTab = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatEntityToValidate.id, @@ -90,20 +92,21 @@ export class FlatPageLayoutTabValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.pageLayoutTab - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_page_layout_tab', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'pageLayoutTab', 'update'> { const fromFlatPageLayoutTab = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: optimisticFlatPageLayoutTabMaps, }); + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: fromFlatPageLayoutTab?.universalIdentifier, + }, + metadataName: 'pageLayoutTab', + type: 'update', + }); + if (!isDefined(fromFlatPageLayoutTab)) { validationResult.errors.push({ code: PAGE_LAYOUT_TAB_EXCEPTION_CODE.PAGE_LAYOUT_TAB_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-validator.service.ts index d6e01be6120..42a547afd0e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-validator.service.ts @@ -1,12 +1,12 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; -import { type FlatPageLayout } from 'src/engine/metadata-modules/flat-page-layout/types/flat-page-layout.type'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @@ -20,15 +20,16 @@ export class FlatPageLayoutValidatorService { flatEntityToValidate: flatPageLayout, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayout - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_page_layout', - errors: [], + >): FailedFlatEntityValidation<'pageLayout', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatPageLayout.id, + universalIdentifier: flatPageLayout.universalIdentifier, name: flatPageLayout.name, }, - }; + metadataName: 'pageLayout', + type: 'create', + }); return validationResult; } @@ -40,15 +41,16 @@ export class FlatPageLayoutValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayout - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_page_layout', - errors: [], + >): FailedFlatEntityValidation<'pageLayout', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, name: flatEntityToValidate.name, }, - }; + metadataName: 'pageLayout', + type: 'delete', + }); const existingPageLayout = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatEntityToValidate.id, @@ -75,20 +77,21 @@ export class FlatPageLayoutValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.pageLayout - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_page_layout', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'pageLayout', 'update'> { const fromFlatPageLayout = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: optimisticFlatPageLayoutMaps, }); + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: fromFlatPageLayout?.universalIdentifier, + }, + metadataName: 'pageLayout', + type: 'update', + }); + if (!isDefined(fromFlatPageLayout)) { validationResult.errors.push({ code: PAGE_LAYOUT_EXCEPTION_CODE.PAGE_LAYOUT_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-widget-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-widget-validator.service.ts index bf6001a9d1c..058341dfd13 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-widget-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-page-layout-widget-validator.service.ts @@ -5,10 +5,10 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { FlatPageLayoutWidget } from 'src/engine/metadata-modules/flat-page-layout-widget/types/flat-page-layout-widget.type'; import { PageLayoutTabExceptionCode } from 'src/engine/metadata-modules/page-layout-tab/exceptions/page-layout-tab.exception'; import { PageLayoutWidgetExceptionCode } from 'src/engine/metadata-modules/page-layout-widget/exceptions/page-layout-widget.exception'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -25,18 +25,19 @@ export class FlatPageLayoutWidgetValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.pageLayoutWidget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_page_layout_widget', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'pageLayoutWidget', 'update'> { const existingFlatPageLayoutWidget = optimisticFlatPageLayoutWidgetMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatPageLayoutWidget?.universalIdentifier, + }, + metadataName: 'pageLayoutWidget', + type: 'update', + }); + if (!isDefined(existingFlatPageLayoutWidget)) { validationResult.errors.push({ code: PageLayoutWidgetExceptionCode.PAGE_LAYOUT_WIDGET_NOT_FOUND, @@ -55,6 +56,7 @@ export class FlatPageLayoutWidgetValidatorService { }; validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: updatedFlatPageLayoutWidget.id, pageLayoutTabId: updatedFlatPageLayoutWidget.pageLayoutTabId, }; @@ -63,20 +65,24 @@ export class FlatPageLayoutWidgetValidatorService { } public validateFlatPageLayoutWidgetDeletion({ - flatEntityToValidate: { id: pageLayoutWidgetIdToDelete }, + flatEntityToValidate: { + id: pageLayoutWidgetIdToDelete, + universalIdentifier, + }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatPageLayoutWidgetMaps: optimisticFlatPageLayoutWidgetMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayoutWidget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_page_layout_widget', - errors: [], + >): FailedFlatEntityValidation<'pageLayoutWidget', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: pageLayoutWidgetIdToDelete, + universalIdentifier, }, - }; + metadataName: 'pageLayoutWidget', + type: 'delete', + }); const existingFlatPageLayoutWidget = optimisticFlatPageLayoutWidgetMaps.byId[pageLayoutWidgetIdToDelete]; @@ -102,15 +108,16 @@ export class FlatPageLayoutWidgetValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.pageLayoutWidget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_page_layout_widget', - errors: [], + >): FailedFlatEntityValidation<'pageLayoutWidget', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatPageLayoutWidgetToValidate.id, + universalIdentifier: flatPageLayoutWidgetToValidate.universalIdentifier, pageLayoutTabId: flatPageLayoutWidgetToValidate.pageLayoutTabId, }, - }; + metadataName: 'pageLayoutWidget', + type: 'create', + }); const existingFlatPageLayoutWidget = optimisticFlatPageLayoutWidgetMaps.byId[ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-target-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-target-validator.service.ts index 324cfda86e8..1deb255ed81 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-target-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-target-validator.service.ts @@ -5,9 +5,9 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { type FlatRoleTarget } from 'src/engine/metadata-modules/flat-role-target/types/flat-role-target.type'; import { RoleTargetExceptionCode } from 'src/engine/metadata-modules/role/exceptions/role-target.exception'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateFlatRoleTargetAssignationAvailability } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-flat-role-target-assignation-availability.util'; @@ -24,14 +24,15 @@ export class FlatRoleTargetValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.roleTarget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_role_target', - errors: [], + >): FailedFlatEntityValidation<'roleTarget', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatRoleTargetToValidate.id, + universalIdentifier: flatRoleTargetToValidate.universalIdentifier, }, - }; + metadataName: 'roleTarget', + type: 'create', + }); const existingRoleTarget = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatRoleTargetToValidate.id, @@ -82,14 +83,15 @@ export class FlatRoleTargetValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.roleTarget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_role_target', - errors: [], + >): FailedFlatEntityValidation<'roleTarget', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatRoleTargetToValidate.id, + universalIdentifier: flatRoleTargetToValidate.universalIdentifier, }, - }; + metadataName: 'roleTarget', + type: 'delete', + }); const existingRoleTarget = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatRoleTargetToValidate.id, @@ -118,16 +120,17 @@ export class FlatRoleTargetValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.roleTarget - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_role_target', - errors: [], + >): FailedFlatEntityValidation<'roleTarget', 'update'> { + const existingRoleTarget = optimisticFlatRoleTargetMaps.byId[flatEntityId]; + + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityId, + universalIdentifier: existingRoleTarget?.universalIdentifier, }, - }; - - const existingRoleTarget = optimisticFlatRoleTargetMaps.byId[flatEntityId]; + metadataName: 'roleTarget', + type: 'update', + }); if (!isDefined(existingRoleTarget)) { validationResult.errors.push({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-validator.service.ts index c3a61241a92..f7d2e7e20d1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-role-validator.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; -import { type FlatRole } from 'src/engine/metadata-modules/flat-role/types/flat-role.type'; import { PermissionsExceptionCode } from 'src/engine/metadata-modules/permissions/permissions.exception'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateRoleIsEditable } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-role-is-editable.util'; @@ -25,15 +25,16 @@ export class FlatRoleValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.role - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_role', - errors: [], + >): FailedFlatEntityValidation<'role', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, label: flatEntityToValidate.label, }, - }; + metadataName: 'role', + type: 'create', + }); const existingRoles = Object.values(optimisticFlatRoleMaps.byId).filter( isDefined, @@ -69,15 +70,16 @@ export class FlatRoleValidatorService { buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.role - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_role', - errors: [], + >): FailedFlatEntityValidation<'role', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, label: flatEntityToValidate.label, }, - }; + metadataName: 'role', + type: 'delete', + }); const existingRole = optimisticFlatRoleMaps.byId[flatEntityToValidate.id]; @@ -110,16 +112,17 @@ export class FlatRoleValidatorService { buildOptions, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.role - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_role', - errors: [], + >): FailedFlatEntityValidation<'role', 'update'> { + const fromFlatRole = optimisticFlatRoleMaps.byId[flatEntityId]; + + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityId, + universalIdentifier: fromFlatRole?.universalIdentifier, }, - }; - - const fromFlatRole = optimisticFlatRoleMaps.byId[flatEntityId]; + metadataName: 'role', + type: 'update', + }); if (!isDefined(fromFlatRole)) { validationResult.errors.push({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-route-trigger-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-route-trigger-validator.service.ts index 6fd895bdbd8..169b5e4c1b9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-route-trigger-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-route-trigger-validator.service.ts @@ -5,8 +5,8 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { RouteTriggerExceptionCode } from 'src/engine/metadata-modules/route-trigger/exceptions/route-trigger.exception'; -import { FlatRouteTrigger } from 'src/engine/metadata-modules/route-trigger/types/flat-route-trigger.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -24,18 +24,19 @@ export class FlatRouteTriggerValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.routeTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_route_trigger', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'routeTrigger', 'update'> { const existingFlatRouteTrigger = optimisticFlatRouteTriggerMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatRouteTrigger?.universalIdentifier, + }, + metadataName: 'routeTrigger', + type: 'update', + }); + if (!isDefined(existingFlatRouteTrigger)) { validationResult.errors.push({ code: RouteTriggerExceptionCode.ROUTE_NOT_FOUND, @@ -70,20 +71,21 @@ export class FlatRouteTriggerValidatorService { } public validateFlatRouteTriggerDeletion({ - flatEntityToValidate: { id: routeTriggerIdToDelete }, + flatEntityToValidate: { id: routeTriggerIdToDelete, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatRouteTriggerMaps: optimisticFlatRouteTriggerMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.routeTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_route_trigger', - errors: [], + >): FailedFlatEntityValidation<'routeTrigger', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: routeTriggerIdToDelete, + universalIdentifier, }, - }; + metadataName: 'routeTrigger', + type: 'delete', + }); const existingFlatRouteTrigger = optimisticFlatRouteTriggerMaps.byId[routeTriggerIdToDelete]; @@ -107,14 +109,15 @@ export class FlatRouteTriggerValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.routeTrigger - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_route_trigger', - errors: [], + >): FailedFlatEntityValidation<'routeTrigger', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatRouteTriggerToValidate.id, + universalIdentifier: flatRouteTriggerToValidate.universalIdentifier, }, - }; + metadataName: 'routeTrigger', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-group-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-group-validator.service.ts index 940f659171c..7134b9ed85f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-group-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-group-validator.service.ts @@ -8,8 +8,8 @@ import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { RowLevelPermissionPredicateGroupExceptionCode } from 'src/engine/metadata-modules/row-level-permission-predicate/exceptions/row-level-permission-predicate-group.exception'; -import { type FlatRowLevelPermissionPredicateGroup } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate-group.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -21,7 +21,7 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicateGroup', 'create'> { const { flatRowLevelPermissionPredicateGroupMaps: optimisticFlatPredicateGroupMaps, @@ -30,14 +30,14 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { flatRowLevelPermissionPredicateGroupMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateGroupMaps; flatRoleMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRoleMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'create_row_level_permission_predicate_group', - errors: [], - flatEntityMinimalInformation: { - id: flatPredicateGroupToValidate.id, - }, - }; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatPredicateGroupToValidate.id, + universalIdentifier: flatPredicateGroupToValidate.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicateGroup', + type: 'create', + }); const existingPredicateGroup = optimisticFlatPredicateGroupMaps?.byId[flatPredicateGroupToValidate.id]; @@ -94,21 +94,21 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicateGroup', 'delete'> { const { flatRowLevelPermissionPredicateGroupMaps: optimisticFlatPredicateGroupMaps, } = optimisticFlatEntityMapsAndRelatedFlatEntityMaps as Partial<{ flatRowLevelPermissionPredicateGroupMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateGroupMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'delete_row_level_permission_predicate_group', - errors: [], - flatEntityMinimalInformation: { - id: flatPredicateGroupToDelete.id, - }, - }; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatPredicateGroupToDelete.id, + universalIdentifier: flatPredicateGroupToDelete.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicateGroup', + type: 'delete', + }); const existingPredicateGroup = optimisticFlatPredicateGroupMaps?.byId[flatPredicateGroupToDelete.id]; @@ -130,7 +130,7 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicateGroup - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicateGroup', 'update'> { const { flatRowLevelPermissionPredicateGroupMaps: optimisticFlatPredicateGroupMaps, @@ -139,18 +139,19 @@ export class FlatRowLevelPermissionPredicateGroupValidatorService { flatRowLevelPermissionPredicateGroupMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateGroupMaps; flatRoleMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRoleMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'update_row_level_permission_predicate_group', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; const existingPredicateGroup = optimisticFlatPredicateGroupMaps?.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingPredicateGroup?.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicateGroup', + type: 'update', + }); + if (!isDefined(existingPredicateGroup)) { validationResult.errors.push({ code: RowLevelPermissionPredicateGroupExceptionCode.ROW_LEVEL_PERMISSION_PREDICATE_GROUP_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-validator.service.ts index ea514f4ddee..8635ae2325b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-row-level-permission-predicate-validator.service.ts @@ -8,8 +8,8 @@ import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { RowLevelPermissionPredicateExceptionCode } from 'src/engine/metadata-modules/row-level-permission-predicate/exceptions/row-level-permission-predicate.exception'; -import { type FlatRowLevelPermissionPredicate } from 'src/engine/metadata-modules/row-level-permission-predicate/types/flat-row-level-permission-predicate.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -21,7 +21,7 @@ export class FlatRowLevelPermissionPredicateValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicate', 'create'> { const { flatRowLevelPermissionPredicateMaps: optimisticFlatPredicateMaps, flatFieldMetadataMaps, @@ -36,14 +36,14 @@ export class FlatRowLevelPermissionPredicateValidatorService { flatRoleMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRoleMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'create_row_level_permission_predicate', - errors: [], - flatEntityMinimalInformation: { - id: flatPredicateToValidate.id, - }, - }; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatPredicateToValidate.id, + universalIdentifier: flatPredicateToValidate.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicate', + type: 'create', + }); const existingPredicate = optimisticFlatPredicateMaps?.byId[flatPredicateToValidate.id]; @@ -128,19 +128,19 @@ export class FlatRowLevelPermissionPredicateValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicate', 'delete'> { const { flatRowLevelPermissionPredicateMaps: optimisticFlatPredicateMaps } = optimisticFlatEntityMapsAndRelatedFlatEntityMaps as Partial<{ flatRowLevelPermissionPredicateMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'delete_row_level_permission_predicate', - errors: [], - flatEntityMinimalInformation: { - id: flatPredicateToDelete.id, - }, - }; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatPredicateToDelete.id, + universalIdentifier: flatPredicateToDelete.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicate', + type: 'delete', + }); const existingPredicate = optimisticFlatPredicateMaps?.byId[flatPredicateToDelete.id]; @@ -162,7 +162,7 @@ export class FlatRowLevelPermissionPredicateValidatorService { optimisticFlatEntityMapsAndRelatedFlatEntityMaps, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.rowLevelPermissionPredicate - >): FailedFlatEntityValidation { + >): FailedFlatEntityValidation<'rowLevelPermissionPredicate', 'update'> { const { flatRowLevelPermissionPredicateMaps: optimisticFlatPredicateMaps, flatFieldMetadataMaps, @@ -176,17 +176,18 @@ export class FlatRowLevelPermissionPredicateValidatorService { flatRowLevelPermissionPredicateGroupMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRowLevelPermissionPredicateGroupMaps; flatRoleMaps: typeof optimisticFlatEntityMapsAndRelatedFlatEntityMaps.flatRoleMaps; }>; - const validationResult: FailedFlatEntityValidation = - { - type: 'update_row_level_permission_predicate', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; const existingPredicate = optimisticFlatPredicateMaps?.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingPredicate?.universalIdentifier, + }, + metadataName: 'rowLevelPermissionPredicate', + type: 'update', + }); + if (!isDefined(existingPredicate)) { validationResult.errors.push({ code: RowLevelPermissionPredicateExceptionCode.ROW_LEVEL_PERMISSION_PREDICATE_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-serverless-function-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-serverless-function-validator.service.ts index 6c0585a6992..73f803382d1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-serverless-function-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-serverless-function-validator.service.ts @@ -5,8 +5,8 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { ServerlessFunctionExceptionCode } from 'src/engine/metadata-modules/serverless-function/serverless-function.exception'; -import { FlatServerlessFunction } from 'src/engine/metadata-modules/serverless-function/types/flat-serverless-function.type'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @@ -21,19 +21,20 @@ export class FlatServerlessFunctionValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.serverlessFunction - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'update_serverless_function', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'serverlessFunction', 'update'> { const existingFlatServerlessFunction = optimisticFlatServerlessFunctionMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: + existingFlatServerlessFunction?.universalIdentifier, + }, + metadataName: 'serverlessFunction', + type: 'update', + }); + if (!isDefined(existingFlatServerlessFunction)) { validationResult.errors.push({ code: ServerlessFunctionExceptionCode.SERVERLESS_FUNCTION_NOT_FOUND, @@ -46,21 +47,24 @@ export class FlatServerlessFunctionValidatorService { } public validateFlatServerlessFunctionDeletion({ - flatEntityToValidate: { id: serverlessFunctionIdToDelete }, + flatEntityToValidate: { + id: serverlessFunctionIdToDelete, + universalIdentifier, + }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatServerlessFunctionMaps: optimisticFlatServerlessFunctionMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.serverlessFunction - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'delete_serverless_function', - errors: [], - flatEntityMinimalInformation: { - id: serverlessFunctionIdToDelete, - }, - }; + >): FailedFlatEntityValidation<'serverlessFunction', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: serverlessFunctionIdToDelete, + universalIdentifier, + }, + metadataName: 'serverlessFunction', + type: 'delete', + }); const existingFlatServerlessFunction = optimisticFlatServerlessFunctionMaps.byId[serverlessFunctionIdToDelete]; @@ -83,15 +87,16 @@ export class FlatServerlessFunctionValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.serverlessFunction - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = - { - type: 'create_serverless_function', - errors: [], - flatEntityMinimalInformation: { - id: flatServerlessFunctionToValidate.id, - }, - }; + >): FailedFlatEntityValidation<'serverlessFunction', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatServerlessFunctionToValidate.id, + universalIdentifier: + flatServerlessFunctionToValidate.universalIdentifier, + }, + metadataName: 'serverlessFunction', + type: 'create', + }); if ( isDefined( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-skill-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-skill-validator.service.ts index 319c5bd4bf6..d2f0615631f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-skill-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-skill-validator.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; @@ -10,6 +10,7 @@ import { SkillExceptionCode } from 'src/engine/metadata-modules/skill/skill.exce import { isStandardMetadata } from 'src/engine/metadata-modules/utils/is-standard-metadata.util'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateSkillNameUniqueness } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-skill-name-uniqueness.util'; @@ -29,15 +30,16 @@ export class FlatSkillValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.skill - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_skill', - errors: [], + >): FailedFlatEntityValidation<'skill', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatSkill.id, + universalIdentifier: flatSkill.universalIdentifier, name: flatSkill.name, }, - }; + metadataName: 'skill', + type: 'create', + }); const existingSkills = Object.values(optimisticFlatSkillMaps.byId).filter( isDefined, @@ -65,15 +67,16 @@ export class FlatSkillValidatorService { buildOptions, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.skill - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_skill', - errors: [], + >): FailedFlatEntityValidation<'skill', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, name: flatEntityToValidate.name, }, - }; + metadataName: 'skill', + type: 'delete', + }); const existingSkill = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatEntityToValidate.id, @@ -110,20 +113,21 @@ export class FlatSkillValidatorService { buildOptions, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.skill - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_skill', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'skill', 'update'> { const fromFlatSkill = findFlatEntityByIdInFlatEntityMaps({ flatEntityId, flatEntityMaps: optimisticFlatSkillMaps, }); + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: fromFlatSkill?.universalIdentifier, + }, + metadataName: 'skill', + type: 'update', + }); + if (!isDefined(fromFlatSkill)) { validationResult.errors.push({ code: SkillExceptionCode.SKILL_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-field-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-field-validator.service.ts index 7253b8444a5..b24be2433dd 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-field-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-field-validator.service.ts @@ -6,10 +6,10 @@ import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { findManyFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-many-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { FlatViewField } from 'src/engine/metadata-modules/flat-view-field/types/flat-view-field.type'; import { isViewFieldInLowestPosition } from 'src/engine/metadata-modules/flat-view-field/utils/is-view-field-in-lowest-position.util'; import { ViewExceptionCode } from 'src/engine/metadata-modules/view/exceptions/view.exception'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { validateLabelIdentifierFieldMetadataIdFlatViewField } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/utils/validate-label-identifier-field-metadata-id-flat-view-field.util'; @@ -29,18 +29,19 @@ export class FlatViewFieldValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.viewField - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view_field', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'viewField', 'update'> { const existingFlatViewField = optimisticFlatViewFieldMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatViewField?.universalIdentifier, + }, + metadataName: 'viewField', + type: 'update', + }); + if (!isDefined(existingFlatViewField)) { validationResult.errors.push({ code: ViewExceptionCode.INVALID_VIEW_DATA, @@ -59,6 +60,7 @@ export class FlatViewFieldValidatorService { }; validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: updatedFlatViewField.id, viewId: updatedFlatViewField.viewId, fieldMetadataId: updatedFlatViewField.fieldMetadataId, @@ -119,7 +121,7 @@ export class FlatViewFieldValidatorService { } public validateFlatViewFieldDeletion({ - flatEntityToValidate: { id: viewFieldIdToDelete }, + flatEntityToValidate: { id: viewFieldIdToDelete, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatViewFieldMaps: optimisticFlatViewFieldMaps, flatFieldMetadataMaps, @@ -127,14 +129,15 @@ export class FlatViewFieldValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewField - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view_field', - errors: [], + >): FailedFlatEntityValidation<'viewField', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: viewFieldIdToDelete, + universalIdentifier, }, - }; + metadataName: 'viewField', + type: 'delete', + }); const existingFlatViewField = optimisticFlatViewFieldMaps.byId[viewFieldIdToDelete]; @@ -191,16 +194,17 @@ export class FlatViewFieldValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewField - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view_field', - errors: [], + >): FailedFlatEntityValidation<'viewField', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFieldToValidate.id, + universalIdentifier: flatViewFieldToValidate.universalIdentifier, viewId: flatViewFieldToValidate.viewId, fieldMetadataId: flatViewFieldToValidate.fieldMetadataId, }, - }; + metadataName: 'viewField', + type: 'create', + }); const existingFlatViewField = optimisticFlatViewFieldMaps.byId[flatViewFieldToValidate.id]; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-group-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-group-validator.service.ts index 0d9cae1d96d..fda55c7b656 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-group-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-group-validator.service.ts @@ -1,12 +1,11 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; import { type FlatViewFilterGroupMaps } from 'src/engine/metadata-modules/flat-view-filter-group/types/flat-view-filter-group-maps.type'; -import { type FlatViewFilterGroup } from 'src/engine/metadata-modules/flat-view-filter-group/types/flat-view-filter-group.type'; import { ViewFilterGroupExceptionCode } from 'src/engine/metadata-modules/view-filter-group/exceptions/view-filter-group.exception'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { validateFlatEntityCircularDependency } from 'src/engine/workspace-manager/workspace-migration-v2/utils/validate-flat-entity-circular-dependency.util'; @@ -14,6 +13,7 @@ import { type FailedFlatEntityValidation, type FlatEntityValidationError, } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; @@ -82,14 +82,15 @@ export class FlatViewFilterGroupValidatorService { remainingFlatEntityMapsToValidate, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewFilterGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view_filter_group', - errors: [], + >): FailedFlatEntityValidation<'viewFilterGroup', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFilterGroupToValidate.id, + universalIdentifier: flatViewFilterGroupToValidate.universalIdentifier, }, - }; + metadataName: 'viewFilterGroup', + type: 'create', + }); const existingViewFilterGroup = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatViewFilterGroupToValidate.id, @@ -162,14 +163,15 @@ export class FlatViewFilterGroupValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewFilterGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view_filter_group', - errors: [], + >): FailedFlatEntityValidation<'viewFilterGroup', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFilterGroupToValidate.id, + universalIdentifier: flatViewFilterGroupToValidate.universalIdentifier, }, - }; + metadataName: 'viewFilterGroup', + type: 'delete', + }); const existingViewFilterGroup = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatViewFilterGroupToValidate.id, @@ -195,18 +197,19 @@ export class FlatViewFilterGroupValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.viewFilterGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view_filter_group', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'viewFilterGroup', 'update'> { const existingViewFilterGroup = optimisticFlatViewFilterGroupMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingViewFilterGroup?.universalIdentifier, + }, + metadataName: 'viewFilterGroup', + type: 'update', + }); + if (!isDefined(existingViewFilterGroup)) { validationResult.errors.push({ code: ViewFilterGroupExceptionCode.VIEW_FILTER_GROUP_NOT_FOUND, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-validator.service.ts index df53cf8d2e8..eb429c0c5fd 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-filter-validator.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; -import { type ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { type FlatViewFilter } from 'src/engine/metadata-modules/flat-view-filter/types/flat-view-filter.type'; import { ViewFilterExceptionCode } from 'src/engine/metadata-modules/view-filter/exceptions/view-filter.exception'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -26,14 +26,15 @@ export class FlatViewFilterValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewFilter - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view_filter', - errors: [], + >): FailedFlatEntityValidation<'viewFilter', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFilterToValidate.id, + universalIdentifier: flatViewFilterToValidate.universalIdentifier, }, - }; + metadataName: 'viewFilter', + type: 'create', + }); const existingViewFilter = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatViewFilterToValidate.id, @@ -99,14 +100,15 @@ export class FlatViewFilterValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewFilter - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view_filter', - errors: [], + >): FailedFlatEntityValidation<'viewFilter', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewFilterToValidate.id, + universalIdentifier: flatViewFilterToValidate.universalIdentifier, }, - }; + metadataName: 'viewFilter', + type: 'delete', + }); const existingViewFilter = findFlatEntityByIdInFlatEntityMaps({ flatEntityId: flatViewFilterToValidate.id, @@ -136,16 +138,17 @@ export class FlatViewFilterValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.viewFilter - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view_filter', - errors: [], + >): FailedFlatEntityValidation<'viewFilter', 'update'> { + const existingViewFilter = optimisticFlatViewFilterMaps.byId[flatEntityId]; + + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityId, + universalIdentifier: existingViewFilter?.universalIdentifier, }, - }; - - const existingViewFilter = optimisticFlatViewFilterMaps.byId[flatEntityId]; + metadataName: 'viewFilter', + type: 'update', + }); if (!isDefined(existingViewFilter)) { validationResult.errors.push({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-group-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-group-validator.service.ts index 1a0d8b2dc07..b9591b2d41c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-group-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-group-validator.service.ts @@ -5,9 +5,9 @@ import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util'; -import { FlatViewGroup } from 'src/engine/metadata-modules/flat-view-group/types/flat-view-group.type'; import { ViewExceptionCode } from 'src/engine/metadata-modules/view/exceptions/view.exception'; import { FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -23,18 +23,19 @@ export class FlatViewGroupValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.viewGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view_group', - errors: [], - flatEntityMinimalInformation: { - id: flatEntityId, - }, - }; - + >): FailedFlatEntityValidation<'viewGroup', 'update'> { const existingFlatViewGroup = optimisticFlatViewGroupMaps.byId[flatEntityId]; + const validationResult = getEmptyFlatEntityValidationError({ + flatEntityMinimalInformation: { + id: flatEntityId, + universalIdentifier: existingFlatViewGroup?.universalIdentifier, + }, + metadataName: 'viewGroup', + type: 'update', + }); + if (!isDefined(existingFlatViewGroup)) { validationResult.errors.push({ code: ViewExceptionCode.INVALID_VIEW_DATA, @@ -61,6 +62,7 @@ export class FlatViewGroupValidatorService { } validationResult.flatEntityMinimalInformation = { + ...validationResult.flatEntityMinimalInformation, id: updatedFlatViewGroup.id, viewId: updatedFlatViewGroup.viewId, }; @@ -82,20 +84,21 @@ export class FlatViewGroupValidatorService { } public validateFlatViewGroupDeletion({ - flatEntityToValidate: { id: viewGroupIdToDelete }, + flatEntityToValidate: { id: viewGroupIdToDelete, universalIdentifier }, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatViewGroupMaps: optimisticFlatViewGroupMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view_group', - errors: [], + >): FailedFlatEntityValidation<'viewGroup', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: viewGroupIdToDelete, + universalIdentifier, }, - }; + metadataName: 'viewGroup', + type: 'delete', + }); const existingFlatViewGroup = optimisticFlatViewGroupMaps.byId[viewGroupIdToDelete]; @@ -119,15 +122,16 @@ export class FlatViewGroupValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.viewGroup - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view_group', - errors: [], + >): FailedFlatEntityValidation<'viewGroup', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewGroupToValidate.id, + universalIdentifier: flatViewGroupToValidate.universalIdentifier, viewId: flatViewGroupToValidate.viewId, }, - }; + metadataName: 'viewGroup', + type: 'create', + }); const existingFlatViewGroup = optimisticFlatViewGroupMaps.byId[flatViewGroupToValidate.id]; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-validator.service.ts index 28451a9fbc1..38d7b2bfba4 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/validators/services/flat-view-validator.service.ts @@ -9,6 +9,7 @@ import { ViewType } from 'src/engine/metadata-modules/view/enums/view-type.enum' import { ViewExceptionCode } from 'src/engine/metadata-modules/view/exceptions/view.exception'; import { findFlatEntityPropertyUpdate } from 'src/engine/workspace-manager/workspace-migration-v2/utils/find-flat-entity-property-update.util'; import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/types/failed-flat-entity-validation.type'; +import { getEmptyFlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/utils/get-flat-entity-validation-error.util'; import { type FlatEntityUpdateValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-update-validation-args.type'; import { type FlatEntityValidationArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/flat-entity-validation-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @@ -25,16 +26,17 @@ export class FlatViewValidatorService { }, }: FlatEntityUpdateValidationArgs< typeof ALL_METADATA_NAME.view - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'update_view', - errors: [], + >): FailedFlatEntityValidation<'view', 'update'> { + const existingFlatView = optimisticFlatViewMaps.byId[flatEntityId]; + + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatEntityId, + universalIdentifier: existingFlatView?.universalIdentifier, }, - }; - - const existingFlatView = optimisticFlatViewMaps.byId[flatEntityId]; + metadataName: 'view', + type: 'update', + }); if (!isDefined(existingFlatView)) { validationResult.errors.push({ @@ -146,22 +148,24 @@ export class FlatViewValidatorService { } public validateFlatViewDeletion({ - flatEntityToValidate: { id: viewIdToDelete }, + flatEntityToValidate, optimisticFlatEntityMapsAndRelatedFlatEntityMaps: { flatViewMaps: optimisticFlatViewMaps, }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.view - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'delete_view', - errors: [], + >): FailedFlatEntityValidation<'view', 'delete'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { - id: viewIdToDelete, + id: flatEntityToValidate.id, + universalIdentifier: flatEntityToValidate.universalIdentifier, }, - }; + metadataName: 'view', + type: 'delete', + }); - const existingFlatView = optimisticFlatViewMaps.byId[viewIdToDelete]; + const existingFlatView = + optimisticFlatViewMaps.byId[flatEntityToValidate.id]; if (!isDefined(existingFlatView)) { validationResult.errors.push({ @@ -183,14 +187,15 @@ export class FlatViewValidatorService { }, }: FlatEntityValidationArgs< typeof ALL_METADATA_NAME.view - >): FailedFlatEntityValidation { - const validationResult: FailedFlatEntityValidation = { - type: 'create_view', - errors: [], + >): FailedFlatEntityValidation<'view', 'create'> { + const validationResult = getEmptyFlatEntityValidationError({ flatEntityMinimalInformation: { id: flatViewToValidate.id, + universalIdentifier: flatViewToValidate.universalIdentifier, }, - }; + metadataName: 'view', + type: 'create', + }); const optimisticFlatObjectMetadata = flatObjectMetadataMaps.byId[flatViewToValidate.objectMetadataId]; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/create-agent-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/create-agent-action-handler.service.ts index 06cafe2c1c7..ec2309b223f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/create-agent-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/create-agent-action-handler.service.ts @@ -1,41 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { AgentEntity } from 'src/engine/metadata-modules/ai/ai-agent/entities/agent.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { CreateAgentAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateAgentActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_agent', + 'create', + 'agent', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatAgentMaps } = allFlatEntityMaps; - const { flatEntity } = action; - - const updatedFlatAgentMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity, - flatEntityMaps: flatAgentMaps, - }); - - return { - flatAgentMaps: updatedFlatAgentMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/delete-agent-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/delete-agent-action-handler.service.ts index 4cde07d58f2..5845d4b237a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/delete-agent-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/delete-agent-action-handler.service.ts @@ -1,51 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { AgentEntity } from 'src/engine/metadata-modules/ai/ai-agent/entities/agent.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { DeleteAgentAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteAgentActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_agent', + 'delete', + 'agent', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatAgentMaps } = allFlatEntityMaps; - const { flatEntityId } = action; - - const updatedFlatAgentMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: flatEntityId, - flatEntityMaps: flatAgentMaps, - }); - - return { - flatAgentMaps: updatedFlatAgentMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId } = action; + const { entityId } = action; const agentRepository = queryRunner.manager.getRepository(AgentEntity); - await agentRepository.delete({ id: flatEntityId, workspaceId }); + await agentRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/update-agent-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/update-agent-action-handler.service.ts index edc15848f03..199f4c62540 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/update-agent-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/agent/services/update-agent-action-handler.service.ts @@ -1,64 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { AgentEntity } from 'src/engine/metadata-modules/ai/ai-agent/entities/agent.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { UpdateAgentAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/agent/types/workspace-migration-v2-agent-action-builder.service'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @Injectable() export class UpdateAgentActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_agent', + 'update', + 'agent', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatAgentMaps } = allFlatEntityMaps; - const { flatEntityId, flatEntityUpdates } = action; - - const existingAgent = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId, - flatEntityMaps: flatAgentMaps, - }); - - const updatedAgent = { - ...existingAgent, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, - }), - }; - - const updatedFlatAgentMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedAgent, - flatEntityMaps: flatAgentMaps, - }); - - return { - flatAgentMaps: updatedFlatAgentMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId, flatEntityUpdates } = action; + const { entityId, updates } = action; const agentRepository = queryRunner.manager.getRepository(AgentEntity); await agentRepository.update( - { id: flatEntityId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, + updates, }), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/create-cron-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/create-cron-trigger-action-handler.service.ts index 121d0609cda..9577094f71f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/create-cron-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/create-cron-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class CreateCronTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_cron_trigger', + 'create', + 'cronTrigger', ) { constructor() { super(); @@ -18,7 +19,7 @@ export class CreateCronTriggerActionHandlerService extends WorkspaceMigrationRun context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { cronTrigger } = action; + const { flatEntity: cronTrigger } = action; const cronTriggerRepository = queryRunner.manager.getRepository(CronTriggerEntity); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts index 1859ee3cb3f..dd39cbdd6a6 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/delete-cron-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class DeleteCronTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_cron_trigger', + 'delete', + 'cronTrigger', ) { constructor() { super(); @@ -18,13 +19,13 @@ export class DeleteCronTriggerActionHandlerService extends WorkspaceMigrationRun context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { cronTriggerId } = action; + const { entityId } = action; const cronTriggerRepository = queryRunner.manager.getRepository(CronTriggerEntity); await cronTriggerRepository.delete({ - id: cronTriggerId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/update-cron-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/update-cron-trigger-action-handler.service.ts index 250a3ed696e..9d8f980af8c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/update-cron-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/cron-trigger/services/update-cron-trigger-action-handler.service.ts @@ -9,7 +9,8 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateCronTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_cron_trigger', + 'update', + 'cronTrigger', ) { constructor() { super(); @@ -19,13 +20,13 @@ export class UpdateCronTriggerActionHandlerService extends WorkspaceMigrationRun context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { cronTriggerId } = action; + const { entityId } = action; const cronTriggerRepository = queryRunner.manager.getRepository(CronTriggerEntity); await cronTriggerRepository.update( - cronTriggerId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/create-database-event-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/create-database-event-trigger-action-handler.service.ts index 996e7a31ec6..601dfbb0cd8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/create-database-event-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/create-database-event-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class CreateDatabaseEventTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_database_event_trigger', + 'create', + 'databaseEventTrigger', ) { constructor() { super(); @@ -18,7 +19,7 @@ export class CreateDatabaseEventTriggerActionHandlerService extends WorkspaceMig context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { databaseEventTrigger } = action; + const { flatEntity: databaseEventTrigger } = action; const databaseEventTriggerRepository = queryRunner.manager.getRepository( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts index 6368d0c7775..f3473d9c35c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/delete-database-event-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class DeleteDatabaseEventTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_database_event_trigger', + 'delete', + 'databaseEventTrigger', ) { constructor() { super(); @@ -18,7 +19,7 @@ export class DeleteDatabaseEventTriggerActionHandlerService extends WorkspaceMig context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { databaseEventTriggerId } = action; + const { entityId } = action; const databaseEventTriggerRepository = queryRunner.manager.getRepository( @@ -26,7 +27,7 @@ export class DeleteDatabaseEventTriggerActionHandlerService extends WorkspaceMig ); await databaseEventTriggerRepository.delete({ - id: databaseEventTriggerId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/update-database-event-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/update-database-event-trigger-action-handler.service.ts index 7e3409c663b..26aa5ab8280 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/update-database-event-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/database-event-trigger/services/update-database-event-trigger-action-handler.service.ts @@ -9,7 +9,8 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateDatabaseEventTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_database_event_trigger', + 'update', + 'databaseEventTrigger', ) { constructor() { super(); @@ -19,7 +20,7 @@ export class UpdateDatabaseEventTriggerActionHandlerService extends WorkspaceMig context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { databaseEventTriggerId } = action; + const { entityId } = action; const databaseEventTriggerRepository = queryRunner.manager.getRepository( @@ -27,7 +28,7 @@ export class UpdateDatabaseEventTriggerActionHandlerService extends WorkspaceMig ); await databaseEventTriggerRepository.update( - databaseEventTriggerId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/create-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/create-field-action-handler.service.ts index 2b259d45142..718ee3abfae 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/create-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/create-field-action-handler.service.ts @@ -3,14 +3,9 @@ import { Injectable } from '@nestjs/common'; import { RelationType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; import { isMorphOrRelationFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-morph-or-relation-flat-field-metadata.util'; import { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; @@ -28,7 +23,8 @@ import { @Injectable() export class CreateFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_field', + 'create', + 'fieldMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -36,26 +32,6 @@ export class CreateFieldActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatFieldMetadataMaps: existingFlatFieldMetadataMaps } = - allFlatEntityMaps; - const updatedFlatFieldMetadataMaps = action.flatFieldMetadatas.reduce( - (flatFieldMetadataMaps, flatFieldMetadata) => - addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: flatFieldMetadata, - flatEntityMaps: flatFieldMetadataMaps, - }), - existingFlatFieldMetadataMaps, - ); - - return { - flatFieldMetadataMaps: updatedFlatFieldMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/delete-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/delete-field-action-handler.service.ts index 95f9e60872a..effd929622b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/delete-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/delete-field-action-handler.service.ts @@ -2,14 +2,9 @@ import { Injectable } from '@nestjs/common'; import { In } from 'typeorm'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; import { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; import { type DeleteFieldAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/field/types/workspace-migration-field-action-v2'; @@ -24,7 +19,8 @@ import { @Injectable() export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_field', + 'delete', + 'fieldMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -32,24 +28,6 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatFieldMetadataMaps } = allFlatEntityMaps; - const { fieldMetadataId } = action; - - const updatedFlatFieldMetadataMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: fieldMetadataId, - flatEntityMaps: flatFieldMetadataMaps, - }); - - return { - flatFieldMetadataMaps: updatedFlatFieldMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ) { @@ -59,10 +37,10 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct FieldMetadataEntity, ); - const { fieldMetadataId } = action; + const { entityId } = action; await fieldMetadataRepository.delete({ - id: In([fieldMetadataId]), + id: In([entityId]), }); } @@ -75,7 +53,7 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { objectMetadataId, fieldMetadataId } = action; + const { objectMetadataId, entityId } = action; const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityMaps: flatObjectMetadataMaps, @@ -84,7 +62,7 @@ export class DeleteFieldActionHandlerService extends WorkspaceMigrationRunnerAct const fieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityMaps: flatFieldMetadataMaps, - flatEntityId: fieldMetadataId, + flatEntityId: entityId, }); const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service.ts index e48b860764a..c08f399dd4d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service.ts @@ -4,19 +4,14 @@ import { FieldMetadataType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { ColumnType, type QueryRunner } from 'typeorm'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { computeCompositeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util'; import { getCompositeTypeOrThrow } from 'src/engine/metadata-modules/field-metadata/utils/get-composite-type-or-throw.util'; import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; import { FlatEntityPropertiesToCompare } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-properties-to-compare.type'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; import { isCompositeFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-composite-flat-field-metadata.util'; import { isEnumFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-enum-flat-field-metadata.util'; @@ -57,7 +52,8 @@ type UpdateFieldPropertyUpdateHandlerArgs< @Injectable() export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_field', + 'update', + 'fieldMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -65,43 +61,6 @@ export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatFieldMetadataMaps } = allFlatEntityMaps; - const { fieldMetadataId } = action; - - const existingFlatFieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow( - { - flatEntityId: fieldMetadataId, - flatEntityMaps: flatFieldMetadataMaps, - }, - ); - - if (!isDefined(existingFlatFieldMetadata)) { - throw new WorkspaceMigrationRunnerException( - `Workspace migration failed: Field metadata not found in cache`, - WorkspaceMigrationRunnerExceptionCode.FIELD_METADATA_NOT_FOUND, - ); - } - - const updatedFlatFieldMetadata = { - ...existingFlatFieldMetadata, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatFieldMetadataMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedFlatFieldMetadata, - flatEntityMaps: flatFieldMetadataMaps, - }); - - return { - flatFieldMetadataMaps: updatedFlatFieldMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { @@ -111,10 +70,10 @@ export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerAct FieldMetadataEntity, ); - const { fieldMetadataId } = action; + const { entityId } = action; await fieldMetadataRepository.update( - fieldMetadataId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } @@ -128,7 +87,7 @@ export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerAct allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { objectMetadataId, fieldMetadataId, updates } = action; + const { objectMetadataId, entityId, updates } = action; const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityId: objectMetadataId, @@ -141,7 +100,7 @@ export class UpdateFieldActionHandlerService extends WorkspaceMigrationRunnerAct }); const currentFlatFieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: fieldMetadataId, + flatEntityId: entityId, flatEntityMaps: flatFieldMetadataMaps, }); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service.ts index 756999ec329..b6ad9c4c4e5 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service.ts @@ -1,40 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { isDefined } from 'twenty-shared/utils'; -import { compositeTypeDefinitions } from 'twenty-shared/types'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; - -import { - WorkspaceQueryRunnerException, - WorkspaceQueryRunnerExceptionCode, -} from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.exception'; -import { computeCompositeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util'; -import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; -import { - FlatEntityMapsException, - FlatEntityMapsExceptionCode, -} from 'src/engine/metadata-modules/flat-entity/exceptions/flat-entity-maps.exception'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; -import { isMorphOrRelationFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-morph-or-relation-flat-field-metadata.util'; -import { FlatIndexFieldMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type'; -import { IndexFieldMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-field-metadata.entity'; -import { IndexMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-metadata.entity'; import { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; import { type CreateIndexAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2'; +import { + createIndexInWorkspaceSchema, + insertIndexMetadata, +} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; -import { getWorkspaceSchemaContextForMigration } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/get-workspace-schema-context-for-migration.util'; @Injectable() export class CreateIndexActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_index', + 'create', + 'index', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -42,54 +22,15 @@ export class CreateIndexActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps: { flatIndexMaps }, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - return { - flatIndexMaps: addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: action.flatIndexMetadata, - flatEntityMaps: flatIndexMaps, - }), - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const indexMetadataRepository = - queryRunner.manager.getRepository( - IndexMetadataEntity, - ); - const indexFieldMetadataRepository = - queryRunner.manager.getRepository( - IndexFieldMetadataEntity, - ); - const { - flatIndexMetadata: { flatIndexFieldMetadatas, ...flatIndexMetadata }, - } = action; - - const indexInsertResult = - await indexMetadataRepository.insert(flatIndexMetadata); - - if (indexInsertResult.identifiers.length !== 1) { - throw new WorkspaceQueryRunnerException( - 'Failed to create index metadata', - WorkspaceQueryRunnerExceptionCode.INTERNAL_SERVER_ERROR, - ); - } - const indexMetadataId = indexInsertResult.identifiers[0].id; - - const indexFieldMetadataToInsert = flatIndexFieldMetadatas.map( - (flatIndexFieldMetadata) => ({ - ...flatIndexFieldMetadata, - indexMetadataId, - }), - ); - - await indexFieldMetadataRepository.insert(indexFieldMetadataToInsert); + await insertIndexMetadata({ + flatIndexMetadata: action.flatEntity, + queryRunner, + }); } async executeForWorkspaceSchema( @@ -97,7 +38,7 @@ export class CreateIndexActionHandlerService extends WorkspaceMigrationRunnerAct ): Promise { const { allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, - action: { flatIndexMetadata }, + action: { flatEntity: flatIndexMetadata }, queryRunner, workspaceId, } = context; @@ -106,83 +47,14 @@ export class CreateIndexActionHandlerService extends WorkspaceMigrationRunnerAct flatEntityMaps: flatObjectMetadataMaps, flatEntityId: flatIndexMetadata.objectMetadataId, }); - const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ - workspaceId, + + await createIndexInWorkspaceSchema({ + flatIndexMetadata, flatObjectMetadata, - }); - - const quotedColumns = this.computeFlatIndexFieldColumnNames({ - flatIndexFieldMetadatas: flatIndexMetadata.flatIndexFieldMetadatas, flatFieldMetadataMaps, - }); - - await this.workspaceSchemaManagerService.indexManager.createIndex({ - index: { - columns: quotedColumns, - name: flatIndexMetadata.name, - isUnique: flatIndexMetadata.isUnique, - type: flatIndexMetadata.indexType, - where: flatIndexMetadata.indexWhereClause ?? undefined, - }, + workspaceSchemaManagerService: this.workspaceSchemaManagerService, queryRunner, - schemaName, - tableName, - }); - } - - private computeFlatIndexFieldColumnNames({ - flatIndexFieldMetadatas, - flatFieldMetadataMaps, - }: { - flatIndexFieldMetadatas: FlatIndexFieldMetadata[]; - flatFieldMetadataMaps: FlatEntityMaps; - }): string[] { - return flatIndexFieldMetadatas.flatMap(({ fieldMetadataId }) => { - const flatFieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: fieldMetadataId, - flatEntityMaps: flatFieldMetadataMaps, - }); - - if (!isDefined(flatFieldMetadata)) { - throw new FlatEntityMapsException( - 'Index field related field metadata not found', - FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, - ); - } - - if (isMorphOrRelationFlatFieldMetadata(flatFieldMetadata)) { - if (!isDefined(flatFieldMetadata.settings?.joinColumnName)) { - throw new FlatEntityMapsException( - 'Join column name is not defined for relation field', - FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, - ); - } - - return flatFieldMetadata.settings.joinColumnName; - } - - if (isCompositeFieldMetadataType(flatFieldMetadata.type)) { - const compositeType = compositeTypeDefinitions.get( - flatFieldMetadata.type, - ); - - if (!compositeType) { - throw new FlatEntityMapsException( - 'Composite type not found', - FlatEntityMapsExceptionCode.INTERNAL_SERVER_ERROR, - ); - } - - const uniqueCompositeProperties = compositeType.properties.filter( - (property) => property.isIncludedInUniqueConstraint, - ); - - return uniqueCompositeProperties.map((subField) => - computeCompositeColumnName(flatFieldMetadata.name, subField), - ); - } - - return flatFieldMetadata.name; + workspaceId, }); } } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service.ts index b53764b7b6a..c72b34cdb43 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service.ts @@ -1,22 +1,21 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { IndexMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-metadata.entity'; import { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; import { getWorkspaceSchemaName } from 'src/engine/workspace-datasource/utils/get-workspace-schema-name.util'; import { type DeleteIndexAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2'; +import { + deleteIndexMetadata, + dropIndexFromWorkspaceSchema, +} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteIndexActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_index', + 'delete', + 'index', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -24,31 +23,14 @@ export class DeleteIndexActionHandlerService extends WorkspaceMigrationRunnerAct super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps: { flatIndexMaps }, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - return { - flatIndexMaps: deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: action.flatIndexMetadataId, - flatEntityMaps: flatIndexMaps, - }), - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const indexMetadataRepository = - queryRunner.manager.getRepository( - IndexMetadataEntity, - ); - const { flatIndexMetadataId } = action; - - await indexMetadataRepository.delete({ - id: flatIndexMetadataId, + await deleteIndexMetadata({ + entityId: action.entityId, + queryRunner, }); } @@ -64,15 +46,16 @@ export class DeleteIndexActionHandlerService extends WorkspaceMigrationRunnerAct const flatIndexMetadataToDelete = findFlatEntityByIdInFlatEntityMapsOrThrow( { - flatEntityId: action.flatIndexMetadataId, + flatEntityId: action.entityId, flatEntityMaps: flatIndexMaps, }, ); const schemaName = getWorkspaceSchemaName(workspaceId); - await this.workspaceSchemaManagerService.indexManager.dropIndex({ + await dropIndexFromWorkspaceSchema({ indexName: flatIndexMetadataToDelete.name, + workspaceSchemaManagerService: this.workspaceSchemaManagerService, queryRunner, schemaName, }); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/update-index-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/update-index-action-handler.service.ts new file mode 100644 index 00000000000..1c394c9f63d --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/update-index-action-handler.service.ts @@ -0,0 +1,95 @@ +import { Injectable } from '@nestjs/common'; + +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; + +import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; +import { getWorkspaceSchemaName } from 'src/engine/workspace-datasource/utils/get-workspace-schema-name.util'; +import { type UpdateIndexAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/index/types/workspace-migration-index-action-v2'; +import { + createIndexInWorkspaceSchema, + deleteIndexMetadata, + dropIndexFromWorkspaceSchema, + insertIndexMetadata, +} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils'; +import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; + +@Injectable() +export class UpdateIndexActionHandlerService extends WorkspaceMigrationRunnerActionHandler( + 'update', + 'index', +) { + constructor( + private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, + ) { + super(); + } + + async executeForMetadata( + context: WorkspaceMigrationActionRunnerArgs, + ): Promise { + const { action, queryRunner } = context; + + // Delete old index metadata + await deleteIndexMetadata({ + entityId: action.entityId, + queryRunner, + }); + + // Create new index metadata + await insertIndexMetadata({ + flatIndexMetadata: action.updatedFlatEntity, + queryRunner, + }); + } + + async executeForWorkspaceSchema( + context: WorkspaceMigrationActionRunnerArgs, + ): Promise { + const { + action, + allFlatEntityMaps: { + flatIndexMaps, + flatObjectMetadataMaps, + flatFieldMetadataMaps, + }, + queryRunner, + workspaceId, + } = context; + + const { entityId, updatedFlatEntity } = action; + + // Get the old index to drop it + const flatIndexMetadataToDelete = findFlatEntityByIdInFlatEntityMapsOrThrow( + { + flatEntityId: entityId, + flatEntityMaps: flatIndexMaps, + }, + ); + + const schemaName = getWorkspaceSchemaName(workspaceId); + + // Drop old index + await dropIndexFromWorkspaceSchema({ + indexName: flatIndexMetadataToDelete.name, + workspaceSchemaManagerService: this.workspaceSchemaManagerService, + queryRunner, + schemaName, + }); + + // Create new index + const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ + flatEntityMaps: flatObjectMetadataMaps, + flatEntityId: updatedFlatEntity.objectMetadataId, + }); + + await createIndexInWorkspaceSchema({ + flatIndexMetadata: updatedFlatEntity, + flatObjectMetadata, + flatFieldMetadataMaps, + workspaceSchemaManagerService: this.workspaceSchemaManagerService, + queryRunner, + workspaceId, + }); + } +} diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils.ts new file mode 100644 index 00000000000..a53cf42085d --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/utils/index-action-handler.utils.ts @@ -0,0 +1,194 @@ +import { type QueryRunner } from 'typeorm'; +import { compositeTypeDefinitions } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; + +import { + WorkspaceQueryRunnerException, + WorkspaceQueryRunnerExceptionCode, +} from 'src/engine/api/graphql/workspace-query-runner/workspace-query-runner.exception'; +import { computeCompositeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util'; +import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; +import { + FlatEntityMapsException, + FlatEntityMapsExceptionCode, +} from 'src/engine/metadata-modules/flat-entity/exceptions/flat-entity-maps.exception'; +import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type'; +import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type'; +import { isMorphOrRelationFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-morph-or-relation-flat-field-metadata.util'; +import { + type FlatIndexFieldMetadata, + type FlatIndexMetadata, +} from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type'; +import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; +import { IndexFieldMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-field-metadata.entity'; +import { IndexMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-metadata.entity'; +import { type WorkspaceSchemaManagerService } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.service'; +import { getWorkspaceSchemaContextForMigration } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/get-workspace-schema-context-for-migration.util'; + +export const computeFlatIndexFieldColumnNames = ({ + flatIndexFieldMetadatas, + flatFieldMetadataMaps, +}: { + flatIndexFieldMetadatas: FlatIndexFieldMetadata[]; + flatFieldMetadataMaps: FlatEntityMaps; +}): string[] => { + return flatIndexFieldMetadatas.flatMap(({ fieldMetadataId }) => { + const flatFieldMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ + flatEntityId: fieldMetadataId, + flatEntityMaps: flatFieldMetadataMaps, + }); + + if (!isDefined(flatFieldMetadata)) { + throw new FlatEntityMapsException( + 'Index field related field metadata not found', + FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, + ); + } + + if (isMorphOrRelationFlatFieldMetadata(flatFieldMetadata)) { + if (!isDefined(flatFieldMetadata.settings?.joinColumnName)) { + throw new FlatEntityMapsException( + 'Join column name is not defined for relation field', + FlatEntityMapsExceptionCode.ENTITY_NOT_FOUND, + ); + } + + return flatFieldMetadata.settings.joinColumnName; + } + + if (isCompositeFieldMetadataType(flatFieldMetadata.type)) { + const compositeType = compositeTypeDefinitions.get( + flatFieldMetadata.type, + ); + + if (!compositeType) { + throw new FlatEntityMapsException( + 'Composite type not found', + FlatEntityMapsExceptionCode.INTERNAL_SERVER_ERROR, + ); + } + + const uniqueCompositeProperties = compositeType.properties.filter( + (property) => property.isIncludedInUniqueConstraint, + ); + + return uniqueCompositeProperties.map((subField) => + computeCompositeColumnName(flatFieldMetadata.name, subField), + ); + } + + return flatFieldMetadata.name; + }); +}; + +export const insertIndexMetadata = async ({ + flatIndexMetadata, + queryRunner, +}: { + flatIndexMetadata: FlatIndexMetadata; + queryRunner: QueryRunner; +}): Promise => { + const indexMetadataRepository = + queryRunner.manager.getRepository(IndexMetadataEntity); + const indexFieldMetadataRepository = + queryRunner.manager.getRepository( + IndexFieldMetadataEntity, + ); + + const { flatIndexFieldMetadatas, ...indexMetadataToInsert } = + flatIndexMetadata; + + const indexInsertResult = await indexMetadataRepository.insert( + indexMetadataToInsert, + ); + + if (indexInsertResult.identifiers.length !== 1) { + throw new WorkspaceQueryRunnerException( + 'Failed to create index metadata', + WorkspaceQueryRunnerExceptionCode.INTERNAL_SERVER_ERROR, + ); + } + const indexMetadataId = indexInsertResult.identifiers[0].id; + + const indexFieldMetadataToInsert = flatIndexFieldMetadatas.map( + (flatIndexFieldMetadata) => ({ + ...flatIndexFieldMetadata, + indexMetadataId, + }), + ); + + await indexFieldMetadataRepository.insert(indexFieldMetadataToInsert); +}; + +export const deleteIndexMetadata = async ({ + entityId, + queryRunner, +}: { + entityId: string; + queryRunner: QueryRunner; +}): Promise => { + const indexMetadataRepository = + queryRunner.manager.getRepository(IndexMetadataEntity); + + await indexMetadataRepository.delete({ + id: entityId, + }); +}; + +export const createIndexInWorkspaceSchema = async ({ + flatIndexMetadata, + flatObjectMetadata, + flatFieldMetadataMaps, + workspaceSchemaManagerService, + queryRunner, + workspaceId, +}: { + flatIndexMetadata: FlatIndexMetadata; + flatObjectMetadata: FlatObjectMetadata; + flatFieldMetadataMaps: FlatEntityMaps; + workspaceSchemaManagerService: WorkspaceSchemaManagerService; + queryRunner: QueryRunner; + workspaceId: string; +}): Promise => { + const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ + workspaceId, + flatObjectMetadata, + }); + + const columns = computeFlatIndexFieldColumnNames({ + flatIndexFieldMetadatas: flatIndexMetadata.flatIndexFieldMetadatas, + flatFieldMetadataMaps, + }); + + await workspaceSchemaManagerService.indexManager.createIndex({ + index: { + columns, + name: flatIndexMetadata.name, + isUnique: flatIndexMetadata.isUnique, + type: flatIndexMetadata.indexType, + where: flatIndexMetadata.indexWhereClause ?? undefined, + }, + queryRunner, + schemaName, + tableName, + }); +}; + +export const dropIndexFromWorkspaceSchema = async ({ + indexName, + workspaceSchemaManagerService, + queryRunner, + schemaName, +}: { + indexName: string; + workspaceSchemaManagerService: WorkspaceSchemaManagerService; + queryRunner: QueryRunner; + schemaName: string; +}): Promise => { + await workspaceSchemaManagerService.indexManager.dropIndex({ + indexName, + queryRunner, + schemaName, + }); +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service.ts index f445c2898c3..fa57b557cd9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service.ts @@ -1,14 +1,9 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { isCompositeFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-composite-flat-field-metadata.util'; import { isEnumFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-enum-flat-field-metadata.util'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; @@ -25,7 +20,8 @@ import { @Injectable() export class CreateObjectActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_object', + 'create', + 'objectMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -33,38 +29,11 @@ export class CreateObjectActionHandlerService extends WorkspaceMigrationRunnerAc super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatObjectMetadataMaps, flatFieldMetadataMaps } = allFlatEntityMaps; - const { flatObjectMetadata, flatFieldMetadatas } = action; - - const updatedFlatFieldMetadatas = flatFieldMetadatas.reduce( - (flatFieldMaps, flatFieldMetadata) => - addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: flatFieldMetadata, - flatEntityMaps: flatFieldMaps, - }), - flatFieldMetadataMaps, - ); - - const updatedFlatObjectMetadataMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: flatObjectMetadata, - flatEntityMaps: flatObjectMetadataMaps, - }); - - return { - flatObjectMetadataMaps: updatedFlatObjectMetadataMaps, - flatFieldMetadataMaps: updatedFlatFieldMetadatas, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { flatObjectMetadata, flatFieldMetadatas } = action; + const { flatEntity: flatObjectMetadata, flatFieldMetadatas } = action; const objectMetadataRepository = queryRunner.manager.getRepository( @@ -101,7 +70,7 @@ export class CreateObjectActionHandlerService extends WorkspaceMigrationRunnerAc context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatObjectMetadata, flatFieldMetadatas } = action; + const { flatEntity: flatObjectMetadata, flatFieldMetadatas } = action; const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ workspaceId, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service.ts index fe5cc61d01e..6cf9ab345fc 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service.ts @@ -1,12 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; import { findManyFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-many-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; import { isCompositeFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-composite-flat-field-metadata.util'; @@ -24,7 +19,8 @@ import { @Injectable() export class DeleteObjectActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_object', + 'delete', + 'objectMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -32,36 +28,18 @@ export class DeleteObjectActionHandlerService extends WorkspaceMigrationRunnerAc super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatObjectMetadataMaps } = allFlatEntityMaps; - const { objectMetadataId } = action; - - const updatedFlatObjectMetadataMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - flatEntityMaps: flatObjectMetadataMaps, - entityToDeleteId: objectMetadataId, - }); - - return { - flatObjectMetadataMaps: updatedFlatObjectMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { objectMetadataId } = action; + const { entityId } = action; const objectMetadataRepository = queryRunner.manager.getRepository( ObjectMetadataEntity, ); - await objectMetadataRepository.delete(objectMetadataId); + await objectMetadataRepository.delete(entityId); } async executeForWorkspaceSchema( @@ -73,11 +51,11 @@ export class DeleteObjectActionHandlerService extends WorkspaceMigrationRunnerAc allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { objectMetadataId } = action; + const { entityId } = action; const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityMaps: flatObjectMetadataMaps, - flatEntityId: objectMetadataId, + flatEntityId: entityId, }); const { schemaName, tableName } = getWorkspaceSchemaContextForMigration({ diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service.ts index 96856a28489..f8e81062dd0 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service.ts @@ -2,15 +2,10 @@ import { Injectable } from '@nestjs/common'; import { isDefined } from 'twenty-shared/utils'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; import { findManyFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-many-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { isCompositeFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-composite-flat-field-metadata.util'; import { isEnumFlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-enum-flat-field-metadata.util'; import { FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; @@ -30,7 +25,8 @@ import { @Injectable() export class UpdateObjectActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_object', + 'update', + 'objectMetadata', ) { constructor( private readonly workspaceSchemaManagerService: WorkspaceSchemaManagerService, @@ -38,35 +34,6 @@ export class UpdateObjectActionHandlerService extends WorkspaceMigrationRunnerAc super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatObjectMetadataMaps } = allFlatEntityMaps; - const { objectMetadataId } = action; - - const existingFlatObjectMetadata = - findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: objectMetadataId, - flatEntityMaps: flatObjectMetadataMaps, - }); - - const updatedFlatObjectMetadata = { - ...existingFlatObjectMetadata, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatObjectMetadataMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedFlatObjectMetadata, - flatEntityMaps: flatObjectMetadataMaps, - }); - - return { - flatObjectMetadataMaps: updatedFlatObjectMetadataMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { @@ -78,7 +45,7 @@ export class UpdateObjectActionHandlerService extends WorkspaceMigrationRunnerAc ); await objectMetadataRepository.update( - action.objectMetadataId, + action.entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } @@ -92,11 +59,11 @@ export class UpdateObjectActionHandlerService extends WorkspaceMigrationRunnerAc allFlatEntityMaps: { flatObjectMetadataMaps, flatFieldMetadataMaps }, workspaceId, } = context; - const { objectMetadataId, updates } = action; + const { entityId, updates } = action; const flatObjectMetadata = findFlatEntityByIdInFlatEntityMapsOrThrow({ flatEntityMaps: flatObjectMetadataMaps, - flatEntityId: objectMetadataId, + flatEntityId: entityId, }); const { schemaName, tableName: currentTableName } = diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/create-page-layout-tab-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/create-page-layout-tab-action-handler.service.ts index 0f60a1aae44..edf90329886 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/create-page-layout-tab-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/create-page-layout-tab-action-handler.service.ts @@ -1,41 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { PageLayoutTabEntity } from 'src/engine/metadata-modules/page-layout-tab/entities/page-layout-tab.entity'; import { CreatePageLayoutTabAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreatePageLayoutTabActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_page_layout_tab', + 'create', + 'pageLayoutTab', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutTabMaps } = allFlatEntityMaps; - const { flatEntity } = action; - - const updatedFlatPageLayoutTabMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity, - flatEntityMaps: flatPageLayoutTabMaps, - }); - - return { - flatPageLayoutTabMaps: updatedFlatPageLayoutTabMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts index 09262822144..3d75a470359 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/delete-page-layout-tab-action-handler.service.ts @@ -1,54 +1,32 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { PageLayoutTabEntity } from 'src/engine/metadata-modules/page-layout-tab/entities/page-layout-tab.entity'; import { DeletePageLayoutTabAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeletePageLayoutTabActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_page_layout_tab', + 'delete', + 'pageLayoutTab', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutTabMaps } = allFlatEntityMaps; - const { flatEntityId } = action; - - const updatedFlatPageLayoutTabMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: flatEntityId, - flatEntityMaps: flatPageLayoutTabMaps, - }); - - return { - flatPageLayoutTabMaps: updatedFlatPageLayoutTabMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId } = action; + const { entityId } = action; const pageLayoutTabRepository = queryRunner.manager.getRepository( PageLayoutTabEntity, ); - await pageLayoutTabRepository.delete({ id: flatEntityId, workspaceId }); + await pageLayoutTabRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/update-page-layout-tab-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/update-page-layout-tab-action-handler.service.ts index 6a01a453b62..e20f62e3e98 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/update-page-layout-tab-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-tab/services/update-page-layout-tab-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { PageLayoutTabEntity } from 'src/engine/metadata-modules/page-layout-tab/entities/page-layout-tab.entity'; import { UpdatePageLayoutTabAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-tab/types/workspace-migration-page-layout-tab-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,43 +9,14 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdatePageLayoutTabActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_page_layout_tab', + 'update', + 'pageLayoutTab', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutTabMaps } = allFlatEntityMaps; - const { flatEntityId, flatEntityUpdates } = action; - - const existingPageLayoutTab = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId, - flatEntityMaps: flatPageLayoutTabMaps, - }); - - const updatedPageLayoutTab = { - ...existingPageLayoutTab, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, - }), - }; - - const updatedFlatPageLayoutTabMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedPageLayoutTab, - flatEntityMaps: flatPageLayoutTabMaps, - }); - - return { - flatPageLayoutTabMaps: updatedFlatPageLayoutTabMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId, flatEntityUpdates } = action; + const { entityId, updates } = action; const pageLayoutTabRepository = queryRunner.manager.getRepository( @@ -59,9 +24,9 @@ export class UpdatePageLayoutTabActionHandlerService extends WorkspaceMigrationR ); await pageLayoutTabRepository.update( - { id: flatEntityId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, + updates, }), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/create-page-layout-widget-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/create-page-layout-widget-action-handler.service.ts index 5b71df59151..291891b70a9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/create-page-layout-widget-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/create-page-layout-widget-action-handler.service.ts @@ -1,47 +1,25 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { PageLayoutWidgetEntity } from 'src/engine/metadata-modules/page-layout-widget/entities/page-layout-widget.entity'; import { CreatePageLayoutWidgetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreatePageLayoutWidgetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_page_layout_widget', + 'create', + 'pageLayoutWidget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutWidgetMaps } = allFlatEntityMaps; - const { pageLayoutWidget } = action; - - const updatedFlatPageLayoutWidgetMaps = - addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: pageLayoutWidget, - flatEntityMaps: flatPageLayoutWidgetMaps, - }); - - return { - flatPageLayoutWidgetMaps: updatedFlatPageLayoutWidgetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { pageLayoutWidget } = action; + const { flatEntity } = action; const pageLayoutWidgetRepository = queryRunner.manager.getRepository( @@ -49,7 +27,7 @@ export class CreatePageLayoutWidgetActionHandlerService extends WorkspaceMigrati ); await pageLayoutWidgetRepository.insert({ - ...pageLayoutWidget, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts index 951e96b9449..1306915323b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/delete-page-layout-widget-action-handler.service.ts @@ -1,54 +1,32 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { PageLayoutWidgetEntity } from 'src/engine/metadata-modules/page-layout-widget/entities/page-layout-widget.entity'; import { DeletePageLayoutWidgetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeletePageLayoutWidgetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_page_layout_widget', + 'delete', + 'pageLayoutWidget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutWidgetMaps } = allFlatEntityMaps; - const { pageLayoutWidgetId } = action; - - const updatedFlatPageLayoutWidgetMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: pageLayoutWidgetId, - flatEntityMaps: flatPageLayoutWidgetMaps, - }); - - return { - flatPageLayoutWidgetMaps: updatedFlatPageLayoutWidgetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { pageLayoutWidgetId } = action; + const { entityId } = action; const pageLayoutWidgetRepository = queryRunner.manager.getRepository( PageLayoutWidgetEntity, ); - await pageLayoutWidgetRepository.delete({ id: pageLayoutWidgetId }); + await pageLayoutWidgetRepository.delete({ id: entityId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/update-page-layout-widget-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/update-page-layout-widget-action-handler.service.ts index 1ac20bacc47..65347a0bcc3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/update-page-layout-widget-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout-widget/services/update-page-layout-widget-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { PageLayoutWidgetEntity } from 'src/engine/metadata-modules/page-layout-widget/entities/page-layout-widget.entity'; import { UpdatePageLayoutWidgetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout-widget/types/workspace-migration-page-layout-widget-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,47 +9,18 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdatePageLayoutWidgetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_page_layout_widget', + 'update', + 'pageLayoutWidget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutWidgetMaps } = allFlatEntityMaps; - const { pageLayoutWidgetId, updates } = action; - - const existingPageLayoutWidget = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: pageLayoutWidgetId, - flatEntityMaps: flatPageLayoutWidgetMaps, - }); - - const updatedPageLayoutWidget = { - ...existingPageLayoutWidget, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates, - }), - }; - - const updatedFlatPageLayoutWidgetMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedPageLayoutWidget, - flatEntityMaps: flatPageLayoutWidgetMaps, - }); - - return { - flatPageLayoutWidgetMaps: updatedFlatPageLayoutWidgetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { pageLayoutWidgetId, updates } = action; + const { entityId, updates } = action; const pageLayoutWidgetRepository = queryRunner.manager.getRepository( @@ -68,7 +33,7 @@ export class UpdatePageLayoutWidgetActionHandlerService extends WorkspaceMigrati }); await pageLayoutWidgetRepository.update( - { id: pageLayoutWidgetId }, + { id: entityId }, partialPageLayoutWidget, ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/create-page-layout-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/create-page-layout-action-handler.service.ts index b3f66a0c5d1..aaf3fb5e600 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/create-page-layout-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/create-page-layout-action-handler.service.ts @@ -1,41 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { PageLayoutEntity } from 'src/engine/metadata-modules/page-layout/entities/page-layout.entity'; import { CreatePageLayoutAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreatePageLayoutActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_page_layout', + 'create', + 'pageLayout', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutMaps } = allFlatEntityMaps; - const { flatEntity } = action; - - const updatedFlatPageLayoutMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity, - flatEntityMaps: flatPageLayoutMaps, - }); - - return { - flatPageLayoutMaps: updatedFlatPageLayoutMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts index 2e869c18f38..7e173bf7715 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/delete-page-layout-action-handler.service.ts @@ -1,53 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { PageLayoutEntity } from 'src/engine/metadata-modules/page-layout/entities/page-layout.entity'; import { DeletePageLayoutAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeletePageLayoutActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_page_layout', + 'delete', + 'pageLayout', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutMaps } = allFlatEntityMaps; - const { flatEntityId } = action; - - const updatedFlatPageLayoutMaps = deleteFlatEntityFromFlatEntityMapsOrThrow( - { - entityToDeleteId: flatEntityId, - flatEntityMaps: flatPageLayoutMaps, - }, - ); - - return { - flatPageLayoutMaps: updatedFlatPageLayoutMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId } = action; + const { entityId } = action; const pageLayoutRepository = queryRunner.manager.getRepository(PageLayoutEntity); - await pageLayoutRepository.delete({ id: flatEntityId, workspaceId }); + await pageLayoutRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/update-page-layout-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/update-page-layout-action-handler.service.ts index 3f20decfb13..ecb16e9cf71 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/update-page-layout-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/page-layout/services/update-page-layout-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { PageLayoutEntity } from 'src/engine/metadata-modules/page-layout/entities/page-layout.entity'; import { UpdatePageLayoutAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/page-layout/types/workspace-migration-page-layout-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,50 +9,22 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdatePageLayoutActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_page_layout', + 'update', + 'pageLayout', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatPageLayoutMaps } = allFlatEntityMaps; - const { flatEntityId, flatEntityUpdates } = action; - - const existingPageLayout = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId, - flatEntityMaps: flatPageLayoutMaps, - }); - - const updatedPageLayout = { - ...existingPageLayout, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, - }), - }; - - const updatedFlatPageLayoutMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedPageLayout, - flatEntityMaps: flatPageLayoutMaps, - }); - - return { - flatPageLayoutMaps: updatedFlatPageLayoutMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId, flatEntityUpdates } = action; + const { entityId, updates } = action; const pageLayoutRepository = queryRunner.manager.getRepository(PageLayoutEntity); await pageLayoutRepository.update( - { id: flatEntityId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, + updates, }), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/create-role-target-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/create-role-target-action-handler.service.ts index 104871dc7c8..e68bf55c10c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/create-role-target-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/create-role-target-action-handler.service.ts @@ -1,42 +1,21 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { RoleTargetEntity } from 'src/engine/metadata-modules/role-target/role-target.entity'; import { CreateRoleTargetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateRoleTargetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_role_target', + 'create', + 'roleTarget', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleTargetMaps } = allFlatEntityMaps; - const { roleTarget } = action; - - const updatedFlatRoleTargetMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: roleTarget, - flatEntityMaps: flatRoleTargetMaps, - }); - - return { - flatRoleTargetMaps: updatedFlatRoleTargetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { roleTarget } = action; + const { flatEntity: roleTarget } = action; const roleTargetRepository = queryRunner.manager.getRepository(RoleTargetEntity); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/delete-role-target-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/delete-role-target-action-handler.service.ts index f699a5a4892..8dc6d54cd12 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/delete-role-target-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/delete-role-target-action-handler.service.ts @@ -1,54 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { RoleTargetEntity } from 'src/engine/metadata-modules/role-target/role-target.entity'; import { DeleteRoleTargetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteRoleTargetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_role_target', + 'delete', + 'roleTarget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleTargetMaps } = allFlatEntityMaps; - const { roleTargetId } = action; - - const updatedFlatRoleTargetMaps = deleteFlatEntityFromFlatEntityMapsOrThrow( - { - entityToDeleteId: roleTargetId, - flatEntityMaps: flatRoleTargetMaps, - }, - ); - - return { - flatRoleTargetMaps: updatedFlatRoleTargetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { roleTargetId } = action; + const { entityId } = action; const roleTargetRepository = queryRunner.manager.getRepository(RoleTargetEntity); await roleTargetRepository.delete({ - id: roleTargetId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/update-role-target-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/update-role-target-action-handler.service.ts index 7cd0f609c27..08c91e705ef 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/update-role-target-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role-target/services/update-role-target-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { RoleTargetEntity } from 'src/engine/metadata-modules/role-target/role-target.entity'; import { UpdateRoleTargetAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role-target/types/workspace-migration-role-target-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,51 +9,25 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRoleTargetActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_role_target', + 'update', + 'roleTarget', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleTargetMaps } = allFlatEntityMaps; - const { roleTargetId } = action; - - const existingRoleTarget = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: roleTargetId, - flatEntityMaps: flatRoleTargetMaps, - }); - - const updatedRoleTarget = { - ...existingRoleTarget, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatRoleTargetMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedRoleTarget, - flatEntityMaps: flatRoleTargetMaps, - }); - - return { - flatRoleTargetMaps: updatedFlatRoleTargetMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { roleTargetId } = action; + const { entityId } = action; const roleTargetRepository = queryRunner.manager.getRepository(RoleTargetEntity); const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await roleTargetRepository.update(roleTargetId, update); + await roleTargetRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/create-role-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/create-role-action-handler.service.ts index a0d32793522..d634fff950a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/create-role-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/create-role-action-handler.service.ts @@ -1,46 +1,25 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { RoleEntity } from 'src/engine/metadata-modules/role/role.entity'; import { CreateRoleAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateRoleActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_role', + 'create', + 'role', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleMaps } = allFlatEntityMaps; - const { role } = action; - - const updatedFlatRoleMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: role, - flatEntityMaps: flatRoleMaps, - }); - - return { - flatRoleMaps: updatedFlatRoleMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { role } = action; + const { flatEntity: role } = action; const roleRepository = queryRunner.manager.getRepository(RoleEntity); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/delete-role-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/delete-role-action-handler.service.ts index ccad0472b26..9a0d682be6c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/delete-role-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/delete-role-action-handler.service.ts @@ -1,51 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { RoleEntity } from 'src/engine/metadata-modules/role/role.entity'; import { DeleteRoleAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteRoleActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_role', + 'delete', + 'role', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleMaps } = allFlatEntityMaps; - const { roleId } = action; - - const updatedFlatRoleMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: roleId, - flatEntityMaps: flatRoleMaps, - }); - - return { - flatRoleMaps: updatedFlatRoleMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { roleId } = action; + const { entityId } = action; const roleRepository = queryRunner.manager.getRepository(RoleEntity); - await roleRepository.delete({ id: roleId, workspaceId }); + await roleRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/update-role-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/update-role-action-handler.service.ts index ed43f0a94a1..1244b15a40e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/update-role-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/role/services/update-role-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { RoleEntity } from 'src/engine/metadata-modules/role/role.entity'; import { UpdateRoleAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/role/types/workspace-migration-role-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,46 +9,20 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRoleActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_role', + 'update', + 'role', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRoleMaps } = allFlatEntityMaps; - const { roleId } = action; - - const existingRole = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: roleId, - flatEntityMaps: flatRoleMaps, - }); - - const updatedRole = { - ...existingRole, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatRoleMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedRole, - flatEntityMaps: flatRoleMaps, - }); - - return { - flatRoleMaps: updatedFlatRoleMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { roleId } = action; + const { entityId } = action; const roleRepository = queryRunner.manager.getRepository(RoleEntity); await roleRepository.update( - { id: roleId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/create-route-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/create-route-trigger-action-handler.service.ts index a7fb70eb3f0..0bf9dddfab2 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/create-route-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/create-route-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class CreateRouteTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_route_trigger', + 'create', + 'routeTrigger', ) { constructor() { super(); @@ -18,7 +19,7 @@ export class CreateRouteTriggerActionHandlerService extends WorkspaceMigrationRu context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { routeTrigger } = action; + const { flatEntity: routeTrigger } = action; const routeTriggerRepository = queryRunner.manager.getRepository(RouteTriggerEntity); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts index 6de8c09a43f..cccdce1a1c3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/delete-route-trigger-action-handler.service.ts @@ -8,7 +8,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class DeleteRouteTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_route_trigger', + 'delete', + 'routeTrigger', ) { constructor() { super(); @@ -18,13 +19,13 @@ export class DeleteRouteTriggerActionHandlerService extends WorkspaceMigrationRu context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { routeTriggerId } = action; + const { entityId } = action; const routeTriggerRepository = queryRunner.manager.getRepository(RouteTriggerEntity); await routeTriggerRepository.delete({ - id: routeTriggerId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/update-route-trigger-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/update-route-trigger-action-handler.service.ts index 50e32d62239..cdffa08c6ac 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/update-route-trigger-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/route-trigger/services/update-route-trigger-action-handler.service.ts @@ -9,7 +9,8 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRouteTriggerActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_route_trigger', + 'update', + 'routeTrigger', ) { constructor() { super(); @@ -19,13 +20,13 @@ export class UpdateRouteTriggerActionHandlerService extends WorkspaceMigrationRu context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { routeTriggerId } = action; + const { entityId } = action; const routeTriggerRepository = queryRunner.manager.getRepository(RouteTriggerEntity); await routeTriggerRepository.update( - routeTriggerId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/create-row-level-permission-predicate-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/create-row-level-permission-predicate-group-action-handler.service.ts index a6dc98db6c1..57f248adb0d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/create-row-level-permission-predicate-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/create-row-level-permission-predicate-group-action-handler.service.ts @@ -2,43 +2,22 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateGroupEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate-group.entity'; import { CreateRowLevelPermissionPredicateGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateRowLevelPermissionPredicateGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_row_level_permission_predicate_group', + 'create', + 'rowLevelPermissionPredicateGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateGroupMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateGroup } = action; - - const updatedFlatMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: rowLevelPermissionPredicateGroup, - flatEntityMaps: flatRowLevelPermissionPredicateGroupMaps, - }); - - return { - flatRowLevelPermissionPredicateGroupMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { rowLevelPermissionPredicateGroup } = action; + const { flatEntity } = action; const repository = queryRunner.manager.getRepository( @@ -46,7 +25,7 @@ export class CreateRowLevelPermissionPredicateGroupActionHandlerService extends ); await repository.insert({ - ...rowLevelPermissionPredicateGroup, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts index 429b0e86f92..5cd9b65536d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/delete-row-level-permission-predicate-group-action-handler.service.ts @@ -2,43 +2,22 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateGroupEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate-group.entity'; import { DeleteRowLevelPermissionPredicateGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteRowLevelPermissionPredicateGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_row_level_permission_predicate_group', + 'delete', + 'rowLevelPermissionPredicateGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateGroupMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateGroupId } = action; - - const updatedFlatMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: rowLevelPermissionPredicateGroupId, - flatEntityMaps: flatRowLevelPermissionPredicateGroupMaps, - }); - - return { - flatRowLevelPermissionPredicateGroupMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { rowLevelPermissionPredicateGroupId } = action; + const { entityId } = action; const repository = queryRunner.manager.getRepository( @@ -46,7 +25,7 @@ export class DeleteRowLevelPermissionPredicateGroupActionHandlerService extends ); await repository.delete({ - id: rowLevelPermissionPredicateGroupId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/update-row-level-permission-predicate-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/update-row-level-permission-predicate-group-action-handler.service.ts index a323c1dff23..1779647085d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/update-row-level-permission-predicate-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate-group/services/update-row-level-permission-predicate-group-action-handler.service.ts @@ -2,14 +2,8 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateGroupEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate-group.entity'; import { UpdateRowLevelPermissionPredicateGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate-group/types/workspace-migration-row-level-permission-predicate-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -17,40 +11,14 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRowLevelPermissionPredicateGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_row_level_permission_predicate_group', + 'update', + 'rowLevelPermissionPredicateGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateGroupMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateGroupId } = action; - - const existingGroup = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: rowLevelPermissionPredicateGroupId, - flatEntityMaps: flatRowLevelPermissionPredicateGroupMaps, - }); - - const updatedGroup = { - ...existingGroup, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedGroup, - flatEntityMaps: flatRowLevelPermissionPredicateGroupMaps, - }); - - return { - flatRowLevelPermissionPredicateGroupMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { rowLevelPermissionPredicateGroupId } = action; + const { entityId } = action; const repository = queryRunner.manager.getRepository( @@ -59,7 +27,7 @@ export class UpdateRowLevelPermissionPredicateGroupActionHandlerService extends const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await repository.update(rowLevelPermissionPredicateGroupId, update); + await repository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/create-row-level-permission-predicate-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/create-row-level-permission-predicate-action-handler.service.ts index 61cfd661501..65cd9200483 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/create-row-level-permission-predicate-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/create-row-level-permission-predicate-action-handler.service.ts @@ -2,43 +2,22 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate.entity'; import { CreateRowLevelPermissionPredicateAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateRowLevelPermissionPredicateActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_row_level_permission_predicate', + 'create', + 'rowLevelPermissionPredicate', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicate } = action; - - const updatedFlatMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: rowLevelPermissionPredicate, - flatEntityMaps: flatRowLevelPermissionPredicateMaps, - }); - - return { - flatRowLevelPermissionPredicateMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { rowLevelPermissionPredicate } = action; + const { flatEntity } = action; const repository = queryRunner.manager.getRepository( @@ -46,7 +25,7 @@ export class CreateRowLevelPermissionPredicateActionHandlerService extends Works ); await repository.insert({ - ...rowLevelPermissionPredicate, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts index 9c6e06895a6..b4d3d44f9ec 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/delete-row-level-permission-predicate-action-handler.service.ts @@ -2,43 +2,22 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate.entity'; import { DeleteRowLevelPermissionPredicateAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteRowLevelPermissionPredicateActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_row_level_permission_predicate', + 'delete', + 'rowLevelPermissionPredicate', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateId } = action; - - const updatedFlatMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: rowLevelPermissionPredicateId, - flatEntityMaps: flatRowLevelPermissionPredicateMaps, - }); - - return { - flatRowLevelPermissionPredicateMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { rowLevelPermissionPredicateId } = action; + const { entityId } = action; const repository = queryRunner.manager.getRepository( @@ -46,7 +25,7 @@ export class DeleteRowLevelPermissionPredicateActionHandlerService extends Works ); await repository.delete({ - id: rowLevelPermissionPredicateId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/update-row-level-permission-predicate-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/update-row-level-permission-predicate-action-handler.service.ts index 243131999f8..b52d214333f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/update-row-level-permission-predicate-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/row-level-permission-predicate/services/update-row-level-permission-predicate-action-handler.service.ts @@ -2,14 +2,8 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { RowLevelPermissionPredicateEntity } from 'src/engine/metadata-modules/row-level-permission-predicate/entities/row-level-permission-predicate.entity'; import { UpdateRowLevelPermissionPredicateAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/row-level-permission-predicate/types/workspace-migration-row-level-permission-predicate-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -17,40 +11,14 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateRowLevelPermissionPredicateActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_row_level_permission_predicate', + 'update', + 'rowLevelPermissionPredicate', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatRowLevelPermissionPredicateMaps } = allFlatEntityMaps; - const { rowLevelPermissionPredicateId } = action; - - const existingPredicate = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: rowLevelPermissionPredicateId, - flatEntityMaps: flatRowLevelPermissionPredicateMaps, - }); - - const updatedPredicate = { - ...existingPredicate, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedPredicate, - flatEntityMaps: flatRowLevelPermissionPredicateMaps, - }); - - return { - flatRowLevelPermissionPredicateMaps: updatedFlatMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { rowLevelPermissionPredicateId } = action; + const { entityId } = action; const repository = queryRunner.manager.getRepository( @@ -59,7 +27,7 @@ export class UpdateRowLevelPermissionPredicateActionHandlerService extends Works const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await repository.update(rowLevelPermissionPredicateId, update); + await repository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/create-serverless-function-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/create-serverless-function-action-handler.service.ts index 99306ba8e8d..c0f01f6d560 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/create-serverless-function-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/create-serverless-function-action-handler.service.ts @@ -15,7 +15,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class CreateServerlessFunctionActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_serverless_function', + 'create', + 'serverlessFunction', ) { constructor(private readonly fileStorageService: FileStorageService) { super(); @@ -25,7 +26,7 @@ export class CreateServerlessFunctionActionHandlerService extends WorkspaceMigra context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { serverlessFunction } = action; + const { flatEntity: serverlessFunction } = action; const serverlessFunctionRepository = queryRunner.manager.getRepository( @@ -66,7 +67,7 @@ export class CreateServerlessFunctionActionHandlerService extends WorkspaceMigra await this.fileStorageService.delete({ folderPath: getServerlessFolder({ - serverlessFunction: action.serverlessFunction, + serverlessFunction: action.flatEntity, }), }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts index 5a6a6ff64b1..11db974b35e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/delete-serverless-function-action-handler.service.ts @@ -11,7 +11,8 @@ import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager @Injectable() export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_serverless_function', + 'delete', + 'serverlessFunction', ) { constructor(private readonly fileStorageService: FileStorageService) { super(); @@ -21,7 +22,7 @@ export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigra context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { serverlessFunctionId } = action; + const { entityId } = action; const serverlessFunctionRepository = queryRunner.manager.getRepository( @@ -29,13 +30,13 @@ export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigra ); await serverlessFunctionRepository.delete({ - id: serverlessFunctionId, + id: entityId, workspaceId, }); const existingServerlessFunction = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: serverlessFunctionId, + flatEntityId: entityId, flatEntityMaps: context.allFlatEntityMaps.flatServerlessFunctionMaps, }); @@ -59,11 +60,11 @@ export class DeleteServerlessFunctionActionHandlerService extends WorkspaceMigra context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action } = context; - const { serverlessFunctionId } = action; + const { entityId } = action; const existingServerlessFunction = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: serverlessFunctionId, + flatEntityId: entityId, flatEntityMaps: context.allFlatEntityMaps.flatServerlessFunctionMaps, }); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/update-serverless-function-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/update-serverless-function-action-handler.service.ts index 378b7b46bcd..e8f39efc600 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/update-serverless-function-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/serverless-function/services/update-serverless-function-action-handler.service.ts @@ -17,7 +17,8 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateServerlessFunctionActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_serverless_function', + 'update', + 'serverlessFunction', ) { constructor( private readonly fileStorageService: FileStorageService, @@ -30,7 +31,7 @@ export class UpdateServerlessFunctionActionHandlerService extends WorkspaceMigra context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { serverlessFunctionId, code } = action; + const { entityId, code } = action; const serverlessFunctionRepository = queryRunner.manager.getRepository( @@ -38,12 +39,12 @@ export class UpdateServerlessFunctionActionHandlerService extends WorkspaceMigra ); await serverlessFunctionRepository.update( - serverlessFunctionId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); const serverlessFunction = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: serverlessFunctionId, + flatEntityId: entityId, flatEntityMaps: context.allFlatEntityMaps.flatServerlessFunctionMaps, }); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/create-skill-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/create-skill-action-handler.service.ts index da0c4ad2633..64f9a19e704 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/create-skill-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/create-skill-action-handler.service.ts @@ -1,41 +1,20 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { SkillEntity } from 'src/engine/metadata-modules/skill/entities/skill.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { CreateSkillAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateSkillActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_skill', + 'create', + 'skill', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatSkillMaps } = allFlatEntityMaps; - const { flatEntity } = action; - - const updatedFlatSkillMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity, - flatEntityMaps: flatSkillMaps, - }); - - return { - flatSkillMaps: updatedFlatSkillMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/delete-skill-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/delete-skill-action-handler.service.ts index 1a9f983d145..deb0baee01c 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/delete-skill-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/delete-skill-action-handler.service.ts @@ -1,51 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { SkillEntity } from 'src/engine/metadata-modules/skill/entities/skill.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { DeleteSkillAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteSkillActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_skill', + 'delete', + 'skill', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatSkillMaps } = allFlatEntityMaps; - const { flatEntityId } = action; - - const updatedFlatSkillMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: flatEntityId, - flatEntityMaps: flatSkillMaps, - }); - - return { - flatSkillMaps: updatedFlatSkillMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId } = action; + const { entityId } = action; const skillRepository = queryRunner.manager.getRepository(SkillEntity); - await skillRepository.delete({ id: flatEntityId, workspaceId }); + await skillRepository.delete({ id: entityId, workspaceId }); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/update-skill-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/update-skill-action-handler.service.ts index 8955116318b..36f1f7391a8 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/update-skill-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/skill/services/update-skill-action-handler.service.ts @@ -1,64 +1,30 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; import { SkillEntity } from 'src/engine/metadata-modules/skill/entities/skill.entity'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { UpdateSkillAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/skill/types/workspace-migration-v2-skill-action.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; @Injectable() export class UpdateSkillActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_skill', + 'update', + 'skill', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatSkillMaps } = allFlatEntityMaps; - const { flatEntityId, flatEntityUpdates } = action; - - const existingSkill = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId, - flatEntityMaps: flatSkillMaps, - }); - - const updatedSkill = { - ...existingSkill, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, - }), - }; - - const updatedFlatSkillMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedSkill, - flatEntityMaps: flatSkillMaps, - }); - - return { - flatSkillMaps: updatedFlatSkillMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { flatEntityId, flatEntityUpdates } = action; + const { entityId, updates } = action; const skillRepository = queryRunner.manager.getRepository(SkillEntity); await skillRepository.update( - { id: flatEntityId, workspaceId }, + { id: entityId, workspaceId }, fromFlatEntityPropertiesUpdatesToPartialFlatEntity({ - updates: flatEntityUpdates, + updates, }), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/create-view-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/create-view-field-action-handler.service.ts index 96475692d6e..7ed0337d244 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/create-view-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/create-view-field-action-handler.service.ts @@ -1,52 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewFieldEntity } from 'src/engine/metadata-modules/view-field/entities/view-field.entity'; import { CreateViewFieldAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view_field', + 'create', + 'viewField', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFieldMaps } = allFlatEntityMaps; - const { viewField } = action; - - const updatedFlatViewFieldMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: viewField, - flatEntityMaps: flatViewFieldMaps, - }); - - return { - flatViewFieldMaps: updatedFlatViewFieldMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewField } = action; + const { flatEntity } = action; const viewFieldRepository = queryRunner.manager.getRepository(ViewFieldEntity); await viewFieldRepository.insert({ - ...viewField, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/delete-view-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/delete-view-field-action-handler.service.ts index a85ee80784f..728a08de469 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/delete-view-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/delete-view-field-action-handler.service.ts @@ -1,52 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { ViewFieldEntity } from 'src/engine/metadata-modules/view-field/entities/view-field.entity'; import { DeleteViewFieldAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view_field', + 'delete', + 'viewField', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFieldMaps } = allFlatEntityMaps; - const { viewFieldId } = action; - - const updatedFlatViewFieldMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: viewFieldId, - flatEntityMaps: flatViewFieldMaps, - }); - - return { - flatViewFieldMaps: updatedFlatViewFieldMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFieldId } = action; + const { entityId } = action; const viewFieldRepository = queryRunner.manager.getRepository(ViewFieldEntity); await viewFieldRepository.delete({ - id: viewFieldId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/update-view-field-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/update-view-field-action-handler.service.ts index 66f240d23cc..5de989bcfea 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/update-view-field-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-field/services/update-view-field-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewFieldEntity } from 'src/engine/metadata-modules/view-field/entities/view-field.entity'; import { UpdateViewFieldAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-field/types/workspace-migration-view-field-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,51 +9,25 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewFieldActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view_field', + 'update', + 'viewField', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFieldMaps } = allFlatEntityMaps; - const { viewFieldId } = action; - - const existingViewField = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewFieldId, - flatEntityMaps: flatViewFieldMaps, - }); - - const updatedViewField = { - ...existingViewField, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewFieldMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedViewField, - flatEntityMaps: flatViewFieldMaps, - }); - - return { - flatViewFieldMaps: updatedFlatViewFieldMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewFieldId } = action; + const { entityId } = action; const viewFieldRepository = queryRunner.manager.getRepository(ViewFieldEntity); const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await viewFieldRepository.update(viewFieldId, update); + await viewFieldRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/create-view-filter-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/create-view-filter-group-action-handler.service.ts index 09a5f1365c6..1d75ada3e0d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/create-view-filter-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/create-view-filter-group-action-handler.service.ts @@ -1,44 +1,21 @@ import { Injectable } from '@nestjs/common'; -import { - type OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewFilterGroupEntity } from 'src/engine/metadata-modules/view-filter-group/entities/view-filter-group.entity'; import { type CreateViewFilterGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewFilterGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view_filter_group', + 'create', + 'viewFilterGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterGroupMaps } = allFlatEntityMaps; - const { viewFilterGroup } = action; - - const updatedFlatViewFilterGroupMaps = addFlatEntityToFlatEntityMapsOrThrow( - { - flatEntity: viewFilterGroup, - flatEntityMaps: flatViewFilterGroupMaps, - }, - ); - - return { - flatViewFilterGroupMaps: updatedFlatViewFilterGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFilterGroup } = action; + const { flatEntity } = action; const viewFilterGroupRepository = queryRunner.manager.getRepository( @@ -46,7 +23,7 @@ export class CreateViewFilterGroupActionHandlerService extends WorkspaceMigratio ); await viewFilterGroupRepository.insert({ - ...viewFilterGroup, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts index 83edd69f748..e7c19704c5b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/delete-view-filter-group-action-handler.service.ts @@ -1,47 +1,25 @@ import { Injectable } from '@nestjs/common'; -import { - type OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { ViewFilterGroupEntity } from 'src/engine/metadata-modules/view-filter-group/entities/view-filter-group.entity'; import { type DeleteViewFilterGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewFilterGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view_filter_group', + 'delete', + 'viewFilterGroup', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterGroupMaps } = allFlatEntityMaps; - const { viewFilterGroupId } = action; - - const updatedFlatViewFilterGroupMaps = - deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: viewFilterGroupId, - flatEntityMaps: flatViewFilterGroupMaps, - }); - - return { - flatViewFilterGroupMaps: updatedFlatViewFilterGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFilterGroupId } = action; + const { entityId } = action; const viewFilterGroupRepository = queryRunner.manager.getRepository( @@ -49,7 +27,7 @@ export class DeleteViewFilterGroupActionHandlerService extends WorkspaceMigratio ); await viewFilterGroupRepository.delete({ - id: viewFilterGroupId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/update-view-filter-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/update-view-filter-group-action-handler.service.ts index e20222b7871..1459b62575e 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/update-view-filter-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter-group/services/update-view-filter-group-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - type OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewFilterGroupEntity } from 'src/engine/metadata-modules/view-filter-group/entities/view-filter-group.entity'; import { type UpdateViewFilterGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter-group/types/workspace-migration-view-filter-group-action-v2.type'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,45 +9,18 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewFilterGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view_filter_group', + 'update', + 'viewFilterGroup', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterGroupMaps } = allFlatEntityMaps; - const { viewFilterGroupId } = action; - - const existingViewFilterGroup = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewFilterGroupId, - flatEntityMaps: flatViewFilterGroupMaps, - }); - - const updatedViewFilterGroup = { - ...existingViewFilterGroup, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewFilterGroupMaps = - replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedViewFilterGroup, - flatEntityMaps: flatViewFilterGroupMaps, - }); - - return { - flatViewFilterGroupMaps: updatedFlatViewFilterGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewFilterGroupId } = action; + const { entityId } = action; const viewFilterGroupRepository = queryRunner.manager.getRepository( @@ -62,7 +29,7 @@ export class UpdateViewFilterGroupActionHandlerService extends WorkspaceMigratio const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await viewFilterGroupRepository.update(viewFilterGroupId, update); + await viewFilterGroupRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/create-view-filter-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/create-view-filter-action-handler.service.ts index d07cb95caad..f6c682c6e6d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/create-view-filter-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/create-view-filter-action-handler.service.ts @@ -1,48 +1,27 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewFilterEntity } from 'src/engine/metadata-modules/view-filter/entities/view-filter.entity'; import { CreateViewFilterAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewFilterActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view_filter', + 'create', + 'viewFilter', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterMaps } = allFlatEntityMaps; - const { viewFilter } = action; - - const updatedFlatViewFilterMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: viewFilter, - flatEntityMaps: flatViewFilterMaps, - }); - - return { - flatViewFilterMaps: updatedFlatViewFilterMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFilter } = action; + const { flatEntity } = action; const viewFilterRepository = queryRunner.manager.getRepository(ViewFilterEntity); await viewFilterRepository.insert({ - ...viewFilter, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts index 5a5204156fa..886ba6906cb 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/delete-view-filter-action-handler.service.ts @@ -1,54 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { ViewFilterEntity } from 'src/engine/metadata-modules/view-filter/entities/view-filter.entity'; import { DeleteViewFilterAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewFilterActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view_filter', + 'delete', + 'viewFilter', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterMaps } = allFlatEntityMaps; - const { viewFilterId } = action; - - const updatedFlatViewFilterMaps = deleteFlatEntityFromFlatEntityMapsOrThrow( - { - entityToDeleteId: viewFilterId, - flatEntityMaps: flatViewFilterMaps, - }, - ); - - return { - flatViewFilterMaps: updatedFlatViewFilterMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewFilterId } = action; + const { entityId } = action; const viewFilterRepository = queryRunner.manager.getRepository(ViewFilterEntity); await viewFilterRepository.delete({ - id: viewFilterId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/update-view-filter-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/update-view-filter-action-handler.service.ts index d35ea0fd3fc..f16eaca2797 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/update-view-filter-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-filter/services/update-view-filter-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewFilterEntity } from 'src/engine/metadata-modules/view-filter/entities/view-filter.entity'; import { UpdateViewFilterAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-filter/types/workspace-migration-view-filter-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,51 +9,25 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewFilterActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view_filter', + 'update', + 'viewFilter', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewFilterMaps } = allFlatEntityMaps; - const { viewFilterId } = action; - - const existingViewFilter = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewFilterId, - flatEntityMaps: flatViewFilterMaps, - }); - - const updatedViewFilter = { - ...existingViewFilter, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewFilterMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedViewFilter, - flatEntityMaps: flatViewFilterMaps, - }); - - return { - flatViewFilterMaps: updatedFlatViewFilterMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewFilterId } = action; + const { entityId } = action; const viewFilterRepository = queryRunner.manager.getRepository(ViewFilterEntity); const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await viewFilterRepository.update(viewFilterId, update); + await viewFilterRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/create-view-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/create-view-group-action-handler.service.ts index 24935c67f8e..47606283c89 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/create-view-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/create-view-group-action-handler.service.ts @@ -1,48 +1,27 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewGroupEntity } from 'src/engine/metadata-modules/view-group/entities/view-group.entity'; import { CreateViewGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view_group', + 'create', + 'viewGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewGroupMaps } = allFlatEntityMaps; - const { viewGroup } = action; - - const updatedFlatViewGroupMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: viewGroup, - flatEntityMaps: flatViewGroupMaps, - }); - - return { - flatViewGroupMaps: updatedFlatViewGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewGroup } = action; + const { flatEntity } = action; const viewGroupRepository = queryRunner.manager.getRepository(ViewGroupEntity); await viewGroupRepository.insert({ - ...viewGroup, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/delete-view-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/delete-view-group-action-handler.service.ts index 62ac20b9cf0..c430e5f826a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/delete-view-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/delete-view-group-action-handler.service.ts @@ -1,48 +1,27 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { ViewGroupEntity } from 'src/engine/metadata-modules/view-group/entities/view-group.entity'; import { DeleteViewGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view_group', + 'delete', + 'viewGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewGroupMaps } = allFlatEntityMaps; - const { viewGroupId } = action; - - const updatedFlatViewGroupMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: viewGroupId, - flatEntityMaps: flatViewGroupMaps, - }); - - return { - flatViewGroupMaps: updatedFlatViewGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewGroupId } = action; + const { entityId } = action; const viewGroupRepository = queryRunner.manager.getRepository(ViewGroupEntity); await viewGroupRepository.delete({ - id: viewGroupId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/update-view-group-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/update-view-group-action-handler.service.ts index ee7963d01dc..4e9c1825994 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/update-view-group-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view-group/services/update-view-group-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewGroupEntity } from 'src/engine/metadata-modules/view-group/entities/view-group.entity'; import { UpdateViewGroupAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view-group/types/workspace-migration-view-group-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,47 +9,21 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewGroupActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view_group', + 'update', + 'viewGroup', ) { - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewGroupMaps } = allFlatEntityMaps; - const { viewGroupId } = action; - - const existingViewGroup = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewGroupId, - flatEntityMaps: flatViewGroupMaps, - }); - - const updatedViewGroup = { - ...existingViewGroup, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewGroupMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedViewGroup, - flatEntityMaps: flatViewGroupMaps, - }); - - return { - flatViewGroupMaps: updatedFlatViewGroupMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewGroupId } = action; + const { entityId } = action; const viewGroupRepository = queryRunner.manager.getRepository(ViewGroupEntity); const update = fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action); - await viewGroupRepository.update(viewGroupId, update); + await viewGroupRepository.update(entityId, update); } async executeForWorkspaceSchema( diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/create-view-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/create-view-action-handler.service.ts index d0b49384486..6e88d27eedf 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/create-view-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/create-view-action-handler.service.ts @@ -1,52 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util'; import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; import { CreateViewAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class CreateViewActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'create_view', + 'create', + 'view', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewMaps } = allFlatEntityMaps; - const { view } = action; - - const updatedFlatViewMaps = addFlatEntityToFlatEntityMapsOrThrow({ - flatEntity: view, - flatEntityMaps: flatViewMaps, - }); - - return { - flatViewMaps: updatedFlatViewMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { view } = action; + const { flatEntity } = action; const viewRepository = queryRunner.manager.getRepository(ViewEntity); await viewRepository.insert({ - ...view, + ...flatEntity, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/delete-view-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/delete-view-action-handler.service.ts index 826202974bd..ba0908e708b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/delete-view-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/delete-view-action-handler.service.ts @@ -1,52 +1,31 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { deleteFlatEntityFromFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-maps-or-throw.util'; import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; import { DeleteViewAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @Injectable() export class DeleteViewActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'delete_view', + 'delete', + 'view', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewMaps } = allFlatEntityMaps; - const { viewId } = action; - - const updatedFlatViewMaps = deleteFlatEntityFromFlatEntityMapsOrThrow({ - entityToDeleteId: viewId, - flatEntityMaps: flatViewMaps, - }); - - return { - flatViewMaps: updatedFlatViewMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner, workspaceId } = context; - const { viewId } = action; + const { entityId } = action; const viewRepository = queryRunner.manager.getRepository(ViewEntity); await viewRepository.delete({ - id: viewId, + id: entityId, workspaceId, }); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/update-view-action-handler.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/update-view-action-handler.service.ts index 2c8c5f7e572..ac45b2615a9 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/update-view-action-handler.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/view/services/update-view-action-handler.service.ts @@ -1,13 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { - OptimisticallyApplyActionOnAllFlatEntityMapsArgs, - WorkspaceMigrationRunnerActionHandler, -} from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; +import { WorkspaceMigrationRunnerActionHandler } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface'; -import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; -import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; -import { replaceFlatEntityInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/replace-flat-entity-in-flat-entity-maps-or-throw.util'; import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; import { UpdateViewAction } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/builders/view/types/workspace-migration-view-action-v2.type'; import { WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; @@ -15,50 +9,24 @@ import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/w @Injectable() export class UpdateViewActionHandlerService extends WorkspaceMigrationRunnerActionHandler( - 'update_view', + 'update', + 'view', ) { constructor() { super(); } - optimisticallyApplyActionOnAllFlatEntityMaps({ - action, - allFlatEntityMaps, - }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Partial { - const { flatViewMaps } = allFlatEntityMaps; - const { viewId } = action; - - const existingView = findFlatEntityByIdInFlatEntityMapsOrThrow({ - flatEntityId: viewId, - flatEntityMaps: flatViewMaps, - }); - - const updatedView = { - ...existingView, - ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), - }; - - const updatedFlatViewMaps = replaceFlatEntityInFlatEntityMapsOrThrow({ - flatEntity: updatedView, - flatEntityMaps: flatViewMaps, - }); - - return { - flatViewMaps: updatedFlatViewMaps, - }; - } - async executeForMetadata( context: WorkspaceMigrationActionRunnerArgs, ): Promise { const { action, queryRunner } = context; - const { viewId } = action; + const { entityId } = action; const viewRepository = queryRunner.manager.getRepository(ViewEntity); await viewRepository.update( - viewId, + entityId, fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module.ts index c76d9378125..2e55ea5c242 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module.ts @@ -18,6 +18,7 @@ import { DeleteFieldActionHandlerService } from 'src/engine/workspace-manager/wo import { UpdateFieldActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/update-field-action-handler.service'; import { CreateIndexActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/create-index-action-handler.service'; import { DeleteIndexActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/delete-index-action-handler.service'; +import { UpdateIndexActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/index/services/update-index-action-handler.service'; import { CreateObjectActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/create-object-action-handler.service'; import { DeleteObjectActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/delete-object-action-handler.service'; import { UpdateObjectActionHandlerService } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/object/services/update-object-action-handler.service'; @@ -76,6 +77,7 @@ import { UpdateViewActionHandlerService } from 'src/engine/workspace-manager/wor DeleteObjectActionHandlerService, CreateIndexActionHandlerService, + UpdateIndexActionHandlerService, DeleteIndexActionHandlerService, CreateViewActionHandlerService, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface.ts index e95752c9546..438e5667808 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/interfaces/workspace-migration-runner-action-handler-service.interface.ts @@ -4,68 +4,89 @@ import { AllMetadataName } from 'twenty-shared/metadata'; import { LoggerService } from 'src/engine/core-modules/logger/logger.service'; import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; +import { AllFlatEntityTypesByMetadataName } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-types-by-metadata-name'; import { MetadataRelatedFlatEntityMapsKeys } from 'src/engine/metadata-modules/flat-entity/types/metadata-related-flat-entity-maps-keys.type'; import { MetadataToFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/types/metadata-to-flat-entity-maps-key'; -import { FromWorkspaceMigrationActionToMetadataName } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; +import { WorkspaceMigrationActionType } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type'; import { - type ExtractAction, - type WorkspaceMigrationActionTypeV2, + buildActionHandlerKey, type WorkspaceMigrationActionV2, } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2'; import { WORKSPACE_MIGRATION_ACTION_HANDLER_METADATA_KEY } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/constants/workspace-migration-action-handler-metadata-key.constant'; import { type WorkspaceMigrationActionRunnerArgs } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/types/workspace-migration-action-runner-args.type'; +import { optimisticallyApplyCreateActionOnAllFlatEntityMaps } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-create-action-on-all-flat-entity-maps.util'; +import { optimisticallyApplyDeleteActionOnAllFlatEntityMaps } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util'; +import { optimisticallyApplyUpdateActionOnAllFlatEntityMaps } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-update-action-on-all-flat-entity-maps.util'; -// TODO deprecated prastoin -export type OptimisticallyApplyActionOnAllFlatEntityMapsArgs< +type OptimisticallyApplyActionOnAllFlatEntityMapsArgs< TActionType extends WorkspaceMigrationActionV2, > = Pick< WorkspaceMigrationActionRunnerArgs, 'allFlatEntityMaps' | 'action' >; -/// export abstract class BaseWorkspaceMigrationRunnerActionHandlerService< - TActionType extends WorkspaceMigrationActionTypeV2, - TMetadataName extends - AllMetadataName = FromWorkspaceMigrationActionToMetadataName, + TActionType extends WorkspaceMigrationActionType, + TMetadataName extends AllMetadataName, + TAction extends + WorkspaceMigrationActionV2 = AllFlatEntityTypesByMetadataName[TMetadataName]['actions'][TActionType], > { public actionType: TActionType; + public metadataName: TMetadataName; @Inject(LoggerService) protected readonly logger: LoggerService; executeForMetadata( - _context: WorkspaceMigrationActionRunnerArgs>, + _context: WorkspaceMigrationActionRunnerArgs, ): Promise { return Promise.resolve(); } executeForWorkspaceSchema( - _context: WorkspaceMigrationActionRunnerArgs>, + _context: WorkspaceMigrationActionRunnerArgs, ): Promise { return Promise.resolve(); } - optimisticallyApplyActionOnAllFlatEntityMaps( - args: OptimisticallyApplyActionOnAllFlatEntityMapsArgs< - ExtractAction - >, - ): Pick< + private optimisticallyApplyActionOnAllFlatEntityMaps({ + action, + allFlatEntityMaps, + }: OptimisticallyApplyActionOnAllFlatEntityMapsArgs): Pick< AllFlatEntityMaps, | MetadataRelatedFlatEntityMapsKeys | MetadataToFlatEntityMapsKey > { - return args.allFlatEntityMaps; + switch (action.type) { + case 'create': { + return optimisticallyApplyCreateActionOnAllFlatEntityMaps({ + action, + allFlatEntityMaps, + }); + } + case 'delete': { + return optimisticallyApplyDeleteActionOnAllFlatEntityMaps({ + action, + allFlatEntityMaps, + }); + } + case 'update': { + return optimisticallyApplyUpdateActionOnAllFlatEntityMaps({ + action, + allFlatEntityMaps, + }); + } + } } rollbackForMetadata( - _context: WorkspaceMigrationActionRunnerArgs>, + _context: WorkspaceMigrationActionRunnerArgs, ): Promise { return Promise.resolve(); } async execute( - context: WorkspaceMigrationActionRunnerArgs>, + context: WorkspaceMigrationActionRunnerArgs, ): Promise< Pick< AllFlatEntityMaps, @@ -96,7 +117,7 @@ export abstract class BaseWorkspaceMigrationRunnerActionHandlerService< } async rollback( - context: WorkspaceMigrationActionRunnerArgs>, + context: WorkspaceMigrationActionRunnerArgs, ): Promise { await this.rollbackForMetadata(context); } @@ -110,28 +131,37 @@ export abstract class BaseWorkspaceMigrationRunnerActionHandlerService< }): Promise { this.logger.time( 'BaseWorkspaceMigrationRunnerActionHandlerService', - `${this.actionType} ${label}`, + `${this.actionType}_${this.metadataName} ${label}`, ); await method(); this.logger.timeEnd( 'BaseWorkspaceMigrationRunnerActionHandlerService', - `${this.actionType} ${label}`, + `${this.actionType}_${this.metadataName} ${label}`, ); } } export function WorkspaceMigrationRunnerActionHandler< - TActionType extends WorkspaceMigrationActionTypeV2, + TActionType extends WorkspaceMigrationActionType, + TMetadataName extends AllMetadataName, >( actionType: TActionType, -): typeof BaseWorkspaceMigrationRunnerActionHandlerService { - abstract class ActionHandlerService extends BaseWorkspaceMigrationRunnerActionHandlerService { + metadataName: TMetadataName, +): typeof BaseWorkspaceMigrationRunnerActionHandlerService< + TActionType, + TMetadataName +> { + abstract class ActionHandlerService extends BaseWorkspaceMigrationRunnerActionHandlerService< + TActionType, + TMetadataName + > { actionType = actionType; + metadataName = metadataName; } SetMetadata( WORKSPACE_MIGRATION_ACTION_HANDLER_METADATA_KEY, - actionType, + buildActionHandlerKey(actionType, metadataName), )(ActionHandlerService); return ActionHandlerService; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/registry/workspace-migration-runner-action-handler-registry.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/registry/workspace-migration-runner-action-handler-registry.service.ts index bb2851e3d8a..09f6575f522 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/registry/workspace-migration-runner-action-handler-registry.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/registry/workspace-migration-runner-action-handler-registry.service.ts @@ -7,7 +7,8 @@ import { BaseWorkspaceMigrationRunnerActionHandlerService } from 'src/engine/wor import { AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; import { - type WorkspaceMigrationActionTypeV2, + buildActionHandlerKey, + type WorkspaceMigrationActionHandlerKey, type WorkspaceMigrationActionV2, } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-builder-v2/types/workspace-migration-action-common-v2'; import { WorkspaceSchemaMigrationRunnerActionHandlersModule } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/workspace-schema-migration-runner-action-handlers.module'; @@ -23,7 +24,7 @@ export class WorkspaceMigrationRunnerActionHandlerRegistryService implements OnModuleInit { private readonly actionHandlers = new Map< - WorkspaceMigrationActionTypeV2, + WorkspaceMigrationActionHandlerKey, InstanceType >(); @@ -43,31 +44,36 @@ export class WorkspaceMigrationRunnerActionHandlerRegistryService if (!instance || !metatype) return; - const actionType = Reflect.getMetadata( - WORKSPACE_MIGRATION_ACTION_HANDLER_METADATA_KEY, - metatype, - ); + const actionHandlerKey: WorkspaceMigrationActionHandlerKey | undefined = + Reflect.getMetadata( + WORKSPACE_MIGRATION_ACTION_HANDLER_METADATA_KEY, + metatype, + ); - if (actionType && instance.execute) { - this.actionHandlers.set(actionType, instance); + if (actionHandlerKey && instance.execute) { + this.actionHandlers.set(actionHandlerKey, instance); } }); } async executeActionHandler({ - actionType, + action, context, rollback, }: { - actionType: WorkspaceMigrationActionTypeV2; + action: T; context: WorkspaceMigrationActionRunnerArgs; rollback?: boolean; }): Promise> { - const handler = this.actionHandlers.get(actionType); + const actionHandlerKey = buildActionHandlerKey( + action.type, + action.metadataName, + ); + const handler = this.actionHandlers.get(actionHandlerKey); if (!handler) { throw new WorkspaceMigrationRunnerException( - `No migration runner action handler found for action: ${actionType}`, + `No migration runner action handler found for action: ${actionHandlerKey}`, WorkspaceMigrationRunnerExceptionCode.INVALID_ACTION_TYPE, ); } diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/services/workspace-migration-runner-v2.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/services/workspace-migration-runner-v2.service.ts index 4a598139410..4fbfa31c6e3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/services/workspace-migration-runner-v2.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/services/workspace-migration-runner-v2.service.ts @@ -41,19 +41,10 @@ export class WorkspaceMigrationRunnerV2Service { const asyncOperations: Promise[] = []; const shouldIncrementMetadataGraphqlSchemaVersion = actions.some( (action) => { - switch (action.type) { - case 'delete_field': - case 'create_field': - case 'update_field': - case 'delete_object': - case 'create_object': - case 'update_object': { - return true; - } - default: { - return false; - } - } + return ( + action.metadataName === 'objectMetadata' || + action.metadataName === 'fieldMetadata' + ); }, ); @@ -65,28 +56,15 @@ export class WorkspaceMigrationRunnerV2Service { ); } + const viewRelatedMetadataNames = [ + 'view', + 'viewFilter', + 'viewGroup', + 'viewField', + 'viewFilterGroup', + ]; const shouldInvalidFindCoreViewsGraphqlCacheOperation = actions.some( - (action) => { - switch (action.type) { - case 'delete_view': - case 'create_view': - case 'update_view': - case 'delete_view_filter': - case 'create_view_filter': - case 'update_view_filter': - case 'delete_view_group': - case 'create_view_group': - case 'update_view_group': - case 'delete_view_field': - case 'create_view_field': - case 'update_view_field': { - return true; - } - default: { - return false; - } - } - }, + (action) => viewRelatedMetadataNames.includes(action.metadataName), ); if ( @@ -102,19 +80,9 @@ export class WorkspaceMigrationRunnerV2Service { } const shouldInvalidateRoleMapCache = actions.some((action) => { - switch (action.type) { - case 'create_role': - case 'delete_role': - case 'update_role': - case 'create_role_target': - case 'delete_role_target': - case 'update_role_target': { - return true; - } - default: { - return false; - } - } + return ( + action.metadataName === 'role' || action.metadataName === 'roleTarget' + ); }); if ( @@ -167,7 +135,7 @@ export class WorkspaceMigrationRunnerV2Service { const partialOptimisticCache = await this.workspaceMigrationRunnerActionHandlerRegistry.executeActionHandler( { - actionType: action.type, + action, context: { action, allFlatEntityMaps, @@ -257,7 +225,7 @@ export class WorkspaceMigrationRunnerV2Service { for (const invertedAction of invertedActions) { await this.workspaceMigrationRunnerActionHandlerRegistry.executeActionHandler( { - actionType: invertedAction.type, + action: invertedAction, context: { action: invertedAction, allFlatEntityMaps: allFlatEntityMaps, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-create-action-on-all-flat-entity-maps.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-create-action-on-all-flat-entity-maps.util.ts new file mode 100644 index 00000000000..716c82e862a --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-create-action-on-all-flat-entity-maps.util.ts @@ -0,0 +1,84 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; +import { assertUnreachable } from 'twenty-shared/utils'; + +import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; +import { type AllFlatEntityTypesByMetadataName } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-types-by-metadata-name'; +import { addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-and-related-entity-maps-through-mutation-or-throw.util'; + +type CreateAction = + AllFlatEntityTypesByMetadataName[TMetadataName]['actions']['create']; + +export type OptimisticallyApplyCreateActionOnAllFlatEntityMapsArgs< + TMetadataName extends AllMetadataName, +> = { + action: CreateAction; + allFlatEntityMaps: AllFlatEntityMaps; +}; + +export const optimisticallyApplyCreateActionOnAllFlatEntityMaps = < + TMetadataName extends AllMetadataName, +>({ + action, + allFlatEntityMaps, +}: OptimisticallyApplyCreateActionOnAllFlatEntityMapsArgs): AllFlatEntityMaps => { + switch (action.metadataName) { + case 'fieldMetadata': { + action.flatFieldMetadatas.forEach((flatEntity) => + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }), + ); + + return allFlatEntityMaps; + } + case 'objectMetadata': { + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: action.flatEntity, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + action.flatFieldMetadatas.forEach((flatField) => + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: flatField, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: 'fieldMetadata', + }), + ); + + return allFlatEntityMaps; + } + case 'view': + case 'viewField': + case 'viewGroup': + case 'rowLevelPermissionPredicate': + case 'rowLevelPermissionPredicateGroup': + case 'viewFilterGroup': + case 'index': + case 'serverlessFunction': + case 'cronTrigger': + case 'databaseEventTrigger': + case 'routeTrigger': + case 'viewFilter': + case 'role': + case 'roleTarget': + case 'agent': + case 'skill': + case 'pageLayout': + case 'pageLayoutWidget': + case 'pageLayoutTab': { + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: action.flatEntity, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + return allFlatEntityMaps; + } + default: { + assertUnreachable(action); + } + } +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts new file mode 100644 index 00000000000..bde51d585e8 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-delete-action-on-all-flat-entity-maps.util.ts @@ -0,0 +1,69 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; +import { assertUnreachable } from 'twenty-shared/utils'; + +import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; +import { type AllFlatEntityTypesByMetadataName } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-types-by-metadata-name'; +import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; +import { deleteFlatEntityFromFlatEntityAndRelatedEntityMapsThroughMutationOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-and-related-entity-maps-through-mutation-or-throw.util'; +import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { getMetadataFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-flat-entity-maps-key.util'; + +type DeleteAction = + AllFlatEntityTypesByMetadataName[TMetadataName]['actions']['delete']; + +export type OptimisticallyApplyDeleteActionOnAllFlatEntityMapsArgs< + TMetadataName extends AllMetadataName, +> = { + action: DeleteAction; + allFlatEntityMaps: AllFlatEntityMaps; +}; + +export const optimisticallyApplyDeleteActionOnAllFlatEntityMaps = < + TMetadataName extends AllMetadataName, +>({ + action, + allFlatEntityMaps, +}: OptimisticallyApplyDeleteActionOnAllFlatEntityMapsArgs): AllFlatEntityMaps => { + switch (action.metadataName) { + case 'fieldMetadata': + case 'objectMetadata': + case 'view': + case 'viewField': + case 'viewGroup': + case 'rowLevelPermissionPredicate': + case 'rowLevelPermissionPredicateGroup': + case 'viewFilterGroup': + case 'index': + case 'serverlessFunction': + case 'cronTrigger': + case 'databaseEventTrigger': + case 'routeTrigger': + case 'viewFilter': + case 'role': + case 'roleTarget': + case 'agent': + case 'skill': + case 'pageLayout': + case 'pageLayoutWidget': + case 'pageLayoutTab': { + const flatEntityToDelete = findFlatEntityByIdInFlatEntityMapsOrThrow< + MetadataFlatEntity + >({ + flatEntityId: action.entityId, + flatEntityMaps: + allFlatEntityMaps[getMetadataFlatEntityMapsKey(action.metadataName)], + }); + + deleteFlatEntityFromFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: flatEntityToDelete, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + return allFlatEntityMaps; + } + default: { + assertUnreachable(action); + } + } +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-update-action-on-all-flat-entity-maps.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-update-action-on-all-flat-entity-maps.util.ts new file mode 100644 index 00000000000..55883a4d585 --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/optimistically-apply-update-action-on-all-flat-entity-maps.util.ts @@ -0,0 +1,97 @@ +import { type AllMetadataName } from 'twenty-shared/metadata'; +import { assertUnreachable } from 'twenty-shared/utils'; + +import { type AllFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-maps.type'; +import { type AllFlatEntityTypesByMetadataName } from 'src/engine/metadata-modules/flat-entity/types/all-flat-entity-types-by-metadata-name'; +import { type MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type'; +import { addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-and-related-entity-maps-through-mutation-or-throw.util'; +import { deleteFlatEntityFromFlatEntityAndRelatedEntityMapsThroughMutationOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/delete-flat-entity-from-flat-entity-and-related-entity-maps-through-mutation-or-throw.util'; +import { findFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; +import { getMetadataFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-flat-entity-maps-key.util'; +import { replaceFlatEntityInFlatEntityMapsThroughMutationOrThrow } from 'src/engine/workspace-manager/workspace-migration-v2/utils/replace-flat-entity-in-flat-entity-maps-through-mutation-or-throw.util'; +import { fromFlatEntityPropertiesUpdatesToPartialFlatEntity } from 'src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/utils/from-flat-entity-properties-updates-to-partial-flat-entity'; + +type UpdateAction = + AllFlatEntityTypesByMetadataName[TMetadataName]['actions']['update']; + +export type OptimisticallyApplyUpdateActionOnAllFlatEntityMapsArgs< + TMetadataName extends AllMetadataName, +> = { + action: UpdateAction; + allFlatEntityMaps: AllFlatEntityMaps; +}; + +export const optimisticallyApplyUpdateActionOnAllFlatEntityMaps = < + TMetadataName extends AllMetadataName, +>({ + action, + allFlatEntityMaps, +}: OptimisticallyApplyUpdateActionOnAllFlatEntityMapsArgs): AllFlatEntityMaps => { + switch (action.metadataName) { + case 'index': { + const flatIndex = findFlatEntityByIdInFlatEntityMapsOrThrow({ + flatEntityId: action.entityId, + flatEntityMaps: allFlatEntityMaps['flatIndexMaps'], + }); + + deleteFlatEntityFromFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: flatIndex, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + addFlatEntityToFlatEntityAndRelatedEntityMapsThroughMutationOrThrow({ + flatEntity: action.updatedFlatEntity, + flatEntityAndRelatedMapsToMutate: allFlatEntityMaps, + metadataName: action.metadataName, + }); + + return allFlatEntityMaps; + } + case 'fieldMetadata': + case 'objectMetadata': + case 'view': + case 'viewField': + case 'viewGroup': + case 'rowLevelPermissionPredicate': + case 'rowLevelPermissionPredicateGroup': + case 'viewFilterGroup': + case 'serverlessFunction': + case 'cronTrigger': + case 'databaseEventTrigger': + case 'routeTrigger': + case 'viewFilter': + case 'role': + case 'roleTarget': + case 'agent': + case 'skill': + case 'pageLayout': + case 'pageLayoutWidget': + case 'pageLayoutTab': { + const flatEntityMapsKey = getMetadataFlatEntityMapsKey( + action.metadataName, + ); + const fromFlatEntity = findFlatEntityByIdInFlatEntityMapsOrThrow< + MetadataFlatEntity + >({ + flatEntityId: action.entityId, + flatEntityMaps: allFlatEntityMaps[flatEntityMapsKey], + }); + + const toFlatEntity = { + ...fromFlatEntity, + ...fromFlatEntityPropertiesUpdatesToPartialFlatEntity(action), + }; + + replaceFlatEntityInFlatEntityMapsThroughMutationOrThrow({ + flatEntity: toFlatEntity, + flatEntityMapsToMutate: allFlatEntityMaps[flatEntityMapsKey], + }); + + return allFlatEntityMaps; + } + default: { + assertUnreachable(action); + } + } +}; diff --git a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-many-view-fields-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-many-view-fields-v2.integration-spec.ts.snap index 7684b47f835..5b5ef350405 100644 --- a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-many-view-fields-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-many-view-fields-v2.integration-spec.ts.snap @@ -5,23 +5,6 @@ exports[`View Field Resolver - Failing Create Many Operations - v2 should accumu "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -34,10 +17,12 @@ exports[`View Field Resolver - Failing Create Many Operations - v2 should accumu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -50,10 +35,12 @@ exports[`View Field Resolver - Failing Create Many Operations - v2 should accumu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -71,42 +58,21 @@ exports[`View Field Resolver - Failing Create Many Operations - v2 should accumu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 3 viewFields", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 3, + "viewField": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-view-field-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-view-field-v2.integration-spec.ts.snap index 6aa3a1e999b..dd3652e23d4 100644 --- a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-view-field-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/failing-create-view-field-v2.integration-spec.ts.snap @@ -5,23 +5,6 @@ exports[`View Field Resolver - Failing Create Operation - v2 Should fail to crea "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -34,42 +17,21 @@ exports[`View Field Resolver - Failing Create Operation - v2 Should fail to crea "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", @@ -81,23 +43,6 @@ exports[`View Field Resolver - Failing Create Operation - v2 should fail to crea "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -110,42 +55,21 @@ exports[`View Field Resolver - Failing Create Operation - v2 should fail to crea "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", @@ -157,23 +81,6 @@ exports[`View Field Resolver - Failing Create Operation - v2 should fail to crea "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -186,42 +93,21 @@ exports[`View Field Resolver - Failing Create Operation - v2 should fail to crea "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/object-identifier-update-side-effect-on-view-field.integration-spec.ts.snap b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/object-identifier-update-side-effect-on-view-field.integration-spec.ts.snap index 6a73f170ea0..cd50bc62340 100644 --- a/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/object-identifier-update-side-effect-on-view-field.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/graphql/suites/view/view-field/__snapshots__/object-identifier-update-side-effect-on-view-field.integration-spec.ts.snap @@ -5,23 +5,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -34,42 +17,21 @@ exports[`View Field Resolver - Successful object metadata identifier update side "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view fields", "name": "GraphQLError", @@ -81,23 +43,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -110,42 +55,21 @@ exports[`View Field Resolver - Successful object metadata identifier update side "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "update_view_field", + "type": "update", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while deleting view field", "name": "GraphQLError", @@ -157,23 +81,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -185,41 +92,20 @@ exports[`View Field Resolver - Successful object metadata identifier update side ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "delete_view_field", + "type": "delete", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while deleting view field", "name": "GraphQLError", @@ -231,23 +117,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -260,42 +129,21 @@ exports[`View Field Resolver - Successful object metadata identifier update side "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "update_view_field", + "type": "update", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view field", "name": "GraphQLError", @@ -307,23 +155,6 @@ exports[`View Field Resolver - Successful object metadata identifier update side "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -336,42 +167,21 @@ exports[`View Field Resolver - Successful object metadata identifier update side "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "update_view_field", + "type": "update", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-creation.integration-spec.ts.snap index def0c5aed9e..463eeef921d 100644 --- a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-creation.integration-spec.ts.snap @@ -17,58 +17,20 @@ exports[`Agent creation should fail when computed name already exists 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "existingTestAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -92,58 +54,20 @@ exports[`Agent creation should fail when label is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -181,58 +105,20 @@ exports[`Agent creation should fail when modelId is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "emptyModelidAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -270,58 +156,20 @@ exports[`Agent creation should fail when prompt is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "emptyPromptAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -359,58 +207,20 @@ exports[`Agent creation should fail when responseFormat has invalid type 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "invalidResponseFormatAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -434,58 +244,20 @@ exports[`Agent creation should fail when responseFormat type is json but schema "flatEntityMinimalInformation": { "id": Any, "name": "jsonWithoutSchemaAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", @@ -509,58 +281,20 @@ exports[`Agent creation should fail when responseFormat type is text but schema "flatEntityMinimalInformation": { "id": Any, "name": "textWithSchemaAgent", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "create_agent", + "type": "create", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating agent", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-deletion.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-deletion.integration-spec.ts.snap index 85463d0cb0c..3e535a6c19f 100644 --- a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-deletion.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-deletion.integration-spec.ts.snap @@ -17,58 +17,20 @@ exports[`Agent deletion should fail should fail when attempting to delete a stan "flatEntityMinimalInformation": { "id": Any, "name": "helper", + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "delete_agent", + "type": "delete", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while deleting agent", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-update.integration-spec.ts.snap index 4d287fcfc6c..b411f7e4a5a 100644 --- a/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/agent/__snapshots__/failing-agent-update.integration-spec.ts.snap @@ -16,58 +16,20 @@ exports[`Agent update should fail should fail when attempting to update a standa ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -112,58 +74,20 @@ exports[`Agent update should fail when settings null required properties 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -186,58 +110,20 @@ exports[`Agent update should fail when updating label to one that already exists ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -260,58 +146,20 @@ exports[`Agent update should fail when updating responseFormat type to json with ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -334,58 +182,20 @@ exports[`Agent update should fail when updating responseFormat type to text with ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -408,58 +218,20 @@ exports[`Agent update should fail when updating responseFormat with invalid type ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -482,58 +254,20 @@ exports[`Agent update should fail when updating with empty label 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -556,58 +290,20 @@ exports[`Agent update should fail when updating with empty modelId 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", @@ -630,58 +326,20 @@ exports[`Agent update should fail when updating with empty prompt 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "agent", "status": "fail", - "type": "update_agent", + "type": "update", }, ], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 agent", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "agent": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating agent", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/create-one-field-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/create-one-field-metadata.integration-spec.ts.snap index d81ff9f1915..8ffb2e8bd56 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/create-one-field-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/create-one-field-metadata.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`createOne FieldMetadataService name/label sync should return an error w "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -22,55 +19,20 @@ exports[`createOne FieldMetadataService name/label sync should return an error w "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/failing-create-one-field-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/failing-create-one-field-metadata.integration-spec.ts.snap index b912799a96d..88ba36d69d7 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/failing-create-one-field-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/failing-create-one-field-metadata.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`Failing create field metadata tests suite should fail to create NUMERIC "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -23,55 +20,20 @@ exports[`Failing create field metadata tests suite should fail to create NUMERIC "id": Any, "name": "numericField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -85,9 +47,6 @@ exports[`Failing create field metadata tests suite should fail to create POSITIO "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -102,55 +61,20 @@ exports[`Failing create field metadata tests suite should fail to create POSITIO "id": Any, "name": "positionField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -164,12 +88,7 @@ exports[`Failing create field metadata tests suite should fail to create TS_VECT "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -177,52 +96,20 @@ exports[`Failing create field metadata tests suite should fail to create TS_VECT "message": "TS Vector is not supported for field creation", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/update-one-field-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/update-one-field-metadata.integration-spec.ts.snap index 15b6468fc62..820792e95de 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/update-one-field-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/__snapshots__/update-one-field-metadata.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`updateOne failing update should not update a field name if it is not sy "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -22,55 +19,20 @@ exports[`updateOne failing update should not update a field name if it is not sy "id": Any, "name": "newName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -84,9 +46,6 @@ exports[`updateOne failing update should throw if the field name is not availabl "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -106,55 +65,20 @@ exports[`updateOne failing update should throw if the field name is not availabl "id": Any, "name": "otherTestName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-create-one-field-metadata-enum-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-create-one-field-metadata-enum-v2.integration-spec.ts.snap index cbf677db1d8..b279e87446f 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-create-one-field-metadata-enum-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-create-one-field-metadata-enum-v2.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -23,55 +20,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -85,9 +47,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -102,55 +61,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -164,9 +88,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -181,55 +102,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -243,9 +129,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -275,55 +158,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -337,9 +185,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -369,55 +214,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -431,9 +241,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -463,55 +270,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -525,9 +297,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -557,55 +326,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -619,9 +353,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -636,55 +367,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -698,9 +394,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -715,55 +408,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -777,9 +435,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -800,55 +455,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -862,9 +482,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -879,55 +496,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -941,9 +523,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -958,55 +537,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1020,9 +564,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1037,55 +578,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1099,9 +605,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1134,55 +637,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1196,9 +664,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1213,55 +678,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1275,9 +705,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1292,55 +719,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1354,9 +746,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1371,55 +760,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1433,9 +787,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1450,55 +801,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1512,9 +828,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1529,55 +842,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1591,9 +869,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1608,55 +883,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1670,9 +910,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1687,55 +924,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1749,9 +951,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1771,55 +970,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1833,9 +997,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1849,55 +1010,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1911,9 +1037,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1928,55 +1051,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1990,9 +1078,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2006,55 +1091,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2068,9 +1118,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2091,55 +1138,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2153,9 +1165,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2170,55 +1179,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2232,9 +1206,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2249,55 +1220,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2311,9 +1247,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2328,55 +1261,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2390,9 +1288,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2413,55 +1308,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2475,9 +1335,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2492,55 +1349,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2554,9 +1376,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2571,55 +1390,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2633,9 +1417,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2656,55 +1437,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2718,9 +1464,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2734,55 +1477,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2796,9 +1504,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2812,55 +1517,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2874,9 +1544,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2891,55 +1558,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2953,9 +1585,6 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2970,55 +1599,20 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3032,9 +1626,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3055,55 +1646,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3117,9 +1673,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3134,55 +1687,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3196,9 +1714,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3213,55 +1728,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3275,9 +1755,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3307,55 +1784,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3369,9 +1811,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3401,55 +1840,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3463,9 +1867,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3495,55 +1896,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3557,9 +1923,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3589,55 +1952,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3651,9 +1979,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3668,55 +1993,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3730,9 +2020,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3753,55 +2040,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3815,9 +2067,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3832,55 +2081,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3894,9 +2108,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3911,55 +2122,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -3973,9 +2149,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3990,55 +2163,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4052,9 +2190,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4069,55 +2204,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4131,9 +2231,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4148,55 +2245,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4210,9 +2272,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4227,55 +2286,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4289,9 +2313,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4306,55 +2327,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4368,9 +2354,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4385,55 +2368,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4447,9 +2395,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4464,55 +2409,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4526,9 +2436,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4548,55 +2455,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4610,9 +2482,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4626,55 +2495,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4688,9 +2522,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4705,55 +2536,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4767,9 +2563,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4783,55 +2576,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4845,9 +2603,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4868,55 +2623,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -4930,9 +2650,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4947,55 +2664,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5009,9 +2691,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5026,55 +2705,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5088,9 +2732,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5105,55 +2746,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5167,9 +2773,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5190,55 +2793,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5252,9 +2820,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5269,55 +2834,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5331,9 +2861,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5348,55 +2875,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5410,9 +2902,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5433,55 +2922,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5495,9 +2949,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5511,55 +2962,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5573,9 +2989,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5589,55 +3002,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -5651,9 +3029,6 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5668,55 +3043,20 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-update-one-enum-field-metadata-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-update-one-enum-field-metadata-v2.integration-spec.ts.snap index ddea75e6f15..92f4bd7a968 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-update-one-enum-field-metadata-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/enum/__snapshots__/failing-update-one-enum-field-metadata-v2.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -23,55 +20,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -85,9 +47,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -102,55 +61,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -164,9 +88,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -181,55 +102,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -243,9 +129,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -275,55 +158,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -337,9 +185,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -369,55 +214,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -431,9 +241,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -463,55 +270,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -525,9 +297,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -557,55 +326,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -619,9 +353,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -636,55 +367,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -698,9 +394,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -715,55 +408,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -777,9 +435,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -800,55 +455,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -862,9 +482,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -879,55 +496,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -941,9 +523,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -958,55 +537,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1020,9 +564,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1037,55 +578,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1099,9 +605,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1134,55 +637,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1196,9 +664,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1213,55 +678,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1275,9 +705,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1292,55 +719,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1354,9 +746,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1371,55 +760,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1433,9 +787,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1450,55 +801,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1512,9 +828,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1529,55 +842,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1591,9 +869,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1608,55 +883,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1670,9 +910,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1687,55 +924,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1749,9 +951,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1771,55 +970,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1833,9 +997,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1849,55 +1010,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1911,9 +1037,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1927,55 +1050,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -1989,9 +1077,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2012,55 +1097,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2074,9 +1124,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2091,55 +1138,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2153,9 +1165,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2170,55 +1179,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2232,9 +1206,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2249,55 +1220,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2311,9 +1247,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2334,55 +1267,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2396,9 +1294,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2413,55 +1308,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2475,9 +1335,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2492,55 +1349,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2554,9 +1376,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2577,55 +1396,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2639,9 +1423,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2655,55 +1436,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2717,9 +1463,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2733,55 +1476,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2795,9 +1503,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2812,55 +1517,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2874,9 +1544,6 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2891,55 +1558,20 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -2953,9 +1585,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2976,55 +1605,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3038,9 +1632,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3055,55 +1646,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3117,9 +1673,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3134,55 +1687,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3196,9 +1714,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3228,55 +1743,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3290,9 +1770,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3322,55 +1799,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3384,9 +1826,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3416,55 +1855,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3478,9 +1882,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3510,55 +1911,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3572,9 +1938,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3589,55 +1952,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3651,9 +1979,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3674,55 +1999,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3736,9 +2026,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3753,55 +2040,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3815,9 +2067,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3832,55 +2081,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3894,9 +2108,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3911,55 +2122,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -3973,9 +2149,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3990,55 +2163,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4052,9 +2190,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4069,55 +2204,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4131,9 +2231,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4148,55 +2245,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4210,9 +2272,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4227,55 +2286,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4289,9 +2313,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4306,55 +2327,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4368,9 +2354,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4385,55 +2368,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4447,9 +2395,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4469,55 +2414,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4531,9 +2441,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4547,55 +2454,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4609,9 +2481,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4625,55 +2494,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4687,9 +2521,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4710,55 +2541,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4772,9 +2568,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4789,55 +2582,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4851,9 +2609,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4868,55 +2623,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -4930,9 +2650,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4947,55 +2664,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5009,9 +2691,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5032,55 +2711,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5094,9 +2738,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5111,55 +2752,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5173,9 +2779,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5190,55 +2793,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5252,9 +2820,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5275,55 +2840,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5337,9 +2867,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5353,55 +2880,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5415,9 +2907,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5431,55 +2920,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -5493,9 +2947,6 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5510,55 +2961,20 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail "id": Any, "name": "testField", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-add-one-target-to-metadata-morph-relation-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-add-one-target-to-metadata-morph-relation-v2.integration-spec.ts.snap index 911d192b5f4..ed400fdd201 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-add-one-target-to-metadata-morph-relation-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-add-one-target-to-metadata-morph-relation-v2.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -28,9 +25,11 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "id": Any, "name": "fieldNamePersonForMorphRelationSecond", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -44,9 +43,11 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "id": Any, "name": "toto", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -66,54 +67,21 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "flatEntityMinimalInformation": { "id": Any, "name": "IDX_4ff93dd3375abd83d29ed3d01b4", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", @@ -125,9 +93,6 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -141,9 +106,11 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "id": Any, "name": "fieldNameCompanyForMorphRelationSecond", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -157,9 +124,11 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "id": Any, "name": "toto", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -174,54 +143,21 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe "flatEntityMinimalInformation": { "id": Any, "name": "IDX_59563a0476bb3b8760e33ae6d5b", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-create-one-field-metadata-morph-relation-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-create-one-field-metadata-morph-relation-v2.integration-spec.ts.snap index 3d92aa7d571..b8fed57fd42 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-create-one-field-metadata-morph-relation-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/morph-relation/__snapshots__/failing-create-one-field-metadata-morph-relation-v2.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -22,9 +19,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "id": Any, "name": "toto", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -39,9 +38,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "id": Any, "name": "tata", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -56,9 +57,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "flatEntityMinimalInformation": { "id": Any, "name": "IDX_4a59b92546a3dbf54abee51283a", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, { "errors": [ @@ -71,54 +74,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "flatEntityMinimalInformation": { "id": Any, "name": "IDX_247f630f4f88242063a98b01371", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 2 indexs", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 2, + "totalErrors": 4, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -130,9 +100,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -147,55 +114,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re "id": Any, "name": "fieldNamePersonForMorphRelationSecondId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -207,12 +139,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -221,52 +148,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Morph relation creation payloads must only contain relation to other object metadata", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -278,12 +173,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -292,52 +182,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Morph relation creation payloads must only contain relation to the same object metadata", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -349,9 +207,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -372,9 +227,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -389,54 +246,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "flatEntityMinimalInformation": { "id": Any, "name": "IDX_c1add8eb2b51d67721916a3e5a9", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -448,9 +272,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -465,9 +286,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -482,54 +305,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "flatEntityMinimalInformation": { "id": Any, "name": "IDX_c84138bdf8bc3889ef56273281e", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -541,9 +331,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -558,9 +345,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -575,54 +364,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "flatEntityMinimalInformation": { "id": Any, "name": "IDX_e07d8240883043fcb1ad1ba0324", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -634,9 +390,6 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -657,9 +410,11 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -674,54 +429,21 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "flatEntityMinimalInformation": { "id": Any, "name": "IDX_c1add8eb2b51d67721916a3e5a9", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -733,12 +455,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -755,52 +472,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou ], }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -812,12 +497,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -834,52 +514,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou ], }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -891,12 +539,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -912,52 +555,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou ], }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -969,12 +580,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -983,52 +589,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "At least one relation is require", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1040,12 +614,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1054,52 +623,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Morph relation creation payloads must have the same relation type", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1111,12 +648,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1125,52 +657,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Morph relation creation payloads must have the same relation type", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1182,12 +682,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1199,52 +694,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou ], }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1256,12 +719,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1271,52 +729,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "value": null, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1328,12 +754,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1342,52 +763,20 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou "userFriendlyMessage": "Relation creation payload is required", }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-creation.integration-spec.ts.snap index 1675b6af316..3d1b8f8ad5e 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-creation.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -22,55 +19,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "fieldNameBisId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -82,9 +44,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -99,55 +58,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -159,9 +83,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -182,55 +103,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -242,9 +128,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -259,55 +142,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -319,9 +167,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -342,55 +187,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -402,12 +212,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -422,52 +227,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -479,12 +252,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -499,52 +267,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -556,12 +292,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -576,52 +307,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -633,12 +332,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -652,52 +346,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -709,9 +371,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -726,9 +385,11 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "id": Any, "name": "fieldNameBisId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -742,9 +403,11 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "id": Any, "name": "defaulttargetfieldlabel", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -759,54 +422,21 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "flatEntityMinimalInformation": { "id": Any, "name": "IDX_747db609dd2bb7abe30d5d1926c", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -818,12 +448,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -838,52 +463,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -895,12 +488,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -915,52 +503,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -972,9 +528,6 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -989,9 +542,11 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1005,9 +560,11 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "id": Any, "name": "uniqueTargetLabel", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1022,54 +579,21 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "flatEntityMinimalInformation": { "id": Any, "name": "IDX_7ee6c7ff1e4648b0665f60cd5e4", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1081,12 +605,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1101,52 +620,20 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1159,9 +646,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1176,9 +660,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "fieldNameBisId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1193,54 +679,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_28fc32819c3dc0ec7c8594219fc", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1254,9 +707,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1271,9 +721,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1288,54 +740,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_e19260dc9ba8bb2ac7c39c6fcfd", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1349,9 +768,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1372,9 +788,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1389,54 +807,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_78587d9d07f2ad40242e070725f", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1450,9 +835,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1467,9 +849,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1484,54 +868,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_94535ac037cc2cd5eb316e87a54", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1545,9 +896,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1568,9 +916,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1585,54 +935,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "flatEntityMinimalInformation": { "id": Any, "name": "IDX_78587d9d07f2ad40242e070725f", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -1646,12 +963,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1666,52 +978,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1725,12 +1005,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1745,52 +1020,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1804,12 +1047,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1824,52 +1062,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1883,12 +1089,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -1902,52 +1103,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -1961,9 +1130,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1978,9 +1144,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "id": Any, "name": "fieldNameBisId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1994,9 +1162,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "id": Any, "name": "defaulttargetfieldlabel", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2011,54 +1181,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "flatEntityMinimalInformation": { "id": Any, "name": "IDX_8f338db6589d97164642f3fe641", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2072,12 +1209,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -2092,52 +1224,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -2151,12 +1251,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -2171,52 +1266,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -2230,9 +1293,6 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2247,9 +1307,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2263,9 +1325,11 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "id": Any, "name": "uniqueTargetLabel", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2280,54 +1344,21 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "flatEntityMinimalInformation": { "id": Any, "name": "IDX_d41e56dfc90f36d133336f65736", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2341,12 +1372,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [ + "fieldMetadata": [ { "errors": [ { @@ -2361,52 +1387,20 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when }, }, ], - "flatEntityMinimalInformation": {}, - "type": "create_field", + "flatEntityMinimalInformation": { + "id": Any, + }, + "metadataName": "fieldMetadata", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating field", "name": "GraphQLError", @@ -2419,9 +1413,6 @@ exports[`Field metadata relation creation should fail should fail when creating "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2436,55 +1427,20 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "manager", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2496,9 +1452,6 @@ exports[`Field metadata relation creation should fail should fail when creating "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2513,9 +1466,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "manager", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2530,54 +1485,21 @@ exports[`Field metadata relation creation should fail should fail when creating "flatEntityMinimalInformation": { "id": Any, "name": "IDX_772faa136925e6c4141fd45ac0e", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "index": 1, + "totalErrors": 2, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2589,9 +1511,6 @@ exports[`Field metadata relation creation should fail should fail when creating "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2606,9 +1525,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "fieldName", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2622,9 +1543,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "relatedObject", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2639,54 +1562,21 @@ exports[`Field metadata relation creation should fail should fail when creating "flatEntityMinimalInformation": { "id": Any, "name": "IDX_7ee6c7ff1e4648b0665f60cd5e4", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -2698,9 +1588,6 @@ exports[`Field metadata relation creation should fail should fail when creating "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2715,9 +1602,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "companyId", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2731,9 +1620,11 @@ exports[`Field metadata relation creation should fail should fail when creating "id": Any, "name": "related", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2748,54 +1639,21 @@ exports[`Field metadata relation creation should fail should fail when creating "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ed8240d8bc1e69a39dab1c17fe2", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 2 fieldMetadatas, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 2, + "index": 1, + "totalErrors": 3, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-update.integration-spec.ts.snap index 001b78751a9..70f7ff55eb3 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/relation/__snapshots__/failing-field-metadata-relation-update.integration-spec.ts.snap @@ -6,9 +6,6 @@ exports[`Field metadata relation update should fail relation when name is not in "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -29,55 +26,20 @@ exports[`Field metadata relation update should fail relation when name is not in "id": Any, "name": "New Name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "update_field", + "type": "update", }, ], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 fieldMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating field", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/unique-field/__snapshots__/create-one-unique-field-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/field-metadata/unique-field/__snapshots__/create-one-unique-field-metadata.integration-spec.ts.snap index f1b746aed48..cf03cca24d5 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/unique-field/__snapshots__/create-one-unique-field-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/unique-field/__snapshots__/create-one-unique-field-metadata.integration-spec.ts.snap @@ -5,10 +5,6 @@ exports[`failing createOne unique field metadata should fail for composite type "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], "index": [ { "errors": [ @@ -21,54 +17,20 @@ exports[`failing createOne unique field metadata should fail for composite type "flatEntityMinimalInformation": { "id": Any, "name": "IDX_UNIQUE_98d410e804d758f9bcceb154dde", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "index": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", @@ -80,10 +42,6 @@ exports[`failing createOne unique field metadata should fail when field has cust "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], "index": [ { "errors": [ @@ -96,54 +54,20 @@ exports[`failing createOne unique field metadata should fail when field has cust "flatEntityMinimalInformation": { "id": Any, "name": "IDX_UNIQUE_a1b02809c523cdc853d35fbc413", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "index": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating fields", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata-v2.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata-v2.integration-spec.ts.snap index 1fbec55b8b3..652063d6f05 100644 --- a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata-v2.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-create-one-object-metadata-v2.integration-spec.ts.snap @@ -5,9 +5,6 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -21,9 +18,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -37,9 +36,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -53,9 +54,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -69,9 +72,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -85,9 +90,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -101,9 +108,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -117,9 +126,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -133,9 +144,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -149,9 +162,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -165,9 +180,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -181,9 +198,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -197,9 +216,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -213,9 +234,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -229,9 +252,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -245,9 +270,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -261,9 +288,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -277,9 +306,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -293,9 +324,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -309,9 +342,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -331,9 +366,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -350,21 +387,13 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -376,9 +405,11 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -398,10 +429,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -419,10 +452,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -440,10 +475,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -461,10 +498,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -482,10 +521,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -503,10 +544,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -524,10 +567,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -545,10 +590,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -566,10 +613,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -587,10 +636,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -608,10 +659,12 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -629,42 +682,25 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -676,9 +712,6 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -692,9 +725,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -708,9 +743,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -724,9 +761,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -740,9 +779,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -756,9 +797,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -772,9 +815,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -788,9 +833,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -804,9 +851,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -820,9 +869,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -836,9 +887,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -852,9 +905,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -868,9 +923,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -884,9 +941,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -900,9 +959,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -916,9 +977,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -932,9 +995,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -948,9 +1013,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -964,9 +1031,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -980,9 +1049,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1002,9 +1073,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -1021,21 +1094,13 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -1047,9 +1112,11 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -1069,10 +1136,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1090,10 +1159,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1111,10 +1182,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1132,10 +1205,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1153,10 +1228,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1174,10 +1251,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1195,10 +1274,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1216,10 +1297,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1237,10 +1320,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1258,10 +1343,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1279,10 +1366,12 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1300,42 +1389,25 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -1358,9 +1430,6 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -1374,9 +1443,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1390,9 +1461,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1406,9 +1479,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1422,9 +1497,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1438,9 +1515,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1454,9 +1533,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1470,9 +1551,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1486,9 +1569,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1502,9 +1587,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1518,9 +1605,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1534,9 +1623,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1550,9 +1641,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1566,9 +1659,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1582,9 +1677,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1598,9 +1695,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1614,9 +1713,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1630,9 +1731,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1646,9 +1749,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -1662,9 +1767,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -1684,9 +1791,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -1703,21 +1812,13 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -1729,9 +1830,11 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -1751,10 +1854,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1772,10 +1877,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1793,10 +1900,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1814,10 +1923,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1835,10 +1946,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1856,10 +1969,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1877,10 +1992,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1898,10 +2015,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1919,10 +2038,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1940,10 +2061,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1961,10 +2084,12 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -1982,42 +2107,25 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -2029,9 +2137,6 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2045,9 +2150,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2061,9 +2168,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2077,9 +2186,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2093,9 +2204,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2109,9 +2222,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2125,9 +2240,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2141,9 +2258,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2157,9 +2276,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2173,9 +2294,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2189,9 +2312,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2205,9 +2330,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2221,9 +2348,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2237,9 +2366,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2253,9 +2384,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2269,9 +2402,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2285,9 +2420,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2301,9 +2438,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2317,9 +2456,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2333,9 +2474,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -2355,9 +2498,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -2374,21 +2519,13 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -2400,9 +2537,11 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -2422,10 +2561,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2443,10 +2584,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2464,10 +2607,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2485,10 +2630,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2506,10 +2653,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2527,10 +2676,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2548,10 +2699,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2569,10 +2722,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2590,10 +2745,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2611,10 +2768,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2632,10 +2791,12 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -2653,42 +2814,25 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -2711,9 +2855,6 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -2727,9 +2868,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2743,9 +2886,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2759,9 +2904,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2775,9 +2922,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2791,9 +2940,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2807,9 +2958,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2823,9 +2976,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2839,9 +2994,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2855,9 +3012,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2871,9 +3030,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2887,9 +3048,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2903,9 +3066,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2919,9 +3084,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2935,9 +3102,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2951,9 +3120,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2967,9 +3138,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2983,9 +3156,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -2999,9 +3174,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3015,9 +3192,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -3037,9 +3216,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -3056,21 +3237,13 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -3082,9 +3255,11 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -3104,10 +3279,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3125,10 +3302,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3146,10 +3325,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3167,10 +3348,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3188,10 +3371,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3209,10 +3394,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3230,10 +3417,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3251,10 +3440,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3272,10 +3463,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3293,10 +3486,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3314,10 +3509,12 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3335,42 +3532,25 @@ exports[`Object metadata creation should fail v2 when labels are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -3382,9 +3562,6 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -3398,9 +3575,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3414,9 +3593,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3430,9 +3611,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3446,9 +3629,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3462,9 +3647,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3478,9 +3665,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3494,9 +3683,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3510,9 +3701,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3526,9 +3719,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3542,9 +3737,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3558,9 +3755,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3574,9 +3773,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3590,9 +3791,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3606,9 +3809,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3622,9 +3827,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3638,9 +3845,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3654,9 +3863,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3670,9 +3881,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -3686,9 +3899,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -3708,9 +3923,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -3727,21 +3944,13 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "id": Any, "namePlural": "listingas", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -3753,9 +3962,11 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -3775,10 +3986,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3796,10 +4009,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3817,10 +4032,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3838,10 +4055,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3859,10 +4078,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3880,10 +4101,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3901,10 +4124,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3922,10 +4147,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3943,10 +4170,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3964,10 +4193,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -3985,10 +4216,12 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4006,42 +4239,25 @@ exports[`Object metadata creation should fail v2 when labels with whitespaces re "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -4053,9 +4269,6 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4069,9 +4282,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4085,9 +4300,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4101,9 +4318,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4117,9 +4336,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4133,9 +4354,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4149,9 +4372,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4165,9 +4390,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4181,9 +4408,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4197,9 +4426,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4213,9 +4444,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4229,9 +4462,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4245,9 +4480,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4261,9 +4498,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4277,9 +4516,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4299,9 +4540,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "targetAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4321,9 +4564,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4343,9 +4588,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4365,9 +4612,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4387,9 +4636,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -4409,9 +4660,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "id": Any, "name": "IDX_da4ca4dc0c441477f29e4a384b0", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -4428,21 +4681,13 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "id": Any, "namePlural": "listingas", "nameSingular": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -4454,9 +4699,11 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -4476,10 +4723,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4497,10 +4746,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4518,10 +4769,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4539,10 +4792,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4560,10 +4815,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4581,10 +4838,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4602,10 +4861,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4623,10 +4884,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4644,10 +4907,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4665,10 +4930,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4686,10 +4953,12 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -4707,42 +4976,25 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -4754,9 +5006,6 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -4770,9 +5019,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4786,9 +5037,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4802,9 +5055,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4818,9 +5073,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4834,9 +5091,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4850,9 +5109,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4866,9 +5127,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4882,9 +5145,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4898,9 +5163,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4914,9 +5181,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4930,9 +5199,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4946,9 +5217,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4962,9 +5235,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4978,9 +5253,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -4994,9 +5271,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5010,9 +5289,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5026,9 +5307,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5042,9 +5325,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5058,9 +5343,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -5080,9 +5367,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -5099,21 +5388,13 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "id": Any, "namePlural": "μ", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -5125,9 +5406,11 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -5147,10 +5430,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5168,10 +5453,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5189,10 +5476,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5210,10 +5499,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5231,10 +5522,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5252,10 +5545,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5273,10 +5568,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5294,10 +5591,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5315,10 +5614,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5336,10 +5637,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5357,10 +5660,12 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5378,42 +5683,25 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -5425,9 +5713,6 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -5441,9 +5726,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5457,9 +5744,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5473,9 +5762,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5489,9 +5780,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5505,9 +5798,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5521,9 +5816,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5537,9 +5834,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5553,9 +5852,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5569,9 +5870,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5585,9 +5888,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5601,9 +5906,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5617,9 +5924,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5633,9 +5942,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5649,9 +5960,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5665,9 +5978,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5681,9 +5996,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5697,9 +6014,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5713,9 +6032,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -5729,9 +6050,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -5751,9 +6074,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -5770,21 +6095,13 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "id": Any, "namePlural": "users", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -5796,9 +6113,11 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -5818,10 +6137,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5839,10 +6160,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5860,10 +6183,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5881,10 +6206,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5902,10 +6229,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5923,10 +6252,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5944,10 +6275,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5965,10 +6298,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -5986,10 +6321,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6007,10 +6344,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6028,10 +6367,12 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6049,42 +6390,25 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -6107,9 +6431,6 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -6123,9 +6444,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6139,9 +6462,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6155,9 +6480,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6171,9 +6498,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6187,9 +6516,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6203,9 +6534,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6219,9 +6552,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6235,9 +6570,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6251,9 +6588,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6267,9 +6606,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6283,9 +6624,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6299,9 +6642,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6315,9 +6660,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6331,9 +6678,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6347,9 +6696,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "targetListinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6363,9 +6714,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6379,9 +6732,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6395,9 +6750,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6411,9 +6768,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "name": "listinga", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -6433,9 +6792,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "id": Any, "name": "IDX_ffebb98ec981552dbecc71223c8", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -6458,21 +6819,13 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "id": Any, "namePlural": "Not_Camel_Case", "nameSingular": "listinga", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -6484,9 +6837,11 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -6506,10 +6861,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6527,10 +6884,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6548,10 +6907,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6569,10 +6930,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6590,10 +6953,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6611,10 +6976,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6632,10 +6999,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6653,10 +7022,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6674,10 +7045,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6695,10 +7068,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6716,10 +7091,12 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -6737,42 +7114,25 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -6784,9 +7144,6 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -6800,9 +7157,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6816,9 +7175,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6832,9 +7193,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6848,9 +7211,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6864,9 +7229,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6880,9 +7247,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6896,9 +7265,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6912,9 +7283,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6928,9 +7301,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6944,9 +7319,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6960,9 +7337,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6976,9 +7355,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -6992,9 +7373,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7008,9 +7391,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7036,9 +7421,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "targetA a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7064,9 +7451,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "a a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7092,9 +7481,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "a a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7120,9 +7511,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "a a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7148,9 +7541,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "a a", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -7170,9 +7565,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "id": Any, "name": "IDX_2e70d840ef39341865172574229", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -7195,21 +7592,13 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "namePlural": "listingas", "nameSingular": "a a", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -7221,9 +7610,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -7243,10 +7634,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7264,10 +7657,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7285,10 +7680,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7306,10 +7703,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7327,10 +7726,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7348,10 +7749,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7369,10 +7772,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7390,10 +7795,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7411,10 +7818,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7432,10 +7841,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7453,10 +7864,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7474,42 +7887,25 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -7521,9 +7917,6 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -7537,9 +7930,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7553,9 +7948,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7569,9 +7966,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7585,9 +7984,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7601,9 +8002,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7617,9 +8020,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7633,9 +8038,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7649,9 +8056,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7665,9 +8074,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7681,9 +8092,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7697,9 +8110,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7713,9 +8128,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7729,9 +8146,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7745,9 +8164,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7761,9 +8182,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "target", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7789,9 +8212,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7817,9 +8242,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7845,9 +8272,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -7873,9 +8302,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "name": "", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -7895,9 +8326,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "id": Any, "name": "IDX_e0b8367f7f89bf39915991232b6", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -7920,21 +8353,13 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "id": Any, "namePlural": "listingas", "nameSingular": "", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -7946,9 +8371,11 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -7968,10 +8395,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -7989,10 +8418,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8010,10 +8441,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8031,10 +8464,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8052,10 +8487,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8073,10 +8510,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8094,10 +8533,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8115,10 +8556,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8136,10 +8579,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8157,10 +8602,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8178,10 +8625,12 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8199,42 +8648,25 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -8246,9 +8678,6 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -8262,9 +8691,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8278,9 +8709,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8294,9 +8727,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8310,9 +8745,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8326,9 +8763,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8342,9 +8781,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8358,9 +8799,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8374,9 +8817,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8390,9 +8835,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8406,9 +8853,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8422,9 +8871,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8438,9 +8889,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8454,9 +8907,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8470,9 +8925,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8498,9 +8955,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "targetΜ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8520,9 +8979,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "μ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8542,9 +9003,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "μ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8564,9 +9027,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "μ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8586,9 +9051,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "name": "μ", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -8608,9 +9075,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "id": Any, "name": "IDX_e895f7d7a9fc30bad070509afab", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -8627,21 +9096,13 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "id": Any, "namePlural": "listingas", "nameSingular": "μ", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -8653,9 +9114,11 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -8675,10 +9138,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8696,10 +9161,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8717,10 +9184,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8738,10 +9207,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8759,10 +9230,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8780,10 +9253,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8801,10 +9276,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8822,10 +9299,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8843,10 +9322,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8864,10 +9345,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8885,10 +9368,12 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -8906,42 +9391,25 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -8953,9 +9421,6 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -8969,9 +9434,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -8985,9 +9452,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9001,9 +9470,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9017,9 +9488,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9033,9 +9506,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9049,9 +9524,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9065,9 +9542,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9081,9 +9560,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9097,9 +9578,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9113,9 +9596,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9129,9 +9614,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9145,9 +9632,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9161,9 +9650,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9177,9 +9668,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9193,9 +9686,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "targetUser", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9215,9 +9710,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "user", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9237,9 +9734,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "user", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9259,9 +9758,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "user", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9281,9 +9782,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "name": "user", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -9303,9 +9806,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "id": Any, "name": "IDX_00aaf7dba3ae2d70218bdebd383", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -9322,21 +9827,13 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "id": Any, "namePlural": "listingas", "nameSingular": "user", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -9348,9 +9845,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -9370,10 +9869,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9391,10 +9892,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9412,10 +9915,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9433,10 +9938,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9454,10 +9961,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9475,10 +9984,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9496,10 +10007,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9517,10 +10030,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9538,10 +10053,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9559,10 +10076,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9580,10 +10099,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -9601,42 +10122,25 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -9659,9 +10163,6 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -9675,9 +10176,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9691,9 +10194,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9707,9 +10212,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9723,9 +10230,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9739,9 +10248,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9755,9 +10266,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9771,9 +10284,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9787,9 +10302,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9803,9 +10320,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9819,9 +10338,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9835,9 +10356,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9851,9 +10374,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9867,9 +10392,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9883,9 +10410,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9911,9 +10440,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "targetNot_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9939,9 +10470,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "Not_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9967,9 +10500,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "Not_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -9995,9 +10530,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "Not_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10023,9 +10560,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "name": "Not_Camel_Case", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -10045,9 +10584,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "id": Any, "name": "IDX_17a51d4440e492a8ec4d594c445", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -10070,21 +10611,13 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "id": Any, "namePlural": "listingas", "nameSingular": "Not_Camel_Case", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -10096,9 +10629,11 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -10118,10 +10653,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10139,10 +10676,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10160,10 +10699,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10181,10 +10722,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10202,10 +10745,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10223,10 +10768,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10244,10 +10791,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10265,10 +10814,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10286,10 +10837,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10307,10 +10860,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10328,10 +10883,12 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10349,42 +10906,25 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -10396,9 +10936,6 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -10412,9 +10949,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10428,9 +10967,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10444,9 +10985,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10460,9 +11003,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10476,9 +11021,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10492,9 +11039,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10508,9 +11057,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10524,9 +11075,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10540,9 +11093,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10556,9 +11111,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10572,9 +11129,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10588,9 +11147,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10604,9 +11165,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10620,9 +11183,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10636,9 +11201,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "targetFooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10652,9 +11219,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10668,9 +11237,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10684,9 +11255,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -10700,9 +11273,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -10722,9 +11297,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "id": Any, "name": "IDX_acbec9630e5330ad7c000993538", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -10741,21 +11318,13 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "id": Any, "namePlural": "fooBar", "nameSingular": "fooBar", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -10767,9 +11336,11 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -10789,10 +11360,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10810,10 +11383,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10831,10 +11406,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10852,10 +11429,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10873,10 +11452,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10894,10 +11475,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10915,10 +11498,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10936,10 +11521,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10957,10 +11544,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10978,10 +11567,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -10999,10 +11590,12 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11020,42 +11613,25 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] = "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", @@ -11067,9 +11643,6 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], "fieldMetadata": [ { "errors": [ @@ -11083,9 +11656,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "id", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11099,9 +11674,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "name", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11115,9 +11692,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "createdAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11131,9 +11710,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "updatedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11147,9 +11728,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "updatedBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11163,9 +11746,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "deletedAt", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11179,9 +11764,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "createdBy", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11195,9 +11782,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "position", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11211,9 +11800,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "searchVector", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11227,9 +11818,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "timelineActivities", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11243,9 +11836,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "favorites", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11259,9 +11854,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "attachments", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11275,9 +11872,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "noteTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11291,9 +11890,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "taskTargets", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11307,9 +11908,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "targetFooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11323,9 +11926,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11339,9 +11944,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11355,9 +11962,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, { "errors": [ @@ -11371,9 +11980,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "name": "fooBar", "objectMetadataId": Any, + "universalIdentifier": Any, }, + "metadataName": "fieldMetadata", "status": "fail", - "type": "create_field", + "type": "create", }, ], "index": [ @@ -11393,9 +12004,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "id": Any, "name": "IDX_acbec9630e5330ad7c000993538", + "universalIdentifier": Any, }, + "metadataName": "index", "status": "fail", - "type": "create_index", + "type": "create", }, ], "objectMetadata": [ @@ -11412,21 +12025,13 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "id": Any, "namePlural": "fooBar", "nameSingular": "fooBar", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "create_object", + "type": "create", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], "view": [ { "errors": [ @@ -11438,9 +12043,11 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "view", "status": "fail", - "type": "create_view", + "type": "create", }, ], "viewField": [ @@ -11460,10 +12067,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11481,10 +12090,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11502,10 +12113,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11523,10 +12136,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11544,10 +12159,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11565,10 +12182,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11586,10 +12205,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11607,10 +12228,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11628,10 +12251,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11649,10 +12274,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11670,10 +12297,12 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, { "errors": [ @@ -11691,42 +12320,25 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 19 fieldMetadatas, 1 objectMetadata, 1 view, 12 viewFields, 1 index", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "fieldMetadata": 19, + "index": 1, + "objectMetadata": 1, + "totalErrors": 34, + "view": 1, + "viewField": 12, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating object", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-update-one-object-metadata.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-update-one-object-metadata.integration-spec.ts.snap index 7f3385452a6..7a925fd750c 100644 --- a/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-update-one-object-metadata.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/object-metadata/__snapshots__/failing-update-one-object-metadata.integration-spec.ts.snap @@ -6,11 +6,6 @@ exports[`Object metadata update should fail when labelIdentifier is a UUID field "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], "objectMetadata": [ { "errors": [ @@ -24,22 +19,13 @@ exports[`Object metadata update should fail when labelIdentifier is a UUID field "id": Any, "namePlural": "whatevers", "nameSingular": "whatever", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "update_object", + "type": "update", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -52,42 +38,22 @@ exports[`Object metadata update should fail when labelIdentifier is a UUID field "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 objectMetadata, 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "objectMetadata": 1, + "totalErrors": 2, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating object", "name": "GraphQLError", @@ -101,11 +67,6 @@ exports[`Object metadata update should fail when labelIdentifier is not a TEXT o "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], "objectMetadata": [ { "errors": [ @@ -119,22 +80,13 @@ exports[`Object metadata update should fail when labelIdentifier is not a TEXT o "id": Any, "namePlural": "whatevers", "nameSingular": "whatever", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "update_object", + "type": "update", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -147,42 +99,22 @@ exports[`Object metadata update should fail when labelIdentifier is not a TEXT o "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 objectMetadata, 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "objectMetadata": 1, + "totalErrors": 2, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating object", "name": "GraphQLError", @@ -196,11 +128,6 @@ exports[`Object metadata update should fail when labelIdentifier is not a known "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], "objectMetadata": [ { "errors": [ @@ -214,22 +141,13 @@ exports[`Object metadata update should fail when labelIdentifier is not a known "id": Any, "namePlural": "whatevers", "nameSingular": "whatever", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "update_object", + "type": "update", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], "viewField": [ { "errors": [ @@ -247,42 +165,22 @@ exports[`Object metadata update should fail when labelIdentifier is not a known "flatEntityMinimalInformation": { "fieldMetadataId": Any, "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewField", "status": "fail", - "type": "create_view_field", + "type": "create", }, ], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 objectMetadata, 1 viewField", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "objectMetadata": 1, + "totalErrors": 2, + "viewField": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating object", "name": "GraphQLError", @@ -313,11 +211,6 @@ exports[`Object metadata update should fail when labelIdentifier is null 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], "objectMetadata": [ { "errors": [ @@ -331,53 +224,20 @@ exports[`Object metadata update should fail when labelIdentifier is null 1`] = ` "id": Any, "namePlural": "whatevers", "nameSingular": "whatever", + "universalIdentifier": Any, }, + "metadataName": "objectMetadata", "status": "fail", - "type": "update_object", + "type": "update", }, ], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 objectMetadata", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "objectMetadata": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating object", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/page-layout-tab/__snapshots__/failing-page-layout-tab-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/page-layout-tab/__snapshots__/failing-page-layout-tab-creation.integration-spec.ts.snap index 7dc67932119..3b19a16907e 100644 --- a/packages/twenty-server/test/integration/metadata/suites/page-layout-tab/__snapshots__/failing-page-layout-tab-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/page-layout-tab/__snapshots__/failing-page-layout-tab-creation.integration-spec.ts.snap @@ -5,13 +5,6 @@ exports[`Page layout tab creation should fail when pageLayoutId references non-e "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], "pageLayoutTab": [ { "errors": [ @@ -24,51 +17,20 @@ exports[`Page layout tab creation should fail when pageLayoutId references non-e "flatEntityMinimalInformation": { "id": Any, "title": "Tab With Non-Existent Layout", + "universalIdentifier": Any, }, + "metadataName": "pageLayoutTab", "status": "fail", - "type": "create_page_layout_tab", + "type": "create", }, ], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 pageLayoutTab", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "pageLayoutTab": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating page layout tab", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/page-layout-widget/__snapshots__/failing-page-layout-widget-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/page-layout-widget/__snapshots__/failing-page-layout-widget-creation.integration-spec.ts.snap index 4c659427b42..38f6c705bad 100644 --- a/packages/twenty-server/test/integration/metadata/suites/page-layout-widget/__snapshots__/failing-page-layout-widget-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/page-layout-widget/__snapshots__/failing-page-layout-widget-creation.integration-spec.ts.snap @@ -16,14 +16,6 @@ exports[`Page layout widget creation should fail when pageLayoutTabId references "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], "pageLayoutWidget": [ { "errors": [ @@ -36,50 +28,20 @@ exports[`Page layout widget creation should fail when pageLayoutTabId references "flatEntityMinimalInformation": { "id": Any, "pageLayoutTabId": Any, + "universalIdentifier": Any, }, + "metadataName": "pageLayoutWidget", "status": "fail", - "type": "create_page_layout_widget", + "type": "create", }, ], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 pageLayoutWidget", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "pageLayoutWidget": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating page layout widget", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-creation.integration-spec.ts.snap index 4d6e241b585..53d3e85fc7d 100644 --- a/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-creation.integration-spec.ts.snap @@ -5,15 +5,6 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -26,49 +17,20 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "flatEntityMinimalInformation": { "id": Any, "label": "Inconsistent Destroy Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", @@ -80,15 +42,6 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -101,49 +54,20 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "flatEntityMinimalInformation": { "id": Any, "label": "Inconsistent Soft Delete Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", @@ -155,15 +79,6 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -176,49 +91,20 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can "flatEntityMinimalInformation": { "id": Any, "label": "Inconsistent Update Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", @@ -230,15 +116,6 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but mul "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -251,49 +128,20 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but mul "flatEntityMinimalInformation": { "id": Any, "label": "Inconsistent Multiple Write Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", @@ -305,15 +153,6 @@ exports[`Role creation should fail when label already exists 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -326,49 +165,20 @@ exports[`Role creation should fail when label already exists 1`] = ` "flatEntityMinimalInformation": { "id": Any, "label": "Existing Test Role", + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "create_role", + "type": "create", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating role", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-update.integration-spec.ts.snap index 1a122a1d735..126948a90c2 100644 --- a/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/role/__snapshots__/failing-role-update.integration-spec.ts.snap @@ -17,15 +17,6 @@ exports[`Role update should fail updating role with existing write permissions s "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -37,49 +28,20 @@ exports[`Role update should fail updating role with existing write permissions s ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -91,15 +53,6 @@ exports[`Role update should fail when updating a non-editable system role 1`] = "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -111,49 +64,20 @@ exports[`Role update should fail when updating a non-editable system role 1`] = ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -165,15 +89,6 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -185,49 +100,20 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -239,15 +125,6 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -259,49 +136,20 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -313,15 +161,6 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -333,49 +172,20 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -387,15 +197,6 @@ exports[`Role update should fail when updating label to one that already exists "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -407,49 +208,20 @@ exports[`Role update should fail when updating label to one that already exists ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", @@ -461,15 +233,6 @@ exports[`Role update should fail when updating to enable write permissions witho "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], "role": [ { "errors": [ @@ -481,49 +244,20 @@ exports[`Role update should fail when updating to enable write permissions witho ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "role", "status": "fail", - "type": "update_role", + "type": "update", }, ], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 role", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "role": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating role", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-creation.integration-spec.ts.snap index 832434b9dd6..a41425490d6 100644 --- a/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-creation.integration-spec.ts.snap @@ -5,21 +5,6 @@ exports[`Skill creation should fail when content is empty string 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -32,43 +17,20 @@ exports[`Skill creation should fail when content is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "emptyContentSkill", + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "create_skill", + "type": "create", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating skill", "name": "GraphQLError", @@ -94,21 +56,6 @@ exports[`Skill creation should fail when label is empty string 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -121,43 +68,20 @@ exports[`Skill creation should fail when label is empty string 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "emptyLabelSkill", + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "create_skill", + "type": "create", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating skill", "name": "GraphQLError", @@ -183,21 +107,6 @@ exports[`Skill creation should fail when name already exists 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -210,43 +119,20 @@ exports[`Skill creation should fail when name already exists 1`] = ` "flatEntityMinimalInformation": { "id": Any, "name": "existingTestSkill", + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "create_skill", + "type": "create", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating skill", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-update.integration-spec.ts.snap index 18a46de0415..6ec5d0f817b 100644 --- a/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/skill/__snapshots__/failing-skill-update.integration-spec.ts.snap @@ -29,21 +29,6 @@ exports[`Skill update should fail when updating with empty content 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -55,43 +40,20 @@ exports[`Skill update should fail when updating with empty content 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "update_skill", + "type": "update", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating skill", "name": "GraphQLError", @@ -103,21 +65,6 @@ exports[`Skill update should fail when updating with empty label 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], "skill": [ { "errors": [ @@ -129,43 +76,20 @@ exports[`Skill update should fail when updating with empty label 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "skill", "status": "fail", - "type": "update_skill", + "type": "update", }, ], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 skill", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "skill": 1, + "totalErrors": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating skill", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation-circular-dependency.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation-circular-dependency.integration-spec.ts.snap index a0e59928d78..3986f8a9734 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation-circular-dependency.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation-circular-dependency.integration-spec.ts.snap @@ -5,25 +5,6 @@ exports[`View Filter Group creation should fail with circular dependency when id "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -40,39 +21,20 @@ exports[`View Filter Group creation should fail with circular dependency when id ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", @@ -84,25 +46,6 @@ exports[`View Filter Group creation should fail with circular dependency when ma "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -114,39 +57,20 @@ exports[`View Filter Group creation should fail with circular dependency when ma ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation.integration-spec.ts.snap index b738ccdf053..462a1b1df22 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-creation.integration-spec.ts.snap @@ -5,25 +5,6 @@ exports[`View Filter Group creation should fail when parentViewFilterGroupId doe "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -35,39 +16,20 @@ exports[`View Filter Group creation should fail when parentViewFilterGroupId doe ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", @@ -79,25 +41,6 @@ exports[`View Filter Group creation should fail when parentViewFilterGroupId equ "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -114,39 +57,20 @@ exports[`View Filter Group creation should fail when parentViewFilterGroupId equ ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", @@ -158,25 +82,6 @@ exports[`View Filter Group creation should fail when viewId does not exist 1`] = "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -188,39 +93,20 @@ exports[`View Filter Group creation should fail when viewId does not exist 1`] = ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "create_view_filter_group", + "type": "create", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter group", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update-circular-dependency.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update-circular-dependency.integration-spec.ts.snap index 39e77070643..4226c8e5d72 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update-circular-dependency.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update-circular-dependency.integration-spec.ts.snap @@ -5,25 +5,6 @@ exports[`View Filter Group update should fail with circular dependency when pare "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -35,39 +16,20 @@ exports[`View Filter Group update should fail with circular dependency when pare ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "update_view_filter_group", + "type": "update", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view filter group", "name": "GraphQLError", @@ -79,25 +41,6 @@ exports[`View Filter Group update should fail with circular dependency when upda "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -109,39 +52,20 @@ exports[`View Filter Group update should fail with circular dependency when upda ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "update_view_filter_group", + "type": "update", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view filter group", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update.integration-spec.ts.snap index 558324788f1..31333f13de1 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter-group/__snapshots__/failing-view-filter-group-update.integration-spec.ts.snap @@ -5,25 +5,6 @@ exports[`View Filter Group update should fail when parentViewFilterGroupId does "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], "viewFilterGroup": [ { "errors": [ @@ -35,39 +16,20 @@ exports[`View Filter Group update should fail when parentViewFilterGroupId does ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilterGroup", "status": "fail", - "type": "update_view_filter_group", + "type": "update", }, ], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilterGroup", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilterGroup": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while updating view filter group", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/metadata/suites/view-filter/__snapshots__/failing-view-filter-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/view-filter/__snapshots__/failing-view-filter-creation.integration-spec.ts.snap index 9a981ec70da..d00951a00c2 100644 --- a/packages/twenty-server/test/integration/metadata/suites/view-filter/__snapshots__/failing-view-filter-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/view-filter/__snapshots__/failing-view-filter-creation.integration-spec.ts.snap @@ -5,24 +5,6 @@ exports[`View Filter creation should fail when fieldMetadataId does not exist 1` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], "viewFilter": [ { "errors": [ @@ -34,40 +16,20 @@ exports[`View Filter creation should fail when fieldMetadataId does not exist 1` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilter", "status": "fail", - "type": "create_view_filter", + "type": "create", }, ], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilter", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilter": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter", "name": "GraphQLError", @@ -79,24 +41,6 @@ exports[`View Filter creation should fail when viewFilterGroupId does not exist "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], "viewFilter": [ { "errors": [ @@ -113,40 +57,20 @@ exports[`View Filter creation should fail when viewFilterGroupId does not exist ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilter", "status": "fail", - "type": "create_view_filter", + "type": "create", }, ], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilter", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilter": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter", "name": "GraphQLError", @@ -158,24 +82,6 @@ exports[`View Filter creation should fail when viewId does not exist 1`] = ` "extensions": { "code": "METADATA_VALIDATION_FAILED", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], "viewFilter": [ { "errors": [ @@ -192,40 +98,20 @@ exports[`View Filter creation should fail when viewId does not exist 1`] = ` ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, }, + "metadataName": "viewFilter", "status": "fail", - "type": "create_view_filter", + "type": "create", }, ], - "viewFilterGroup": [], - "viewGroup": [], }, - "message": "Validation failed for 0 object(s) and 0 field(s)", + "message": "Validation failed for 1 viewFilter", "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewFilter": 1, }, - "userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)", + "userFriendlyMessage": "Metadata validation failed", }, "message": "Multiple validation errors occurred while creating view filter", "name": "GraphQLError", diff --git a/packages/twenty-server/test/integration/rest/suites/__snapshots__/view-group.integration-spec.ts.snap b/packages/twenty-server/test/integration/rest/suites/__snapshots__/view-group.integration-spec.ts.snap index c7c8660c3b1..63969f4e01a 100644 --- a/packages/twenty-server/test/integration/rest/suites/__snapshots__/view-group.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/rest/suites/__snapshots__/view-group.integration-spec.ts.snap @@ -4,26 +4,6 @@ exports[`View Group REST API POST /metadata/viewGroups should fail to create vie { "error": "METADATA_VALIDATION_ERROR", "errors": { - "agent": [], - "cronTrigger": [], - "databaseEventTrigger": [], - "fieldMetadata": [], - "index": [], - "objectMetadata": [], - "pageLayout": [], - "pageLayoutTab": [], - "pageLayoutWidget": [], - "role": [], - "roleTarget": [], - "routeTrigger": [], - "rowLevelPermissionPredicate": [], - "rowLevelPermissionPredicateGroup": [], - "serverlessFunction": [], - "skill": [], - "view": [], - "viewField": [], - "viewFilter": [], - "viewFilterGroup": [], "viewGroup": [ { "errors": [ @@ -35,38 +15,20 @@ exports[`View Group REST API POST /metadata/viewGroups should fail to create vie ], "flatEntityMinimalInformation": { "id": Any, + "universalIdentifier": Any, "viewId": Any, }, + "metadataName": "viewGroup", "status": "fail", - "type": "create_view_group", + "type": "create", }, ], }, "message": "Multiple validation errors occurred while creating view groups", "statusCode": 400, "summary": { - "invalidAgent": 0, - "invalidCronTrigger": 0, - "invalidDatabaseEventTrigger": 0, - "invalidFieldMetadata": 0, - "invalidIndex": 0, - "invalidObjectMetadata": 0, - "invalidPageLayout": 0, - "invalidPageLayoutTab": 0, - "invalidPageLayoutWidget": 0, - "invalidRole": 0, - "invalidRoleTarget": 0, - "invalidRouteTrigger": 0, - "invalidRowLevelPermissionPredicate": 0, - "invalidRowLevelPermissionPredicateGroup": 0, - "invalidServerlessFunction": 0, - "invalidSkill": 0, - "invalidView": 0, - "invalidViewField": 0, - "invalidViewFilter": 0, - "invalidViewFilterGroup": 0, - "invalidViewGroup": 0, - "totalErrors": 0, + "totalErrors": 1, + "viewGroup": 1, }, } `; diff --git a/packages/twenty-shared/src/metadata/MetadataValidationError.ts b/packages/twenty-shared/src/metadata/MetadataValidationError.ts index fa23696c0c9..2651eb8976c 100644 --- a/packages/twenty-shared/src/metadata/MetadataValidationError.ts +++ b/packages/twenty-shared/src/metadata/MetadataValidationError.ts @@ -17,10 +17,10 @@ export type MetadataValidationErrorResponse = { summary: { totalErrors: number; } & { - [P in AllMetadataName as `invalid${Capitalize

}`]: number; + [P in AllMetadataName as P]?: number; }; errors: { - [P in AllMetadataName]: FailedMetadataValidation[]; + [P in AllMetadataName]?: FailedMetadataValidation[]; }; };