0f06fccdee
Reported on Discord: an app declared a `STANDALONE_PAGE` layout with one `FRONT_COMPONENT` widget and got a small bordered card instead of a full-bleed page, and setting `layoutMode` afterwards changed nothing. Two bugs: - `pageLayoutTab.layoutMode` was `toCompare: false`, so it was written once at create and never diffed again. Changing it in a manifest and redeploying was a silent no-op, and `updatePageLayoutTab(layoutMode:)` was accepted by the API then dropped by the runner's update sanitizer. - A manifest tab that omits `layoutMode` defaulted to `GRID` regardless of page layout type, and a `GRID` tab always renders its widgets as cards on a 12-column grid. Standalone pages now default to `VERTICAL_LIST`, where a lone widget owns the tab. Also fixes the SDK scaffolder (`twenty add page-layout` emitted a tab with no `position`, which does not typecheck) and the docs claim that a single widget is always full-bleed. Worth knowing for review: this does not migrate workspaces holding legacy `CANVAS` tabs. The standard-app sync only runs against a fresh schema, so those rows stay `CANVAS` and keep rendering correctly through the derived presentation. <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/23596?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. -->
1891 lines
46 KiB
TypeScript
1891 lines
46 KiB
TypeScript
import { type AllMetadataName } from 'twenty-shared/metadata';
|
|
|
|
import { type UnwrapWasRemovedInUpgrade } from 'src/engine/core-modules/upgrade/decorators/was-removed-in-upgrade.decorator';
|
|
import { type MetadataEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-entity.type';
|
|
import { type MetadataManyToOneJoinColumn } from 'src/engine/metadata-modules/flat-entity/types/metadata-many-to-one-join-column.type';
|
|
import { type ScalarFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/scalar-flat-entity.type';
|
|
import { type AllJsonbPropertiesWithSerializedPropertiesForMetadataName } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/constants/all-jsonb-properties-with-serialized-relation-by-metadata-name.constant';
|
|
import { type ExtractJsonbProperties } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/extract-jsonb-properties.type';
|
|
import { type ToUniversalForeignKey } from 'src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/to-universal-foreign-key.type';
|
|
|
|
type HasObjectInUnion<T> = T extends unknown
|
|
? T extends object
|
|
? true
|
|
: false
|
|
: never;
|
|
|
|
type MetadataEntityPropertyConfiguration<
|
|
TMetadataName extends AllMetadataName,
|
|
> = {
|
|
[K in keyof Omit<
|
|
ScalarFlatEntity<MetadataEntity<TMetadataName>>,
|
|
'id' | 'workspaceId' | 'applicationId' | 'universalIdentifier'
|
|
>]: {
|
|
universalProperty: K extends AllJsonbPropertiesWithSerializedPropertiesForMetadataName<TMetadataName> &
|
|
string
|
|
? `universal${Capitalize<K>}`
|
|
: K extends MetadataManyToOneJoinColumn<TMetadataName> & string
|
|
? ToUniversalForeignKey<K>
|
|
: undefined;
|
|
toStringify: K extends ExtractJsonbProperties<MetadataEntity<TMetadataName>>
|
|
? true
|
|
: K extends keyof MetadataEntity<TMetadataName>
|
|
? NonNullable<
|
|
UnwrapWasRemovedInUpgrade<MetadataEntity<TMetadataName>[K]>
|
|
> extends Date
|
|
? false
|
|
: HasObjectInUnion<
|
|
UnwrapWasRemovedInUpgrade<MetadataEntity<TMetadataName>[K]>
|
|
>
|
|
: boolean;
|
|
toCompare: boolean;
|
|
isOverridable?: boolean;
|
|
translatable?: boolean;
|
|
};
|
|
};
|
|
|
|
export const ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME = {
|
|
fieldMetadata: {
|
|
isSystemSideEffect: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
defaultValue: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
translatable: true,
|
|
},
|
|
icon: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
isActive: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isLabelSyncedWithName: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
// isUnique is derived from IndexMetadata at cache build time and is
|
|
// not a column on the fieldMetadata table. It stays in
|
|
// propertiesToCompare so per-type validators see the proposed
|
|
// change (e.g. rejecting unique on FILES), but the field-metadata
|
|
// runner drops it before issuing the SQL UPDATE — the actual state
|
|
// change rides on the side-effect index create/delete.
|
|
isUnique: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
label: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
translatable: true,
|
|
},
|
|
name: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
options: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
overrides: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
settings: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: 'universalSettings',
|
|
},
|
|
objectMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
type: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isSystem: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isUIEditable: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isNullable: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
relationTargetFieldMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'relationTargetFieldMetadataUniversalIdentifier',
|
|
},
|
|
relationTargetObjectMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'relationTargetObjectMetadataUniversalIdentifier',
|
|
},
|
|
morphId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
objectMetadata: {
|
|
dataSourceId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
color: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
translatable: true,
|
|
},
|
|
icon: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
isActive: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isLabelSyncedWithName: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
labelPlural: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
translatable: true,
|
|
},
|
|
labelSingular: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
translatable: true,
|
|
},
|
|
namePlural: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
nameSingular: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
labelIdentifierFieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
// @ts-expect-error remove once https://github.com/twentyhq/core-team-issues/issues/2172 has been resolved
|
|
universalProperty: 'labelIdentifierFieldMetadataUniversalIdentifier',
|
|
},
|
|
overrides: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
isRemote: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isSystem: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isUIEditable: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isUICreatable: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isAuditLogged: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isSearchable: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
duplicateCriteria: {
|
|
toCompare: false,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
shortcut: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
imageIdentifierFieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
// @ts-expect-error remove once https://github.com/twentyhq/core-team-issues/issues/2172 has been resolved
|
|
universalProperty: 'imageIdentifierFieldMetadataUniversalIdentifier',
|
|
isOverridable: true,
|
|
},
|
|
targetTableName: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
view: {
|
|
isSystemSideEffect: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
key: { toCompare: false, toStringify: false, universalProperty: undefined },
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdByUserWorkspaceId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
name: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
type: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
icon: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
position: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
isCompact: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
openRecordIn: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
kanbanAggregateOperation: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
kanbanAggregateOperationFieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty:
|
|
'kanbanAggregateOperationFieldMetadataUniversalIdentifier',
|
|
isOverridable: true,
|
|
},
|
|
anyFieldFilterValue: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
calendarLayout: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
calendarFieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'calendarFieldMetadataUniversalIdentifier',
|
|
isOverridable: true,
|
|
},
|
|
calendarEndFieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'calendarEndFieldMetadataUniversalIdentifier',
|
|
isOverridable: true,
|
|
},
|
|
visibility: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
mainGroupByFieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'mainGroupByFieldMetadataUniversalIdentifier',
|
|
isOverridable: true,
|
|
},
|
|
shouldHideEmptyGroups: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
kanbanColumnWidth: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
isActive: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: false,
|
|
},
|
|
overrides: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: 'universalOverrides',
|
|
},
|
|
objectMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
isCustom: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
viewFieldGroup: {
|
|
name: {
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
toCompare: true,
|
|
isOverridable: true,
|
|
},
|
|
position: {
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
toCompare: true,
|
|
isOverridable: true,
|
|
},
|
|
isVisible: {
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
toCompare: true,
|
|
isOverridable: true,
|
|
},
|
|
isActive: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: false,
|
|
},
|
|
deletedAt: {
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
toCompare: true,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
universalProperty: undefined,
|
|
toStringify: false,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
universalProperty: undefined,
|
|
toStringify: false,
|
|
},
|
|
viewId: {
|
|
toCompare: true,
|
|
universalProperty: 'viewUniversalIdentifier',
|
|
toStringify: false,
|
|
},
|
|
overrides: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
viewField: {
|
|
isSystemSideEffect: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isVisible: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
size: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
position: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
aggregateOperation: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
viewFieldGroupId: {
|
|
toStringify: false,
|
|
universalProperty: 'viewFieldGroupUniversalIdentifier',
|
|
toCompare: true,
|
|
isOverridable: true,
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
fieldMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'fieldMetadataUniversalIdentifier',
|
|
},
|
|
viewId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'viewUniversalIdentifier',
|
|
},
|
|
isActive: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: false,
|
|
},
|
|
overrides: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: 'universalOverrides',
|
|
},
|
|
},
|
|
viewGroup: {
|
|
isVisible: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
fieldValue: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
position: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
viewId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'viewUniversalIdentifier',
|
|
},
|
|
},
|
|
index: {
|
|
isSystemSideEffect: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
indexType: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
indexWhereClause: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isUnique: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
name: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
objectMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
isCustom: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
logicFunction: {
|
|
name: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
timeoutSeconds: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
checksum: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
sourceHandlerPath: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
handlerName: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isBuildUpToDate: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
executionMode: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
cronTriggerSettings: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
databaseEventTriggerSettings: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
httpRouteTriggerSettings: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
serverRouteTriggerSettings: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
toolTriggerSettings: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
workflowActionTriggerSettings: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
builtHandlerPath: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
runtime: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
viewFilter: {
|
|
viewId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'viewUniversalIdentifier',
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
fieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'fieldMetadataUniversalIdentifier',
|
|
},
|
|
operand: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
value: { toCompare: true, toStringify: true, universalProperty: undefined },
|
|
viewFilterGroupId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'viewFilterGroupUniversalIdentifier',
|
|
},
|
|
positionInViewFilterGroup: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
subFieldName: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
relationTargetFieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'relationTargetFieldMetadataUniversalIdentifier',
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
role: {
|
|
label: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
icon: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
canUpdateAllSettings: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canAccessAllTools: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canReadAllObjectRecords: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canUpdateAllObjectRecords: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canSoftDeleteAllObjectRecords: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canDestroyAllObjectRecords: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canBeAssignedToUsers: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canBeAssignedToAgents: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canBeAssignedToApiKeys: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isEditable: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
roleTarget: {
|
|
roleId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'roleUniversalIdentifier',
|
|
},
|
|
userWorkspaceId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
apiKeyId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
agentId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'agentUniversalIdentifier',
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
agent: {
|
|
name: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
label: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
icon: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
prompt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
modelId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
responseFormat: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
modelConfiguration: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
evaluationInputs: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
isCustom: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
deletedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
pageLayout: {
|
|
isSystemSideEffect: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
name: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
type: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
objectMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
defaultTabToFocusOnMobileAndSidePanelId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty:
|
|
'defaultTabToFocusOnMobileAndSidePanelUniversalIdentifier',
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
pageLayoutWidget: {
|
|
isSystemSideEffect: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
title: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
type: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
objectMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
gridPosition: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
position: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
configuration: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: 'universalConfiguration',
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
pageLayoutTabId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'pageLayoutTabUniversalIdentifier',
|
|
isOverridable: true,
|
|
},
|
|
conditionalDisplay: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
conditionalAvailabilityExpression: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
isActive: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: false,
|
|
},
|
|
overrides: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: 'universalOverrides',
|
|
},
|
|
},
|
|
pageLayoutTab: {
|
|
isSystemSideEffect: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
title: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
position: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
icon: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
pageLayoutId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'pageLayoutUniversalIdentifier',
|
|
},
|
|
layoutMode: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isActive: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: false,
|
|
},
|
|
overrides: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
skill: {
|
|
name: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
label: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
icon: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
content: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isActive: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isCustom: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
commandMenuItem: {
|
|
isSystemSideEffect: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
label: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
icon: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
shortLabel: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
position: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
isPinned: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
availabilityType: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
conditionalAvailabilityExpression: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
availabilityObjectMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'availabilityObjectMetadataUniversalIdentifier',
|
|
isOverridable: true,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
frontComponentId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'frontComponentUniversalIdentifier',
|
|
},
|
|
engineComponentKey: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
payload: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
hotKeys: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
isOverridable: true,
|
|
},
|
|
workflowVersionId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
pageLayoutId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'pageLayoutUniversalIdentifier',
|
|
isOverridable: true,
|
|
},
|
|
isActive: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
isOverridable: false,
|
|
},
|
|
overrides: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: 'universalOverrides',
|
|
},
|
|
},
|
|
navigationMenuItem: {
|
|
type: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
position: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
folderId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'folderUniversalIdentifier',
|
|
},
|
|
name: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
link: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
icon: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
color: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
viewId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'viewUniversalIdentifier',
|
|
},
|
|
userWorkspaceId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
targetRecordId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
targetObjectMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'targetObjectMetadataUniversalIdentifier',
|
|
},
|
|
pageLayoutId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'pageLayoutUniversalIdentifier',
|
|
},
|
|
},
|
|
rolePermissionFlag: {
|
|
permissionFlagId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'permissionFlagUniversalIdentifier',
|
|
},
|
|
roleId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'roleUniversalIdentifier',
|
|
},
|
|
flag: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
permissionFlag: {
|
|
key: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
label: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
icon: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
permissionType: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
fieldPermission: {
|
|
roleId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'roleUniversalIdentifier',
|
|
},
|
|
objectMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
fieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'fieldMetadataUniversalIdentifier',
|
|
},
|
|
canReadFieldValue: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canUpdateFieldValue: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
objectPermission: {
|
|
roleId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'roleUniversalIdentifier',
|
|
},
|
|
objectMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
canReadObjectRecords: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canUpdateObjectRecords: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canSoftDeleteObjectRecords: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
canDestroyObjectRecords: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
rowLevelPermissionPredicate: {
|
|
fieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'fieldMetadataUniversalIdentifier',
|
|
},
|
|
operand: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
value: { toCompare: true, toStringify: true, universalProperty: undefined },
|
|
rowLevelPermissionPredicateGroupId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'rowLevelPermissionPredicateGroupUniversalIdentifier',
|
|
},
|
|
positionInRowLevelPermissionPredicateGroup: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
subFieldName: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
workspaceMemberFieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'workspaceMemberFieldMetadataUniversalIdentifier',
|
|
},
|
|
workspaceMemberSubFieldName: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
objectMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
roleId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'roleUniversalIdentifier',
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
rowLevelPermissionPredicateGroup: {
|
|
logicalOperator: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
positionInRowLevelPermissionPredicateGroup: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
parentRowLevelPermissionPredicateGroupId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty:
|
|
'parentRowLevelPermissionPredicateGroupUniversalIdentifier',
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
objectMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
roleId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'roleUniversalIdentifier',
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
viewSort: {
|
|
direction: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
subFieldName: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
fieldMetadataId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'fieldMetadataUniversalIdentifier',
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
viewId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'viewUniversalIdentifier',
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
viewFilterGroup: {
|
|
viewId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'viewUniversalIdentifier',
|
|
},
|
|
deletedAt: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
parentViewFilterGroupId: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: 'parentViewFilterGroupUniversalIdentifier',
|
|
},
|
|
logicalOperator: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
positionInViewFilterGroup: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
frontComponent: {
|
|
name: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
builtComponentChecksum: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
sourceComponentPath: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
builtComponentPath: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
componentName: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isHeadless: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
usesSdkClient: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
webhook: {
|
|
targetUrl: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
operations: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
secret: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
deletedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
applicationVariable: {
|
|
key: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
value: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
description: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
isSecret: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
type: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
options: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
connectionProvider: {
|
|
name: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
displayName: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
type: { toCompare: true, toStringify: false, universalProperty: undefined },
|
|
oauthConfig: {
|
|
toCompare: true,
|
|
toStringify: true,
|
|
universalProperty: undefined,
|
|
},
|
|
onConnectLogicFunctionUniversalIdentifier: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
searchFieldMetadata: {
|
|
isSystemSideEffect: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
objectMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'objectMetadataUniversalIdentifier',
|
|
},
|
|
fieldMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'fieldMetadataUniversalIdentifier',
|
|
},
|
|
tsVectorFieldMetadataId: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: 'tsVectorFieldMetadataUniversalIdentifier',
|
|
},
|
|
position: {
|
|
toCompare: true,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
createdAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
updatedAt: {
|
|
toCompare: false,
|
|
toStringify: false,
|
|
universalProperty: undefined,
|
|
},
|
|
},
|
|
} as const satisfies {
|
|
[P in AllMetadataName]: MetadataEntityPropertyConfiguration<P>;
|
|
};
|
|
|
|
export type MetadataEntityPropertyName<T extends AllMetadataName> =
|
|
keyof (typeof ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME)[T];
|
|
|
|
type FilterComparableKeys<TConfig> = {
|
|
[P in keyof TConfig]: TConfig[P] extends { toCompare: true } ? P : never;
|
|
}[keyof TConfig];
|
|
|
|
export type MetadataEntityComparablePropertyName<T extends AllMetadataName> =
|
|
FilterComparableKeys<
|
|
(typeof ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME)[T]
|
|
>;
|
|
|
|
type FilterOverridableKeys<TConfig> = {
|
|
[P in keyof TConfig]: TConfig[P] extends { isOverridable: true } ? P : never;
|
|
}[keyof TConfig];
|
|
|
|
export type MetadataEntityOverridablePropertyName<T extends AllMetadataName> =
|
|
FilterOverridableKeys<
|
|
(typeof ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME)[T]
|
|
>;
|
|
|
|
type FilterTranslatableKeys<TConfig> = {
|
|
[P in keyof TConfig]: TConfig[P] extends { translatable: true } ? P : never;
|
|
}[keyof TConfig];
|
|
|
|
export type MetadataEntityTranslatablePropertyName<T extends AllMetadataName> =
|
|
FilterTranslatableKeys<
|
|
(typeof ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME)[T]
|
|
>;
|