diff --git a/packages/create-twenty-app/src/utils/app-template.ts b/packages/create-twenty-app/src/utils/app-template.ts index bcdd66ba533..90f3466d98f 100644 --- a/packages/create-twenty-app/src/utils/app-template.ts +++ b/packages/create-twenty-app/src/utils/app-template.ts @@ -474,7 +474,7 @@ const createExampleNavigationMenuItem = async ({ const universalIdentifier = v4(); const content = `import { defineNavigationMenuItem } from 'twenty-sdk'; - import { EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER } from 'src/views/example-view'; +import { EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER } from 'src/views/example-view'; export default defineNavigationMenuItem({ universalIdentifier: '${universalIdentifier}', @@ -482,6 +482,7 @@ export default defineNavigationMenuItem({ icon: 'IconList', color: 'blue', position: 0, + type: 'VIEW', viewUniversalIdentifier: EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER, }); `; diff --git a/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/post-card-recipients.navigation-menu-item.ts b/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/post-card-recipients.navigation-menu-item.ts index 34e1124a9c7..c8276add4a8 100644 --- a/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/post-card-recipients.navigation-menu-item.ts +++ b/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/post-card-recipients.navigation-menu-item.ts @@ -1,8 +1,10 @@ import { defineNavigationMenuItem } from 'twenty-sdk'; -import { ALL_POST_CARD_RECIPIENTS_VIEW_ID } from '../views/all-post-card-recipients.view'; +import { NavigationMenuItemType } from 'twenty-shared/types'; +import { POST_CARD_RECIPIENT_UNIVERSAL_IDENTIFIER } from '../objects/post-card-recipient.object'; export default defineNavigationMenuItem({ universalIdentifier: 'c1a2b3c4-0003-4a7b-8c9d-0e1f2a3b4c5d', position: 2, - viewUniversalIdentifier: ALL_POST_CARD_RECIPIENTS_VIEW_ID, + type: NavigationMenuItemType.OBJECT, + targetObjectUniversalIdentifier: POST_CARD_RECIPIENT_UNIVERSAL_IDENTIFIER, }); diff --git a/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/post-cards.navigation-menu-item.ts b/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/post-cards.navigation-menu-item.ts index a4d4f6c181f..bc18bd6e329 100644 --- a/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/post-cards.navigation-menu-item.ts +++ b/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/post-cards.navigation-menu-item.ts @@ -1,8 +1,10 @@ import { defineNavigationMenuItem } from 'twenty-sdk'; -import { ALL_POST_CARDS_VIEW_ID } from '../views/all-post-cards.view'; +import { NavigationMenuItemType } from 'twenty-shared/types'; +import { POST_CARD_UNIVERSAL_IDENTIFIER } from '../objects/post-card.object'; export default defineNavigationMenuItem({ universalIdentifier: 'c1a2b3c4-0001-4a7b-8c9d-0e1f2a3b4c5d', position: 0, - viewUniversalIdentifier: ALL_POST_CARDS_VIEW_ID, + type: NavigationMenuItemType.OBJECT, + targetObjectUniversalIdentifier: POST_CARD_UNIVERSAL_IDENTIFIER, }); diff --git a/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/recipients.navigation-menu-item.ts b/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/recipients.navigation-menu-item.ts index c0b1b9a3972..2d7309e8958 100644 --- a/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/recipients.navigation-menu-item.ts +++ b/packages/twenty-apps/fixtures/postcard-app/src/navigation-menu-items/recipients.navigation-menu-item.ts @@ -1,8 +1,10 @@ import { defineNavigationMenuItem } from 'twenty-sdk'; -import { ALL_RECIPIENTS_VIEW_ID } from '../views/all-recipients.view'; +import { NavigationMenuItemType } from 'twenty-shared/types'; +import { RECIPIENT_UNIVERSAL_IDENTIFIER } from '../objects/recipient.object'; export default defineNavigationMenuItem({ universalIdentifier: 'c1a2b3c4-0002-4a7b-8c9d-0e1f2a3b4c5d', position: 1, - viewUniversalIdentifier: ALL_RECIPIENTS_VIEW_ID, + type: NavigationMenuItemType.OBJECT, + targetObjectUniversalIdentifier: RECIPIENT_UNIVERSAL_IDENTIFIER, }); diff --git a/packages/twenty-apps/hello-world/src/navigation-menu-items/example-navigation-menu-item.ts b/packages/twenty-apps/hello-world/src/navigation-menu-items/example-navigation-menu-item.ts index 084bdf42665..57d10fae8dc 100644 --- a/packages/twenty-apps/hello-world/src/navigation-menu-items/example-navigation-menu-item.ts +++ b/packages/twenty-apps/hello-world/src/navigation-menu-items/example-navigation-menu-item.ts @@ -1,5 +1,6 @@ import { defineNavigationMenuItem } from 'twenty-sdk'; - import { EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER } from 'src/views/example-view'; +import { NavigationMenuItemType } from 'twenty-shared/types'; +import { EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER } from 'src/views/example-view'; export default defineNavigationMenuItem({ universalIdentifier: '10f90627-e9c2-44b7-9742-bed77e3d1b17', @@ -7,5 +8,6 @@ export default defineNavigationMenuItem({ icon: 'IconList', color: 'blue', position: 0, + type: NavigationMenuItemType.VIEW, viewUniversalIdentifier: EXAMPLE_VIEW_UNIVERSAL_IDENTIFIER, }); diff --git a/packages/twenty-apps/internal/call-recording/src/navigation-menu-items/call-recording-navigation-menu-item.ts b/packages/twenty-apps/internal/call-recording/src/navigation-menu-items/call-recording-navigation-menu-item.ts index 1d74f34dd9c..4798f99385c 100644 --- a/packages/twenty-apps/internal/call-recording/src/navigation-menu-items/call-recording-navigation-menu-item.ts +++ b/packages/twenty-apps/internal/call-recording/src/navigation-menu-items/call-recording-navigation-menu-item.ts @@ -1,10 +1,12 @@ import { CALL_RECORDING_VIEW_UNIVERSAL_IDENTIFIER } from 'src/views/call-recording-view'; import { defineNavigationMenuItem } from 'twenty-sdk'; +import { NavigationMenuItemType } from 'twenty-shared/types'; export default defineNavigationMenuItem({ universalIdentifier: '5248a62d-7d2e-43a7-ba45-6e8f61876a71', name: 'Call recordings', icon: 'IconPhone', position: 0, + type: NavigationMenuItemType.VIEW, viewUniversalIdentifier: CALL_RECORDING_VIEW_UNIVERSAL_IDENTIFIER, }); diff --git a/packages/twenty-apps/internal/self-hosting/src/navigation-menu-items/self-host-user-navigation-menu-item.ts b/packages/twenty-apps/internal/self-hosting/src/navigation-menu-items/self-host-user-navigation-menu-item.ts index 1f5696146f9..27b99f770bb 100644 --- a/packages/twenty-apps/internal/self-hosting/src/navigation-menu-items/self-host-user-navigation-menu-item.ts +++ b/packages/twenty-apps/internal/self-hosting/src/navigation-menu-items/self-host-user-navigation-menu-item.ts @@ -1,4 +1,5 @@ import { defineNavigationMenuItem } from 'twenty-sdk'; +import { NavigationMenuItemType } from 'twenty-shared/types'; import { UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers.constant'; export default defineNavigationMenuItem({ @@ -6,6 +7,7 @@ export default defineNavigationMenuItem({ name: 'Self host user', icon: 'IconList', position: 1, + type: NavigationMenuItemType.VIEW, viewUniversalIdentifier: UNIVERSAL_IDENTIFIERS.views.selfHostingUserView.universalIdentifier, }); diff --git a/packages/twenty-front/src/generated-metadata/graphql.ts b/packages/twenty-front/src/generated-metadata/graphql.ts index 1dd483096c3..14bc3cf08d9 100644 --- a/packages/twenty-front/src/generated-metadata/graphql.ts +++ b/packages/twenty-front/src/generated-metadata/graphql.ts @@ -1078,11 +1078,13 @@ export type CreateNavigationMenuItemInput = { position?: InputMaybe; targetObjectMetadataId?: InputMaybe; targetRecordId?: InputMaybe; + type: NavigationMenuItemType; userWorkspaceId?: InputMaybe; viewId?: InputMaybe; }; export type CreateObjectInput = { + color?: InputMaybe; description?: InputMaybe; icon?: InputMaybe; isLabelSyncedWithName?: InputMaybe; @@ -2317,6 +2319,7 @@ export type MinimalMetadata = { export type MinimalObjectMetadata = { __typename?: 'MinimalObjectMetadata'; + color?: Maybe; icon?: Maybe; id: Scalars['UUID']; isActive: Scalars['Boolean']; @@ -3509,11 +3512,20 @@ export type NavigationMenuItem = { targetObjectMetadataId?: Maybe; targetRecordId?: Maybe; targetRecordIdentifier?: Maybe; + type: NavigationMenuItemType; updatedAt: Scalars['DateTime']; userWorkspaceId?: Maybe; viewId?: Maybe; }; +export enum NavigationMenuItemType { + FOLDER = 'FOLDER', + LINK = 'LINK', + OBJECT = 'OBJECT', + RECORD = 'RECORD', + VIEW = 'VIEW' +} + export type NotesConfiguration = { __typename?: 'NotesConfiguration'; configurationType: WidgetConfigurationType; @@ -3522,6 +3534,7 @@ export type NotesConfiguration = { export type Object = { __typename?: 'Object'; applicationId: Scalars['UUID']; + color?: Maybe; createdAt: Scalars['DateTime']; description?: Maybe; duplicateCriteria?: Maybe>>; @@ -3671,6 +3684,7 @@ export enum ObjectRecordGroupByDateGranularity { export type ObjectStandardOverrides = { __typename?: 'ObjectStandardOverrides'; + color?: Maybe; description?: Maybe; icon?: Maybe; labelPlural?: Maybe; @@ -4961,6 +4975,7 @@ export type UpdateNavigationMenuItemInput = { }; export type UpdateObjectPayload = { + color?: InputMaybe; description?: InputMaybe; icon?: InputMaybe; imageIdentifierFieldMetadataId?: InputMaybe; @@ -5982,7 +5997,7 @@ export type UpdateOneApplicationVariableMutationVariables = Exact<{ export type UpdateOneApplicationVariableMutation = { __typename?: 'Mutation', updateOneApplicationVariable: boolean }; -export type ApplicationFieldsFragment = { __typename?: 'Application', id: string, name: string, description?: string | null, version?: string | null, universalIdentifier: string, applicationRegistrationId?: string | null, canBeUninstalled: boolean, defaultRoleId?: string | null, settingsCustomTabFrontComponentId?: string | null, availablePackages: any, applicationRegistration?: { __typename?: 'ApplicationRegistrationSummary', id: string, latestAvailableVersion?: string | null, sourceType: ApplicationRegistrationSourceType } | null, applicationVariables: Array<{ __typename?: 'ApplicationVariable', id: string, key: string, value: string, description: string, isSecret: boolean }>, agents: Array<{ __typename?: 'Agent', id: string, name: string, label: string, description?: string | null, icon?: string | null, prompt: string, modelId: string, responseFormat?: any | null, roleId?: string | null, isCustom: boolean, modelConfiguration?: any | null, evaluationInputs: Array, applicationId?: string | null, createdAt: string, updatedAt: string }>, objects: Array<{ __typename?: 'Object', id: string, universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, isCustom: boolean, isRemote: boolean, isActive: boolean, isSystem: boolean, isUIReadOnly: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, applicationId: string, shortcut?: string | null, isLabelSyncedWithName: boolean, isSearchable: boolean, duplicateCriteria?: Array> | null, indexMetadataList: Array<{ __typename?: 'Index', id: string, createdAt: string, updatedAt: string, name: string, indexWhereClause?: string | null, indexType: IndexType, isUnique: boolean, isCustom?: boolean | null, indexFieldMetadataList: Array<{ __typename?: 'IndexField', id: string, fieldMetadataId: string, createdAt: string, updatedAt: string, order: number }> }>, fieldsList: Array<{ __typename?: 'Field', id: string, universalIdentifier: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isSystem?: boolean | null, isUIReadOnly?: boolean | null, isNullable?: boolean | null, isUnique?: boolean | null, createdAt: string, updatedAt: string, defaultValue?: any | null, options?: any | null, settings?: any | null, isLabelSyncedWithName?: boolean | null, morphId?: string | null, applicationId: string, relation?: { __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } } | null, morphRelations?: Array<{ __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } }> | null }> }>, logicFunctions: Array<{ __typename?: 'LogicFunction', id: string, name: string, description?: string | null, runtime: string, timeoutSeconds: number, sourceHandlerPath: string, handlerName: string, toolInputSchema?: any | null, isTool: boolean, cronTriggerSettings?: any | null, databaseEventTriggerSettings?: any | null, httpRouteTriggerSettings?: any | null, applicationId?: string | null, createdAt: string, updatedAt: string }> }; +export type ApplicationFieldsFragment = { __typename?: 'Application', id: string, name: string, description?: string | null, version?: string | null, universalIdentifier: string, applicationRegistrationId?: string | null, canBeUninstalled: boolean, defaultRoleId?: string | null, settingsCustomTabFrontComponentId?: string | null, availablePackages: any, applicationRegistration?: { __typename?: 'ApplicationRegistrationSummary', id: string, latestAvailableVersion?: string | null, sourceType: ApplicationRegistrationSourceType } | null, applicationVariables: Array<{ __typename?: 'ApplicationVariable', id: string, key: string, value: string, description: string, isSecret: boolean }>, agents: Array<{ __typename?: 'Agent', id: string, name: string, label: string, description?: string | null, icon?: string | null, prompt: string, modelId: string, responseFormat?: any | null, roleId?: string | null, isCustom: boolean, modelConfiguration?: any | null, evaluationInputs: Array, applicationId?: string | null, createdAt: string, updatedAt: string }>, objects: Array<{ __typename?: 'Object', id: string, universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, color?: string | null, description?: string | null, icon?: string | null, isCustom: boolean, isRemote: boolean, isActive: boolean, isSystem: boolean, isUIReadOnly: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, applicationId: string, shortcut?: string | null, isLabelSyncedWithName: boolean, isSearchable: boolean, duplicateCriteria?: Array> | null, indexMetadataList: Array<{ __typename?: 'Index', id: string, createdAt: string, updatedAt: string, name: string, indexWhereClause?: string | null, indexType: IndexType, isUnique: boolean, isCustom?: boolean | null, indexFieldMetadataList: Array<{ __typename?: 'IndexField', id: string, fieldMetadataId: string, createdAt: string, updatedAt: string, order: number }> }>, fieldsList: Array<{ __typename?: 'Field', id: string, universalIdentifier: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isSystem?: boolean | null, isUIReadOnly?: boolean | null, isNullable?: boolean | null, isUnique?: boolean | null, createdAt: string, updatedAt: string, defaultValue?: any | null, options?: any | null, settings?: any | null, isLabelSyncedWithName?: boolean | null, morphId?: string | null, applicationId: string, relation?: { __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } } | null, morphRelations?: Array<{ __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } }> | null }> }>, logicFunctions: Array<{ __typename?: 'LogicFunction', id: string, name: string, description?: string | null, runtime: string, timeoutSeconds: number, sourceHandlerPath: string, handlerName: string, toolInputSchema?: any | null, isTool: boolean, cronTriggerSettings?: any | null, databaseEventTriggerSettings?: any | null, httpRouteTriggerSettings?: any | null, applicationId?: string | null, createdAt: string, updatedAt: string }> }; export type FindManyApplicationsQueryVariables = Exact<{ [key: string]: never; }>; @@ -5994,7 +6009,7 @@ export type FindOneApplicationQueryVariables = Exact<{ }>; -export type FindOneApplicationQuery = { __typename?: 'Query', findOneApplication: { __typename?: 'Application', id: string, name: string, description?: string | null, version?: string | null, universalIdentifier: string, applicationRegistrationId?: string | null, canBeUninstalled: boolean, defaultRoleId?: string | null, settingsCustomTabFrontComponentId?: string | null, availablePackages: any, applicationRegistration?: { __typename?: 'ApplicationRegistrationSummary', id: string, latestAvailableVersion?: string | null, sourceType: ApplicationRegistrationSourceType } | null, applicationVariables: Array<{ __typename?: 'ApplicationVariable', id: string, key: string, value: string, description: string, isSecret: boolean }>, agents: Array<{ __typename?: 'Agent', id: string, name: string, label: string, description?: string | null, icon?: string | null, prompt: string, modelId: string, responseFormat?: any | null, roleId?: string | null, isCustom: boolean, modelConfiguration?: any | null, evaluationInputs: Array, applicationId?: string | null, createdAt: string, updatedAt: string }>, objects: Array<{ __typename?: 'Object', id: string, universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, isCustom: boolean, isRemote: boolean, isActive: boolean, isSystem: boolean, isUIReadOnly: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, applicationId: string, shortcut?: string | null, isLabelSyncedWithName: boolean, isSearchable: boolean, duplicateCriteria?: Array> | null, indexMetadataList: Array<{ __typename?: 'Index', id: string, createdAt: string, updatedAt: string, name: string, indexWhereClause?: string | null, indexType: IndexType, isUnique: boolean, isCustom?: boolean | null, indexFieldMetadataList: Array<{ __typename?: 'IndexField', id: string, fieldMetadataId: string, createdAt: string, updatedAt: string, order: number }> }>, fieldsList: Array<{ __typename?: 'Field', id: string, universalIdentifier: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isSystem?: boolean | null, isUIReadOnly?: boolean | null, isNullable?: boolean | null, isUnique?: boolean | null, createdAt: string, updatedAt: string, defaultValue?: any | null, options?: any | null, settings?: any | null, isLabelSyncedWithName?: boolean | null, morphId?: string | null, applicationId: string, relation?: { __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } } | null, morphRelations?: Array<{ __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } }> | null }> }>, logicFunctions: Array<{ __typename?: 'LogicFunction', id: string, name: string, description?: string | null, runtime: string, timeoutSeconds: number, sourceHandlerPath: string, handlerName: string, toolInputSchema?: any | null, isTool: boolean, cronTriggerSettings?: any | null, databaseEventTriggerSettings?: any | null, httpRouteTriggerSettings?: any | null, applicationId?: string | null, createdAt: string, updatedAt: string }> } }; +export type FindOneApplicationQuery = { __typename?: 'Query', findOneApplication: { __typename?: 'Application', id: string, name: string, description?: string | null, version?: string | null, universalIdentifier: string, applicationRegistrationId?: string | null, canBeUninstalled: boolean, defaultRoleId?: string | null, settingsCustomTabFrontComponentId?: string | null, availablePackages: any, applicationRegistration?: { __typename?: 'ApplicationRegistrationSummary', id: string, latestAvailableVersion?: string | null, sourceType: ApplicationRegistrationSourceType } | null, applicationVariables: Array<{ __typename?: 'ApplicationVariable', id: string, key: string, value: string, description: string, isSecret: boolean }>, agents: Array<{ __typename?: 'Agent', id: string, name: string, label: string, description?: string | null, icon?: string | null, prompt: string, modelId: string, responseFormat?: any | null, roleId?: string | null, isCustom: boolean, modelConfiguration?: any | null, evaluationInputs: Array, applicationId?: string | null, createdAt: string, updatedAt: string }>, objects: Array<{ __typename?: 'Object', id: string, universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, color?: string | null, description?: string | null, icon?: string | null, isCustom: boolean, isRemote: boolean, isActive: boolean, isSystem: boolean, isUIReadOnly: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, applicationId: string, shortcut?: string | null, isLabelSyncedWithName: boolean, isSearchable: boolean, duplicateCriteria?: Array> | null, indexMetadataList: Array<{ __typename?: 'Index', id: string, createdAt: string, updatedAt: string, name: string, indexWhereClause?: string | null, indexType: IndexType, isUnique: boolean, isCustom?: boolean | null, indexFieldMetadataList: Array<{ __typename?: 'IndexField', id: string, fieldMetadataId: string, createdAt: string, updatedAt: string, order: number }> }>, fieldsList: Array<{ __typename?: 'Field', id: string, universalIdentifier: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isSystem?: boolean | null, isUIReadOnly?: boolean | null, isNullable?: boolean | null, isUnique?: boolean | null, createdAt: string, updatedAt: string, defaultValue?: any | null, options?: any | null, settings?: any | null, isLabelSyncedWithName?: boolean | null, morphId?: string | null, applicationId: string, relation?: { __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } } | null, morphRelations?: Array<{ __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } }> | null }> }>, logicFunctions: Array<{ __typename?: 'LogicFunction', id: string, name: string, description?: string | null, runtime: string, timeoutSeconds: number, sourceHandlerPath: string, handlerName: string, toolInputSchema?: any | null, isTool: boolean, cronTriggerSettings?: any | null, databaseEventTriggerSettings?: any | null, httpRouteTriggerSettings?: any | null, applicationId?: string | null, createdAt: string, updatedAt: string }> } }; export type FindOneApplicationByUniversalIdentifierQueryVariables = Exact<{ universalIdentifier: Scalars['UUID']; @@ -6434,51 +6449,51 @@ export type FindOneMarketplaceAppQueryVariables = Exact<{ export type FindOneMarketplaceAppQuery = { __typename?: 'Query', findOneMarketplaceApp: { __typename?: 'MarketplaceApp', id: string, name: string, description: string, icon: string, version: string, author: string, category: string, logo?: string | null, screenshots: Array, aboutDescription: string, providers: Array, websiteUrl?: string | null, termsUrl?: string | null, sourcePackage?: string | null, isFeatured: boolean, objects: Array<{ __typename?: 'MarketplaceAppObject', universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, fields: Array<{ __typename?: 'MarketplaceAppField', universalIdentifier?: string | null, name: string, type: string, label: string, description?: string | null, icon?: string | null }> }>, fields: Array<{ __typename?: 'MarketplaceAppField', name: string, type: string, label: string, description?: string | null, icon?: string | null, objectUniversalIdentifier?: string | null }>, logicFunctions: Array<{ __typename?: 'MarketplaceAppLogicFunction', name: string, description?: string | null, timeoutSeconds?: number | null }>, frontComponents: Array<{ __typename?: 'MarketplaceAppFrontComponent', name: string, description?: string | null }>, defaultRole?: { __typename?: 'MarketplaceAppDefaultRole', id: string, label: string, description?: string | null, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean, canUpdateAllSettings: boolean, canAccessAllTools: boolean, permissionFlags: Array, objectPermissions: Array<{ __typename?: 'MarketplaceAppRoleObjectPermission', objectUniversalIdentifier: string, canReadObjectRecords?: boolean | null, canUpdateObjectRecords?: boolean | null, canSoftDeleteObjectRecords?: boolean | null, canDestroyObjectRecords?: boolean | null }>, fieldPermissions: Array<{ __typename?: 'MarketplaceAppRoleFieldPermission', objectUniversalIdentifier: string, fieldUniversalIdentifier: string, canReadFieldValue?: boolean | null, canUpdateFieldValue?: boolean | null }> } | null } }; -export type NavigationMenuItemFieldsFragment = { __typename?: 'NavigationMenuItem', id: string, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string }; +export type NavigationMenuItemFieldsFragment = { __typename?: 'NavigationMenuItem', id: string, type: NavigationMenuItemType, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string }; -export type NavigationMenuItemQueryFieldsFragment = { __typename?: 'NavigationMenuItem', id: string, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string, targetRecordIdentifier?: { __typename?: 'RecordIdentifier', id: string, labelIdentifier: string, imageIdentifier?: string | null } | null }; +export type NavigationMenuItemQueryFieldsFragment = { __typename?: 'NavigationMenuItem', id: string, type: NavigationMenuItemType, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string, targetRecordIdentifier?: { __typename?: 'RecordIdentifier', id: string, labelIdentifier: string, imageIdentifier?: string | null } | null }; export type CreateNavigationMenuItemMutationVariables = Exact<{ input: CreateNavigationMenuItemInput; }>; -export type CreateNavigationMenuItemMutation = { __typename?: 'Mutation', createNavigationMenuItem: { __typename?: 'NavigationMenuItem', id: string, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string } }; +export type CreateNavigationMenuItemMutation = { __typename?: 'Mutation', createNavigationMenuItem: { __typename?: 'NavigationMenuItem', id: string, type: NavigationMenuItemType, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string } }; export type DeleteNavigationMenuItemMutationVariables = Exact<{ id: Scalars['UUID']; }>; -export type DeleteNavigationMenuItemMutation = { __typename?: 'Mutation', deleteNavigationMenuItem: { __typename?: 'NavigationMenuItem', id: string, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string } }; +export type DeleteNavigationMenuItemMutation = { __typename?: 'Mutation', deleteNavigationMenuItem: { __typename?: 'NavigationMenuItem', id: string, type: NavigationMenuItemType, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string } }; export type UpdateNavigationMenuItemMutationVariables = Exact<{ input: UpdateOneNavigationMenuItemInput; }>; -export type UpdateNavigationMenuItemMutation = { __typename?: 'Mutation', updateNavigationMenuItem: { __typename?: 'NavigationMenuItem', id: string, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string } }; +export type UpdateNavigationMenuItemMutation = { __typename?: 'Mutation', updateNavigationMenuItem: { __typename?: 'NavigationMenuItem', id: string, type: NavigationMenuItemType, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string } }; export type FindManyNavigationMenuItemsQueryVariables = Exact<{ [key: string]: never; }>; -export type FindManyNavigationMenuItemsQuery = { __typename?: 'Query', navigationMenuItems: Array<{ __typename?: 'NavigationMenuItem', id: string, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string, targetRecordIdentifier?: { __typename?: 'RecordIdentifier', id: string, labelIdentifier: string, imageIdentifier?: string | null } | null }> }; +export type FindManyNavigationMenuItemsQuery = { __typename?: 'Query', navigationMenuItems: Array<{ __typename?: 'NavigationMenuItem', id: string, type: NavigationMenuItemType, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string, targetRecordIdentifier?: { __typename?: 'RecordIdentifier', id: string, labelIdentifier: string, imageIdentifier?: string | null } | null }> }; export type FindOneNavigationMenuItemQueryVariables = Exact<{ id: Scalars['UUID']; }>; -export type FindOneNavigationMenuItemQuery = { __typename?: 'Query', navigationMenuItem?: { __typename?: 'NavigationMenuItem', id: string, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string, targetRecordIdentifier?: { __typename?: 'RecordIdentifier', id: string, labelIdentifier: string, imageIdentifier?: string | null } | null } | null }; +export type FindOneNavigationMenuItemQuery = { __typename?: 'Query', navigationMenuItem?: { __typename?: 'NavigationMenuItem', id: string, type: NavigationMenuItemType, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string, targetRecordIdentifier?: { __typename?: 'RecordIdentifier', id: string, labelIdentifier: string, imageIdentifier?: string | null } | null } | null }; -export type ObjectMetadataFieldsFragment = { __typename?: 'Object', id: string, universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, isCustom: boolean, isRemote: boolean, isActive: boolean, isSystem: boolean, isUIReadOnly: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, applicationId: string, shortcut?: string | null, isLabelSyncedWithName: boolean, isSearchable: boolean, duplicateCriteria?: Array> | null, indexMetadataList: Array<{ __typename?: 'Index', id: string, createdAt: string, updatedAt: string, name: string, indexWhereClause?: string | null, indexType: IndexType, isUnique: boolean, isCustom?: boolean | null, indexFieldMetadataList: Array<{ __typename?: 'IndexField', id: string, fieldMetadataId: string, createdAt: string, updatedAt: string, order: number }> }>, fieldsList: Array<{ __typename?: 'Field', id: string, universalIdentifier: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isSystem?: boolean | null, isUIReadOnly?: boolean | null, isNullable?: boolean | null, isUnique?: boolean | null, createdAt: string, updatedAt: string, defaultValue?: any | null, options?: any | null, settings?: any | null, isLabelSyncedWithName?: boolean | null, morphId?: string | null, applicationId: string, relation?: { __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } } | null, morphRelations?: Array<{ __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } }> | null }> }; +export type ObjectMetadataFieldsFragment = { __typename?: 'Object', id: string, universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, color?: string | null, description?: string | null, icon?: string | null, isCustom: boolean, isRemote: boolean, isActive: boolean, isSystem: boolean, isUIReadOnly: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, applicationId: string, shortcut?: string | null, isLabelSyncedWithName: boolean, isSearchable: boolean, duplicateCriteria?: Array> | null, indexMetadataList: Array<{ __typename?: 'Index', id: string, createdAt: string, updatedAt: string, name: string, indexWhereClause?: string | null, indexType: IndexType, isUnique: boolean, isCustom?: boolean | null, indexFieldMetadataList: Array<{ __typename?: 'IndexField', id: string, fieldMetadataId: string, createdAt: string, updatedAt: string, order: number }> }>, fieldsList: Array<{ __typename?: 'Field', id: string, universalIdentifier: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isSystem?: boolean | null, isUIReadOnly?: boolean | null, isNullable?: boolean | null, isUnique?: boolean | null, createdAt: string, updatedAt: string, defaultValue?: any | null, options?: any | null, settings?: any | null, isLabelSyncedWithName?: boolean | null, morphId?: string | null, applicationId: string, relation?: { __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } } | null, morphRelations?: Array<{ __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } }> | null }> }; export type CreateOneObjectMetadataItemMutationVariables = Exact<{ input: CreateOneObjectInput; }>; -export type CreateOneObjectMetadataItemMutation = { __typename?: 'Mutation', createOneObject: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, isCustom: boolean, isActive: boolean, isSearchable: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, isLabelSyncedWithName: boolean } }; +export type CreateOneObjectMetadataItemMutation = { __typename?: 'Mutation', createOneObject: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, color?: string | null, isCustom: boolean, isActive: boolean, isSearchable: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, isLabelSyncedWithName: boolean } }; export type CreateOneFieldMetadataItemMutationVariables = Exact<{ input: CreateOneFieldMetadataInput; @@ -6501,14 +6516,14 @@ export type UpdateOneObjectMetadataItemMutationVariables = Exact<{ }>; -export type UpdateOneObjectMetadataItemMutation = { __typename?: 'Mutation', updateOneObject: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, isCustom: boolean, isActive: boolean, isSearchable: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, isLabelSyncedWithName: boolean } }; +export type UpdateOneObjectMetadataItemMutation = { __typename?: 'Mutation', updateOneObject: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, color?: string | null, isCustom: boolean, isActive: boolean, isSearchable: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, isLabelSyncedWithName: boolean } }; export type DeleteOneObjectMetadataItemMutationVariables = Exact<{ idToDelete: Scalars['UUID']; }>; -export type DeleteOneObjectMetadataItemMutation = { __typename?: 'Mutation', deleteOneObject: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, isCustom: boolean, isActive: boolean, isSearchable: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, isLabelSyncedWithName: boolean } }; +export type DeleteOneObjectMetadataItemMutation = { __typename?: 'Mutation', deleteOneObject: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, color?: string | null, isCustom: boolean, isActive: boolean, isSearchable: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, isLabelSyncedWithName: boolean } }; export type DeleteOneFieldMetadataItemMutationVariables = Exact<{ idToDelete: Scalars['UUID']; @@ -6520,7 +6535,7 @@ export type DeleteOneFieldMetadataItemMutation = { __typename?: 'Mutation', dele export type ObjectMetadataItemsQueryVariables = Exact<{ [key: string]: never; }>; -export type ObjectMetadataItemsQuery = { __typename?: 'Query', objects: { __typename?: 'ObjectConnection', edges: Array<{ __typename?: 'ObjectEdge', node: { __typename?: 'Object', id: string, universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, isCustom: boolean, isRemote: boolean, isActive: boolean, isSystem: boolean, isUIReadOnly: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, applicationId: string, shortcut?: string | null, isLabelSyncedWithName: boolean, isSearchable: boolean, duplicateCriteria?: Array> | null, indexMetadataList: Array<{ __typename?: 'Index', id: string, createdAt: string, updatedAt: string, name: string, indexWhereClause?: string | null, indexType: IndexType, isUnique: boolean, isCustom?: boolean | null, indexFieldMetadataList: Array<{ __typename?: 'IndexField', id: string, fieldMetadataId: string, createdAt: string, updatedAt: string, order: number }> }>, fieldsList: Array<{ __typename?: 'Field', id: string, universalIdentifier: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isSystem?: boolean | null, isUIReadOnly?: boolean | null, isNullable?: boolean | null, isUnique?: boolean | null, createdAt: string, updatedAt: string, defaultValue?: any | null, options?: any | null, settings?: any | null, isLabelSyncedWithName?: boolean | null, morphId?: string | null, applicationId: string, relation?: { __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } } | null, morphRelations?: Array<{ __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } }> | null }> } }>, pageInfo: { __typename?: 'PageInfo', hasNextPage?: boolean | null, hasPreviousPage?: boolean | null, startCursor?: any | null, endCursor?: any | null } } }; +export type ObjectMetadataItemsQuery = { __typename?: 'Query', objects: { __typename?: 'ObjectConnection', edges: Array<{ __typename?: 'ObjectEdge', node: { __typename?: 'Object', id: string, universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, color?: string | null, description?: string | null, icon?: string | null, isCustom: boolean, isRemote: boolean, isActive: boolean, isSystem: boolean, isUIReadOnly: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, applicationId: string, shortcut?: string | null, isLabelSyncedWithName: boolean, isSearchable: boolean, duplicateCriteria?: Array> | null, indexMetadataList: Array<{ __typename?: 'Index', id: string, createdAt: string, updatedAt: string, name: string, indexWhereClause?: string | null, indexType: IndexType, isUnique: boolean, isCustom?: boolean | null, indexFieldMetadataList: Array<{ __typename?: 'IndexField', id: string, fieldMetadataId: string, createdAt: string, updatedAt: string, order: number }> }>, fieldsList: Array<{ __typename?: 'Field', id: string, universalIdentifier: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isSystem?: boolean | null, isUIReadOnly?: boolean | null, isNullable?: boolean | null, isUnique?: boolean | null, createdAt: string, updatedAt: string, defaultValue?: any | null, options?: any | null, settings?: any | null, isLabelSyncedWithName?: boolean | null, morphId?: string | null, applicationId: string, relation?: { __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } } | null, morphRelations?: Array<{ __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } }> | null }> } }>, pageInfo: { __typename?: 'PageInfo', hasNextPage?: boolean | null, hasPreviousPage?: boolean | null, startCursor?: any | null, endCursor?: any | null } } }; export type ObjectRecordCountsQueryVariables = Exact<{ [key: string]: never; }>; @@ -7561,9 +7576,9 @@ export type GetWorkspaceFromInviteHashQuery = { __typename?: 'Query', findWorksp export const SkillFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SkillFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Skill"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"content"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; export const AgentFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AgentFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Agent"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"prompt"}},{"kind":"Field","name":{"kind":"Name","value":"modelId"}},{"kind":"Field","name":{"kind":"Name","value":"responseFormat"}},{"kind":"Field","name":{"kind":"Name","value":"roleId"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"modelConfiguration"}},{"kind":"Field","name":{"kind":"Name","value":"evaluationInputs"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; -export const ObjectMetadataFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const ObjectMetadataFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const LogicFunctionFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LogicFunctionFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LogicFunction"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"runtime"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}},{"kind":"Field","name":{"kind":"Name","value":"sourceHandlerPath"}},{"kind":"Field","name":{"kind":"Name","value":"handlerName"}},{"kind":"Field","name":{"kind":"Name","value":"toolInputSchema"}},{"kind":"Field","name":{"kind":"Name","value":"isTool"}},{"kind":"Field","name":{"kind":"Name","value":"cronTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"databaseEventTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"httpRouteTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; -export const ApplicationFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Application"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistrationId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canBeUninstalled"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRoleId"}},{"kind":"Field","name":{"kind":"Name","value":"settingsCustomTabFrontComponentId"}},{"kind":"Field","name":{"kind":"Name","value":"availablePackages"}},{"kind":"Field","name":{"kind":"Name","value":"applicationVariables"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"isSecret"}}]}},{"kind":"Field","name":{"kind":"Name","value":"agents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AgentFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ObjectMetadataFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LogicFunctionFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AgentFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Agent"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"prompt"}},{"kind":"Field","name":{"kind":"Name","value":"modelId"}},{"kind":"Field","name":{"kind":"Name","value":"responseFormat"}},{"kind":"Field","name":{"kind":"Name","value":"roleId"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"modelConfiguration"}},{"kind":"Field","name":{"kind":"Name","value":"evaluationInputs"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LogicFunctionFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LogicFunction"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"runtime"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}},{"kind":"Field","name":{"kind":"Name","value":"sourceHandlerPath"}},{"kind":"Field","name":{"kind":"Name","value":"handlerName"}},{"kind":"Field","name":{"kind":"Name","value":"toolInputSchema"}},{"kind":"Field","name":{"kind":"Name","value":"isTool"}},{"kind":"Field","name":{"kind":"Name","value":"cronTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"databaseEventTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"httpRouteTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const ApplicationFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Application"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistrationId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canBeUninstalled"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRoleId"}},{"kind":"Field","name":{"kind":"Name","value":"settingsCustomTabFrontComponentId"}},{"kind":"Field","name":{"kind":"Name","value":"availablePackages"}},{"kind":"Field","name":{"kind":"Name","value":"applicationVariables"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"isSecret"}}]}},{"kind":"Field","name":{"kind":"Name","value":"agents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AgentFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ObjectMetadataFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LogicFunctionFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AgentFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Agent"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"prompt"}},{"kind":"Field","name":{"kind":"Name","value":"modelId"}},{"kind":"Field","name":{"kind":"Name","value":"responseFormat"}},{"kind":"Field","name":{"kind":"Name","value":"roleId"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"modelConfiguration"}},{"kind":"Field","name":{"kind":"Name","value":"evaluationInputs"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LogicFunctionFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LogicFunction"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"runtime"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}},{"kind":"Field","name":{"kind":"Name","value":"sourceHandlerPath"}},{"kind":"Field","name":{"kind":"Name","value":"handlerName"}},{"kind":"Field","name":{"kind":"Name","value":"toolInputSchema"}},{"kind":"Field","name":{"kind":"Name","value":"isTool"}},{"kind":"Field","name":{"kind":"Name","value":"cronTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"databaseEventTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"httpRouteTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; export const AuthTokenFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AuthTokenFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AuthToken"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"token"}},{"kind":"Field","name":{"kind":"Name","value":"expiresAt"}}]}}]} as unknown as DocumentNode; export const AuthTokenPairFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AuthTokenPairFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AuthTokenPair"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"accessOrWorkspaceAgnosticToken"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AuthTokenFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"refreshToken"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AuthTokenFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AuthTokenFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AuthToken"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"token"}},{"kind":"Field","name":{"kind":"Name","value":"expiresAt"}}]}}]} as unknown as DocumentNode; export const AvailableSsoIdentityProvidersFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AvailableSSOIdentityProvidersFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FindAvailableSSOIDP"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"issuer"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"displayName"}}]}}]}}]} as unknown as DocumentNode; @@ -7574,8 +7589,8 @@ export const PageLayoutWidgetFragmentFragmentDoc = {"kind":"Document","definitio export const PageLayoutTabFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutTabFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutTab"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"isOverridden"}},{"kind":"Field","name":{"kind":"Name","value":"widgets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PageLayoutWidgetFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageLayoutId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutWidgetFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidget"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"objectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isOverridden"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"deletedAt"}},{"kind":"Field","name":{"kind":"Name","value":"conditionalDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"gridPosition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}}]}},{"kind":"Field","name":{"kind":"Name","value":"position"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetGridPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetVerticalListPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"index"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetCanvasPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"configuration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BarChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"groupMode"}},{"kind":"Field","name":{"kind":"Name","value":"layout"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LineChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"isStacked"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PieChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"groupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"groupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"dateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"orderBy"}},{"kind":"Field","name":{"kind":"Name","value":"manualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"showCenterMetric"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"hideEmptyCategory"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AggregateChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"format"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"prefix"}},{"kind":"Field","name":{"kind":"Name","value":"suffix"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}},{"kind":"Field","name":{"kind":"Name","value":"ratioAggregateConfig"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"optionValue"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GaugeChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"IframeConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StandaloneRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blocknote"}},{"kind":"Field","name":{"kind":"Name","value":"markdown"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CalendarConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"newFieldDefaultVisibility"}},{"kind":"Field","name":{"kind":"Name","value":"shouldAllowUserToSeeHiddenFields"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FilesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NotesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TasksConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TimelineConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ViewConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowRunConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowVersionConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FrontComponentConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"frontComponentId"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageLayoutTabId"}}]}}]} as unknown as DocumentNode; export const PageLayoutFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayout"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"objectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"defaultTabToFocusOnMobileAndSidePanelId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"tabs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PageLayoutTabFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutWidgetFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidget"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"objectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isOverridden"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"deletedAt"}},{"kind":"Field","name":{"kind":"Name","value":"conditionalDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"gridPosition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}}]}},{"kind":"Field","name":{"kind":"Name","value":"position"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetGridPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetVerticalListPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"index"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetCanvasPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"configuration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BarChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"groupMode"}},{"kind":"Field","name":{"kind":"Name","value":"layout"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LineChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"isStacked"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PieChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"groupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"groupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"dateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"orderBy"}},{"kind":"Field","name":{"kind":"Name","value":"manualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"showCenterMetric"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"hideEmptyCategory"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AggregateChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"format"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"prefix"}},{"kind":"Field","name":{"kind":"Name","value":"suffix"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}},{"kind":"Field","name":{"kind":"Name","value":"ratioAggregateConfig"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"optionValue"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GaugeChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"IframeConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StandaloneRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blocknote"}},{"kind":"Field","name":{"kind":"Name","value":"markdown"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CalendarConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"newFieldDefaultVisibility"}},{"kind":"Field","name":{"kind":"Name","value":"shouldAllowUserToSeeHiddenFields"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FilesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NotesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TasksConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TimelineConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ViewConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowRunConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowVersionConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FrontComponentConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"frontComponentId"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageLayoutTabId"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutTabFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutTab"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"isOverridden"}},{"kind":"Field","name":{"kind":"Name","value":"widgets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PageLayoutWidgetFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageLayoutId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; export const MarketplaceAppFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceApp"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"category"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"screenshots"}},{"kind":"Field","name":{"kind":"Name","value":"aboutDescription"}},{"kind":"Field","name":{"kind":"Name","value":"providers"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}}]}},{"kind":"Field","name":{"kind":"Name","value":"frontComponents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRole"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"canReadAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllSettings"}},{"kind":"Field","name":{"kind":"Name","value":"canAccessAllTools"}},{"kind":"Field","name":{"kind":"Name","value":"objectPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyObjectRecords"}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"fieldUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadFieldValue"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateFieldValue"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissionFlags"}}]}}]}}]} as unknown as DocumentNode; -export const NavigationMenuItemFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; -export const NavigationMenuItemQueryFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const NavigationMenuItemFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const NavigationMenuItemQueryFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; export const ApplicationRegistrationFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"logoUrl"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; export const ApiKeyFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApiKeyFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApiKey"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"expiresAt"}},{"kind":"Field","name":{"kind":"Name","value":"revokedAt"}},{"kind":"Field","name":{"kind":"Name","value":"role"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}}]}}]}}]} as unknown as DocumentNode; export const WebhookFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"WebhookFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Webhook"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"targetUrl"}},{"kind":"Field","name":{"kind":"Name","value":"operations"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"secret"}}]}}]} as unknown as DocumentNode; @@ -7630,7 +7645,7 @@ export const GetToolInputSchemaDocument = {"kind":"Document","definitions":[{"ki export const TrackAnalyticsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"TrackAnalytics"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AnalyticsType"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"event"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"name"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"properties"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"trackAnalytics"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"type"},"value":{"kind":"Variable","name":{"kind":"Name","value":"type"}}},{"kind":"Argument","name":{"kind":"Name","value":"event"},"value":{"kind":"Variable","name":{"kind":"Name","value":"event"}}},{"kind":"Argument","name":{"kind":"Name","value":"name"},"value":{"kind":"Variable","name":{"kind":"Name","value":"name"}}},{"kind":"Argument","name":{"kind":"Name","value":"properties"},"value":{"kind":"Variable","name":{"kind":"Name","value":"properties"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}}]}}]}}]} as unknown as DocumentNode; export const UpdateOneApplicationVariableDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateOneApplicationVariable"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"key"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"value"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"applicationId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateOneApplicationVariable"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"key"},"value":{"kind":"Variable","name":{"kind":"Name","value":"key"}}},{"kind":"Argument","name":{"kind":"Name","value":"value"},"value":{"kind":"Variable","name":{"kind":"Name","value":"value"}}},{"kind":"Argument","name":{"kind":"Name","value":"applicationId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"applicationId"}}}]}]}}]} as unknown as DocumentNode; export const FindManyApplicationsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindManyApplications"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findManyApplications"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistrationId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}}]}}]}}]}}]} as unknown as DocumentNode; -export const FindOneApplicationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneApplication"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneApplication"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AgentFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Agent"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"prompt"}},{"kind":"Field","name":{"kind":"Name","value":"modelId"}},{"kind":"Field","name":{"kind":"Name","value":"responseFormat"}},{"kind":"Field","name":{"kind":"Name","value":"roleId"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"modelConfiguration"}},{"kind":"Field","name":{"kind":"Name","value":"evaluationInputs"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LogicFunctionFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LogicFunction"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"runtime"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}},{"kind":"Field","name":{"kind":"Name","value":"sourceHandlerPath"}},{"kind":"Field","name":{"kind":"Name","value":"handlerName"}},{"kind":"Field","name":{"kind":"Name","value":"toolInputSchema"}},{"kind":"Field","name":{"kind":"Name","value":"isTool"}},{"kind":"Field","name":{"kind":"Name","value":"cronTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"databaseEventTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"httpRouteTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Application"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistrationId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canBeUninstalled"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRoleId"}},{"kind":"Field","name":{"kind":"Name","value":"settingsCustomTabFrontComponentId"}},{"kind":"Field","name":{"kind":"Name","value":"availablePackages"}},{"kind":"Field","name":{"kind":"Name","value":"applicationVariables"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"isSecret"}}]}},{"kind":"Field","name":{"kind":"Name","value":"agents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AgentFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ObjectMetadataFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LogicFunctionFields"}}]}}]}}]} as unknown as DocumentNode; +export const FindOneApplicationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneApplication"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneApplication"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AgentFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Agent"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"prompt"}},{"kind":"Field","name":{"kind":"Name","value":"modelId"}},{"kind":"Field","name":{"kind":"Name","value":"responseFormat"}},{"kind":"Field","name":{"kind":"Name","value":"roleId"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"modelConfiguration"}},{"kind":"Field","name":{"kind":"Name","value":"evaluationInputs"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LogicFunctionFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LogicFunction"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"runtime"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}},{"kind":"Field","name":{"kind":"Name","value":"sourceHandlerPath"}},{"kind":"Field","name":{"kind":"Name","value":"handlerName"}},{"kind":"Field","name":{"kind":"Name","value":"toolInputSchema"}},{"kind":"Field","name":{"kind":"Name","value":"isTool"}},{"kind":"Field","name":{"kind":"Name","value":"cronTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"databaseEventTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"httpRouteTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Application"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistrationId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canBeUninstalled"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRoleId"}},{"kind":"Field","name":{"kind":"Name","value":"settingsCustomTabFrontComponentId"}},{"kind":"Field","name":{"kind":"Name","value":"availablePackages"}},{"kind":"Field","name":{"kind":"Name","value":"applicationVariables"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"isSecret"}}]}},{"kind":"Field","name":{"kind":"Name","value":"agents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AgentFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ObjectMetadataFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LogicFunctionFields"}}]}}]}}]} as unknown as DocumentNode; export const FindOneApplicationByUniversalIdentifierDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneApplicationByUniversalIdentifier"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneApplication"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"universalIdentifier"},"value":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]} as unknown as DocumentNode; export const AuthorizeAppDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"authorizeApp"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"clientId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"codeChallenge"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"redirectUrl"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"state"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorizeApp"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"clientId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"clientId"}}},{"kind":"Argument","name":{"kind":"Name","value":"codeChallenge"},"value":{"kind":"Variable","name":{"kind":"Name","value":"codeChallenge"}}},{"kind":"Argument","name":{"kind":"Name","value":"redirectUrl"},"value":{"kind":"Variable","name":{"kind":"Name","value":"redirectUrl"}}},{"kind":"Argument","name":{"kind":"Name","value":"state"},"value":{"kind":"Variable","name":{"kind":"Name","value":"state"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"redirectUrl"}}]}}]}}]} as unknown as DocumentNode; export const EmailPasswordResetLinkDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"EmailPasswordResetLink"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"email"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspaceId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailPasswordResetLink"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"email"},"value":{"kind":"Variable","name":{"kind":"Name","value":"email"}}},{"kind":"Argument","name":{"kind":"Name","value":"workspaceId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspaceId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}}]}}]}}]} as unknown as DocumentNode; @@ -7688,18 +7703,18 @@ export const InstallMarketplaceAppDocument = {"kind":"Document","definitions":[{ export const UpgradeApplicationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpgradeApplication"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"appRegistrationId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"targetVersion"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"upgradeApplication"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"appRegistrationId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"appRegistrationId"}}},{"kind":"Argument","name":{"kind":"Name","value":"targetVersion"},"value":{"kind":"Variable","name":{"kind":"Name","value":"targetVersion"}}}]}]}}]} as unknown as DocumentNode; export const FindManyMarketplaceAppsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindManyMarketplaceApps"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findManyMarketplaceApps"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MarketplaceAppFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceApp"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"category"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"screenshots"}},{"kind":"Field","name":{"kind":"Name","value":"aboutDescription"}},{"kind":"Field","name":{"kind":"Name","value":"providers"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}}]}},{"kind":"Field","name":{"kind":"Name","value":"frontComponents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRole"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"canReadAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllSettings"}},{"kind":"Field","name":{"kind":"Name","value":"canAccessAllTools"}},{"kind":"Field","name":{"kind":"Name","value":"objectPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyObjectRecords"}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"fieldUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadFieldValue"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateFieldValue"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissionFlags"}}]}}]}}]} as unknown as DocumentNode; export const FindOneMarketplaceAppDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneMarketplaceApp"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneMarketplaceApp"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"universalIdentifier"},"value":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MarketplaceAppFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceApp"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"category"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"screenshots"}},{"kind":"Field","name":{"kind":"Name","value":"aboutDescription"}},{"kind":"Field","name":{"kind":"Name","value":"providers"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}}]}},{"kind":"Field","name":{"kind":"Name","value":"frontComponents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRole"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"canReadAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllSettings"}},{"kind":"Field","name":{"kind":"Name","value":"canAccessAllTools"}},{"kind":"Field","name":{"kind":"Name","value":"objectPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyObjectRecords"}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"fieldUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadFieldValue"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateFieldValue"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissionFlags"}}]}}]}}]} as unknown as DocumentNode; -export const CreateNavigationMenuItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateNavigationMenuItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateNavigationMenuItemInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createNavigationMenuItem"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; -export const DeleteNavigationMenuItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteNavigationMenuItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteNavigationMenuItem"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; -export const UpdateNavigationMenuItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateNavigationMenuItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateOneNavigationMenuItemInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateNavigationMenuItem"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; -export const FindManyNavigationMenuItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindManyNavigationMenuItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"navigationMenuItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}}]} as unknown as DocumentNode; -export const FindOneNavigationMenuItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneNavigationMenuItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"navigationMenuItem"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}}]} as unknown as DocumentNode; -export const CreateOneObjectMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateOneObjectMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateOneObjectInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createOneObject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}}]}}]}}]} as unknown as DocumentNode; +export const CreateNavigationMenuItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateNavigationMenuItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateNavigationMenuItemInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createNavigationMenuItem"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const DeleteNavigationMenuItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteNavigationMenuItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteNavigationMenuItem"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const UpdateNavigationMenuItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateNavigationMenuItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateOneNavigationMenuItemInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateNavigationMenuItem"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const FindManyNavigationMenuItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindManyNavigationMenuItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"navigationMenuItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}}]} as unknown as DocumentNode; +export const FindOneNavigationMenuItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneNavigationMenuItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"navigationMenuItem"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}}]} as unknown as DocumentNode; +export const CreateOneObjectMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateOneObjectMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateOneObjectInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createOneObject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}}]}}]}}]} as unknown as DocumentNode; export const CreateOneFieldMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateOneFieldMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateOneFieldMetadataInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createOneField"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"object"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode; export const UpdateOneFieldMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateOneFieldMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateFieldInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateOneField"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"update"},"value":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"object"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode; -export const UpdateOneObjectMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateOneObjectMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateObjectPayload"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateOneObject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"update"},"value":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}}]}}]}}]} as unknown as DocumentNode; -export const DeleteOneObjectMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteOneObjectMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteOneObject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}}]}}]}}]} as unknown as DocumentNode; +export const UpdateOneObjectMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateOneObjectMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateObjectPayload"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateOneObject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"update"},"value":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}}]}}]}}]} as unknown as DocumentNode; +export const DeleteOneObjectMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteOneObjectMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteOneObject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}}]}}]}}]} as unknown as DocumentNode; export const DeleteOneFieldMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteOneFieldMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteOneField"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"object"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode; -export const ObjectMetadataItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ObjectMetadataItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"paging"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"first"},"value":{"kind":"IntValue","value":"1000"}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ObjectMetadataFields"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}},{"kind":"Field","name":{"kind":"Name","value":"startCursor"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const ObjectMetadataItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ObjectMetadataItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"paging"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"first"},"value":{"kind":"IntValue","value":"1000"}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ObjectMetadataFields"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}},{"kind":"Field","name":{"kind":"Name","value":"startCursor"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const ObjectRecordCountsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ObjectRecordCounts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectRecordCounts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectNamePlural"}},{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}}]}}]} as unknown as DocumentNode; export const SkipBookOnboardingStepDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"SkipBookOnboardingStep"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"skipBookOnboardingStep"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}}]}}]}}]} as unknown as DocumentNode; export const SkipSyncEmailOnboardingStepDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"SkipSyncEmailOnboardingStep"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"skipSyncEmailOnboardingStep"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}}]}}]}}]} as unknown as DocumentNode; diff --git a/packages/twenty-front/src/modules/navigation-menu-item/components/AddToNavigationDragHandle.tsx b/packages/twenty-front/src/modules/navigation-menu-item/components/AddToNavigationDragHandle.tsx index 5f23d979c3e..d45d9405398 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/components/AddToNavigationDragHandle.tsx +++ b/packages/twenty-front/src/modules/navigation-menu-item/components/AddToNavigationDragHandle.tsx @@ -1,15 +1,13 @@ import { styled } from '@linaria/react'; -import { isNonEmptyString } from '@sniptt/guards'; import { useContext, type ReactNode } from 'react'; import { isDefined } from 'twenty-shared/utils'; import { IconGripVertical, type IconComponent } from 'twenty-ui/display'; import { ThemeContext, themeCssVariables } from 'twenty-ui/theme-constants'; import { NavigationMenuItemStyleIcon } from '@/navigation-menu-item/components/NavigationMenuItemStyleIcon'; -import { DEFAULT_NAVIGATION_MENU_ITEM_COLOR_FOLDER } from '@/navigation-menu-item/constants/NavigationMenuItemDefaultColorFolder'; -import { DEFAULT_NAVIGATION_MENU_ITEM_COLOR_LINK } from '@/navigation-menu-item/constants/NavigationMenuItemDefaultColorLink'; import { NavigationMenuItemType } from '@/navigation-menu-item/constants/NavigationMenuItemType'; import type { AddToNavigationDragPayload } from '@/navigation-menu-item/types/add-to-navigation-drag-payload'; +import { getEffectiveNavigationMenuItemColor } from '@/navigation-menu-item/utils/getEffectiveNavigationMenuItemColor'; const StyledIconSlot = styled.div<{ $hasFixedSize: boolean; @@ -83,14 +81,14 @@ export const AddToNavigationDragHandle = ({ disableDrag = false, }: AddToNavigationDragHandleProps) => { const { theme } = useContext(ThemeContext); - const effectiveColor = - payload.type === 'object' && isNonEmptyString(payload.iconColor) + const objectColor = + payload.type === NavigationMenuItemType.OBJECT ? payload.iconColor - : payload.type === 'folder' - ? DEFAULT_NAVIGATION_MENU_ITEM_COLOR_FOLDER - : payload.type === 'link' - ? DEFAULT_NAVIGATION_MENU_ITEM_COLOR_LINK - : undefined; + : undefined; + const effectiveColor = getEffectiveNavigationMenuItemColor( + { itemType: payload.type as NavigationMenuItemType }, + objectColor, + ); const hasBackgroundColor = payload.type !== NavigationMenuItemType.RECORD && isDefined(effectiveColor) && diff --git a/packages/twenty-front/src/modules/navigation-menu-item/components/NavigationMenuItemIcon.tsx b/packages/twenty-front/src/modules/navigation-menu-item/components/NavigationMenuItemIcon.tsx index 837863d3740..e3ede997076 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/components/NavigationMenuItemIcon.tsx +++ b/packages/twenty-front/src/modules/navigation-menu-item/components/NavigationMenuItemIcon.tsx @@ -8,8 +8,8 @@ import { StyledNavigationMenuItemIconContainer } from '@/navigation-menu-item/co import { ObjectIconWithViewOverlay } from '@/navigation-menu-item/components/ObjectIconWithViewOverlay'; import { NavigationMenuItemType } from '@/navigation-menu-item/constants/NavigationMenuItemType'; import { useObjectNavItemColor } from '@/navigation-menu-item/hooks/useObjectNavItemColor'; -import { getNavigationMenuItemIconStyleFromColor } from '@/navigation-menu-item/utils/getNavigationMenuItemIconStyleFromColor'; import { getEffectiveNavigationMenuItemColor } from '@/navigation-menu-item/utils/getEffectiveNavigationMenuItemColor'; +import { getNavigationMenuItemIconStyleFromColor } from '@/navigation-menu-item/utils/getNavigationMenuItemIconStyleFromColor'; import { type ProcessedNavigationMenuItem } from '@/navigation-menu-item/utils/sortNavigationMenuItems'; import { useGetStandardObjectIcon } from '@/object-metadata/hooks/useGetStandardObjectIcon'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; @@ -73,8 +73,10 @@ export const NavigationMenuItemIcon = ({ const iconToUse = StandardIcon ?? (navigationMenuItem.Icon ? getIcon(navigationMenuItem.Icon) : undefined); - const effectiveColor = - getEffectiveNavigationMenuItemColor(navigationMenuItem); + const effectiveColor = getEffectiveNavigationMenuItemColor( + navigationMenuItem, + objectNavItemColor, + ); const useStyledIcon = !isRecord && isNonEmptyString(effectiveColor); const iconStyle = useStyledIcon ? getNavigationMenuItemIconStyleFromColor(effectiveColor) diff --git a/packages/twenty-front/src/modules/navigation-menu-item/components/WorkspaceNavigationMenuItemFolderSubItem.tsx b/packages/twenty-front/src/modules/navigation-menu-item/components/WorkspaceNavigationMenuItemFolderSubItem.tsx index 3a5bf256f7d..907a13c4017 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/components/WorkspaceNavigationMenuItemFolderSubItem.tsx +++ b/packages/twenty-front/src/modules/navigation-menu-item/components/WorkspaceNavigationMenuItemFolderSubItem.tsx @@ -39,6 +39,7 @@ export const WorkspaceNavigationMenuItemFolderSubItem = ({ const objectMetadataItems = useAtomStateValue(objectMetadataItemsState); const views = useAtomStateValue(viewsSelector); const objectMetadataItem = + navigationMenuItem.itemType === NavigationMenuItemType.OBJECT || navigationMenuItem.itemType === NavigationMenuItemType.VIEW || navigationMenuItem.itemType === NavigationMenuItemType.RECORD ? getObjectMetadataForNavigationMenuItem( diff --git a/packages/twenty-front/src/modules/navigation-menu-item/components/WorkspaceNavigationMenuItems.tsx b/packages/twenty-front/src/modules/navigation-menu-item/components/WorkspaceNavigationMenuItems.tsx index a4226a8c58e..97f3ab89b90 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/components/WorkspaceNavigationMenuItems.tsx +++ b/packages/twenty-front/src/modules/navigation-menu-item/components/WorkspaceNavigationMenuItems.tsx @@ -28,7 +28,7 @@ import { filterWorkspaceNavigationMenuItems } from '@/navigation-menu-item/utils import { preloadWorkspaceDndKit } from '@/navigation/preloadWorkspaceDndKit'; import { NavigationDrawerSectionForWorkspaceItems } from '@/object-metadata/components/NavigationDrawerSectionForWorkspaceItems'; import { type ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; -import { navigationMenuItemsState } from '@/navigation-menu-item/states/navigationMenuItemsState'; +import { navigationMenuItemsSelector } from '@/navigation-menu-item/states/navigationMenuItemsSelector'; import { useNavigateSidePanel } from '@/side-panel/hooks/useNavigateSidePanel'; import { useAtomState } from '@/ui/utilities/state/jotai/hooks/useAtomState'; import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue'; @@ -47,7 +47,9 @@ export const WorkspaceNavigationMenuItems = () => { const { workspaceNavigationMenuItemsSorted } = useSortedNavigationMenuItems(); const store = useStore(); const enterEditMode = () => { - const currentNavigationMenuItems = store.get(navigationMenuItemsState.atom); + const currentNavigationMenuItems = store.get( + navigationMenuItemsSelector.atom, + ); const workspaceNavigationMenuItems = filterWorkspaceNavigationMenuItems( currentNavigationMenuItems, ); @@ -106,7 +108,8 @@ export const WorkspaceNavigationMenuItems = () => { if (objectMetadataItem) { openNavigationMenuItemInSidePanel({ pageTitle: - item.itemType === NavigationMenuItemType.VIEW + item.itemType === NavigationMenuItemType.VIEW || + item.itemType === NavigationMenuItemType.OBJECT ? item.labelIdentifier : objectMetadataItem.labelSingular, pageIcon: getIcon(objectMetadataItem.icon), diff --git a/packages/twenty-front/src/modules/navigation-menu-item/constants/NavigationMenuItemType.ts b/packages/twenty-front/src/modules/navigation-menu-item/constants/NavigationMenuItemType.ts index 5448cf31406..53b05a3f6de 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/constants/NavigationMenuItemType.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/constants/NavigationMenuItemType.ts @@ -1,7 +1,7 @@ export enum NavigationMenuItemType { - FOLDER = 'folder', - LINK = 'link', - OBJECT = 'object', - RECORD = 'record', - VIEW = 'view', + FOLDER = 'FOLDER', + LINK = 'LINK', + OBJECT = 'OBJECT', + RECORD = 'RECORD', + VIEW = 'VIEW', } diff --git a/packages/twenty-front/src/modules/navigation-menu-item/graphql/fragments/navigationMenuItemFragment.ts b/packages/twenty-front/src/modules/navigation-menu-item/graphql/fragments/navigationMenuItemFragment.ts index f1a435bfc77..060d6f613f6 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/graphql/fragments/navigationMenuItemFragment.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/graphql/fragments/navigationMenuItemFragment.ts @@ -3,6 +3,7 @@ import { gql } from '@apollo/client'; export const NAVIGATION_MENU_ITEM_FRAGMENT = gql` fragment NavigationMenuItemFields on NavigationMenuItem { id + type userWorkspaceId targetRecordId targetObjectMetadataId diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddFolderToNavigationMenuDraft.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddFolderToNavigationMenuDraft.ts index 5e8ed48a1f2..18b92882682 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddFolderToNavigationMenuDraft.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddFolderToNavigationMenuDraft.ts @@ -1,3 +1,4 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { v4 } from 'uuid'; import type { NavigationMenuItem } from '~/generated-metadata/graphql'; @@ -37,6 +38,7 @@ export const useAddFolderToNavigationMenuDraft = () => { const newItem: NavigationMenuItem = { __typename: 'NavigationMenuItem', id: newItemId, + type: NavigationMenuItemType.FOLDER, viewId: undefined, targetObjectMetadataId: undefined, targetRecordId: undefined, diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddLinkToNavigationMenuDraft.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddLinkToNavigationMenuDraft.ts index 9ed79c29856..d9c34bcb344 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddLinkToNavigationMenuDraft.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddLinkToNavigationMenuDraft.ts @@ -1,3 +1,4 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { v4 } from 'uuid'; import type { NavigationMenuItem } from '~/generated-metadata/graphql'; @@ -40,6 +41,7 @@ export const useAddLinkToNavigationMenuDraft = () => { const newItem: NavigationMenuItem = { __typename: 'NavigationMenuItem', id: newItemId, + type: NavigationMenuItemType.LINK, viewId: undefined, targetObjectMetadataId: undefined, targetRecordId: undefined, diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddObjectToNavigationMenuDraft.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddObjectToNavigationMenuDraft.ts index ff431361afb..2cf3a9e7b5b 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddObjectToNavigationMenuDraft.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddObjectToNavigationMenuDraft.ts @@ -1,3 +1,4 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { v4 } from 'uuid'; import type { NavigationMenuItem } from '~/generated-metadata/graphql'; @@ -13,7 +14,6 @@ export const useAddObjectToNavigationMenuDraft = () => { const addObjectToDraft = ( objectMetadataId: string, - defaultViewId: string, currentDraft: NavigationMenuItem[], targetFolderId?: string | null, targetIndex?: number, @@ -38,7 +38,8 @@ export const useAddObjectToNavigationMenuDraft = () => { const newItem: NavigationMenuItem = { __typename: 'NavigationMenuItem', id: newItemId, - viewId: defaultViewId, + type: NavigationMenuItemType.OBJECT, + viewId: undefined, targetObjectMetadataId: objectMetadataId, position, userWorkspaceId: undefined, diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddRecordToNavigationMenuDraft.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddRecordToNavigationMenuDraft.ts index 82bafab835b..8ba30fc997c 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddRecordToNavigationMenuDraft.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddRecordToNavigationMenuDraft.ts @@ -1,4 +1,5 @@ import { v4 } from 'uuid'; +import { NavigationMenuItemType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import type { NavigationMenuItem } from '~/generated-metadata/graphql'; @@ -60,6 +61,7 @@ export const useAddRecordToNavigationMenuDraft = () => { const newItem: NavigationMenuItem = { __typename: 'NavigationMenuItem', id: newItemId, + type: NavigationMenuItemType.RECORD, viewId: undefined, targetObjectMetadataId: objectMetadataId, targetRecordId: searchRecord.recordId, diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddViewToNavigationMenuDraft.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddViewToNavigationMenuDraft.ts index 7c9db8294b2..85d58ec7d40 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddViewToNavigationMenuDraft.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useAddViewToNavigationMenuDraft.ts @@ -1,3 +1,4 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { v4 } from 'uuid'; import type { NavigationMenuItem } from '~/generated-metadata/graphql'; @@ -37,6 +38,7 @@ export const useAddViewToNavigationMenuDraft = () => { const newItem: NavigationMenuItem = { __typename: 'NavigationMenuItem', id: newItemId, + type: NavigationMenuItemType.VIEW, viewId, targetObjectMetadataId: undefined, position, diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useCreateNavigationMenuItem.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useCreateNavigationMenuItem.ts index f0673517563..325db37752b 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useCreateNavigationMenuItem.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useCreateNavigationMenuItem.ts @@ -1,3 +1,4 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { useMutation } from '@apollo/client/react'; import { CreateNavigationMenuItemDocument } from '~/generated-metadata/graphql'; @@ -42,6 +43,7 @@ export const useCreateNavigationMenuItem = () => { await createNavigationMenuItemMutation({ variables: { input: { + type: NavigationMenuItemType.VIEW, viewId: targetRecord.id, userWorkspaceId: currentWorkspaceMemberId, folderId, @@ -75,6 +77,7 @@ export const useCreateNavigationMenuItem = () => { await createNavigationMenuItemMutation({ variables: { input: { + type: NavigationMenuItemType.RECORD, targetRecordId: targetRecord.id, targetObjectMetadataId: objectMetadataItem.id, userWorkspaceId: currentWorkspaceMemberId, diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useCreateNavigationMenuItemFolder.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useCreateNavigationMenuItemFolder.ts index 4c7377a2d8a..6f75b06dd61 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useCreateNavigationMenuItemFolder.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useCreateNavigationMenuItemFolder.ts @@ -1,3 +1,4 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { useMutation } from '@apollo/client/react'; import { CreateNavigationMenuItemDocument } from '~/generated-metadata/graphql'; @@ -40,6 +41,7 @@ export const useCreateNavigationMenuItemFolder = () => { await createNavigationMenuItemMutation({ variables: { input: { + type: NavigationMenuItemType.FOLDER, name, targetRecordId: null, targetObjectMetadataId: null, diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useHandleAddToNavigationDrop.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useHandleAddToNavigationDrop.ts index d480b645fea..ae2ba5137d3 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useHandleAddToNavigationDrop.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useHandleAddToNavigationDrop.ts @@ -139,7 +139,6 @@ export const useHandleAddToNavigationDrop = () => { ); const newItemId = addObjectToDraft( payload.objectMetadataId, - payload.defaultViewId, currentDraft, folderId, index, diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useNavigationMenuItemsData.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useNavigationMenuItemsData.ts index fa9ddd3e71a..120566f3eb4 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useNavigationMenuItemsData.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useNavigationMenuItemsData.ts @@ -2,7 +2,7 @@ import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMembe import { isNavigationMenuInEditModeState } from '@/navigation-menu-item/states/isNavigationMenuInEditModeState'; import { navigationMenuItemsDraftState } from '@/navigation-menu-item/states/navigationMenuItemsDraftState'; import { filterWorkspaceNavigationMenuItems } from '@/navigation-menu-item/utils/filterWorkspaceNavigationMenuItems'; -import { navigationMenuItemsState } from '@/navigation-menu-item/states/navigationMenuItemsState'; +import { navigationMenuItemsSelector } from '@/navigation-menu-item/states/navigationMenuItemsSelector'; import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue'; import { isDefined } from 'twenty-shared/utils'; @@ -17,7 +17,7 @@ type NavigationMenuItemsData = { export const useNavigationMenuItemsData = (): NavigationMenuItemsData => { const currentWorkspaceMember = useAtomStateValue(currentWorkspaceMemberState); const currentWorkspaceMemberId = currentWorkspaceMember?.id; - const navigationMenuItems = useAtomStateValue(navigationMenuItemsState); + const navigationMenuItems = useAtomStateValue(navigationMenuItemsSelector); const isNavigationMenuInEditMode = useAtomStateValue( isNavigationMenuInEditModeState, ); diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useNavigationMenuItemsDraftState.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useNavigationMenuItemsDraftState.ts index c40799aa68c..e7d5c4cc6aa 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useNavigationMenuItemsDraftState.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useNavigationMenuItemsDraftState.ts @@ -4,14 +4,14 @@ import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; import { isNavigationMenuInEditModeState } from '@/navigation-menu-item/states/isNavigationMenuInEditModeState'; import { filterWorkspaceNavigationMenuItems } from '@/navigation-menu-item/utils/filterWorkspaceNavigationMenuItems'; import { navigationMenuItemsDraftState } from '@/navigation-menu-item/states/navigationMenuItemsDraftState'; -import { navigationMenuItemsState } from '@/navigation-menu-item/states/navigationMenuItemsState'; +import { navigationMenuItemsSelector } from '@/navigation-menu-item/states/navigationMenuItemsSelector'; import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue'; export const useNavigationMenuItemsDraftState = () => { const isNavigationMenuInEditMode = useAtomStateValue( isNavigationMenuInEditModeState, ); - const navigationMenuItems = useAtomStateValue(navigationMenuItemsState); + const navigationMenuItems = useAtomStateValue(navigationMenuItemsSelector); const navigationMenuItemsDraft = useAtomStateValue( navigationMenuItemsDraftState, ); diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useObjectNavItemColor.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useObjectNavItemColor.ts index c20d5384e7c..c076c27b1a5 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useObjectNavItemColor.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useObjectNavItemColor.ts @@ -1,17 +1,20 @@ -import { useWorkspaceSectionItems } from '@/navigation-menu-item/hooks/useWorkspaceSectionItems'; +import { isNonEmptyString } from '@sniptt/guards'; + import { getStandardObjectIconColor } from '@/navigation-menu-item/utils/getStandardObjectIconColor'; -import { ViewKey } from '@/views/types/ViewKey'; +import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadataItems'; export const useObjectNavItemColor = (objectNameSingular: string): string => { - const items = useWorkspaceSectionItems(); - const objectNavItem = items.find( - (item) => - 'viewKey' in item && - item.viewKey === ViewKey.INDEX && - item.objectNameSingular === objectNameSingular, - ); - return ( - (objectNavItem && 'color' in objectNavItem ? objectNavItem.color : null) ?? - getStandardObjectIconColor(objectNameSingular) + const { objectMetadataItems } = useObjectMetadataItems(); + const objectMetadataItem = objectMetadataItems.find( + (item) => item.nameSingular === objectNameSingular, ); + + const storedColor = objectMetadataItem?.color; + const fallbackColor = getStandardObjectIconColor(objectNameSingular); + + if (isNonEmptyString(storedColor)) { + return storedColor; + } + + return fallbackColor; }; diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSaveNavigationMenuItemsDraft.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSaveNavigationMenuItemsDraft.ts index 238c82d8517..2255098aedd 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSaveNavigationMenuItemsDraft.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSaveNavigationMenuItemsDraft.ts @@ -1,4 +1,5 @@ import { useCallback } from 'react'; +import { NavigationMenuItemType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { useMutation } from '@apollo/client/react'; @@ -12,7 +13,9 @@ import { filterWorkspaceNavigationMenuItems } from '@/navigation-menu-item/utils import { isNavigationMenuItemFolder } from '@/navigation-menu-item/utils/isNavigationMenuItemFolder'; import { isNavigationMenuItemLink } from '@/navigation-menu-item/utils/isNavigationMenuItemLink'; import { orderFoldersForCreation } from '@/navigation-menu-item/utils/orderFoldersForCreation'; -import { navigationMenuItemsState } from '@/navigation-menu-item/states/navigationMenuItemsState'; +import { navigationMenuItemsSelector } from '@/navigation-menu-item/states/navigationMenuItemsSelector'; +import { useUpdateOneObjectMetadataItem } from '@/object-metadata/hooks/useUpdateOneObjectMetadataItem'; +import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { useStore } from 'jotai'; export const useSaveNavigationMenuItemsDraft = () => { @@ -24,15 +27,46 @@ export const useSaveNavigationMenuItemsDraft = () => { refetchQueries: ['FindManyNavigationMenuItems'], }, ); + const { updateOneObjectMetadataItem } = useUpdateOneObjectMetadataItem(); const store = useStore(); const saveDraft = useCallback(async () => { const draft = store.get(navigationMenuItemsDraftState.atom); - const currentItems = store.get(navigationMenuItemsState.atom); + const currentItems = store.get(navigationMenuItemsSelector.atom); if (!draft) return; + const objectMetadataItems = store.get(objectMetadataItemsState.atom); + + for (const draftItem of draft) { + if (draftItem.type !== NavigationMenuItemType.OBJECT) { + continue; + } + if (!isDefined(draftItem.targetObjectMetadataId)) { + continue; + } + if (!isDefined(draftItem.color)) { + continue; + } + + const objectMetadataItem = objectMetadataItems.find( + (item) => item.id === draftItem.targetObjectMetadataId, + ); + + if (!isDefined(objectMetadataItem)) { + continue; + } + if (objectMetadataItem.color === draftItem.color) { + continue; + } + + await updateOneObjectMetadataItem({ + idToUpdate: draftItem.targetObjectMetadataId, + updatePayload: { color: draftItem.color }, + }); + } + const workspaceItems = filterWorkspaceNavigationMenuItems(currentItems); const topLevelWorkspace = workspaceItems.filter( (item) => !isDefined(item.folderId), @@ -131,13 +165,17 @@ export const useSaveNavigationMenuItemsDraft = () => { const iconChanged = isNavigationMenuItemFolder(draftItem) && (original.icon ?? null) !== (draftItem.icon ?? null); + const colorChanged = + isNavigationMenuItemFolder(draftItem) && + (original.color ?? null) !== (draftItem.color ?? null); if ( positionChanged || folderIdChanged || nameChanged || linkChanged || - iconChanged + iconChanged || + colorChanged ) { const updateInput: { id: string; @@ -146,6 +184,7 @@ export const useSaveNavigationMenuItemsDraft = () => { name?: string; link?: string | null; icon?: string | null; + color?: string | null; } = { id: draftItem.id }; if (positionChanged) { @@ -174,6 +213,9 @@ export const useSaveNavigationMenuItemsDraft = () => { if (iconChanged && isNavigationMenuItemFolder(draftItem)) { updateInput.icon = draftItem.icon ?? null; } + if (colorChanged) { + updateInput.color = draftItem.color ?? null; + } await updateNavigationMenuItem(updateInput); } @@ -182,6 +224,7 @@ export const useSaveNavigationMenuItemsDraft = () => { updateNavigationMenuItem, deleteNavigationMenuItem, createNavigationMenuItemMutation, + updateOneObjectMetadataItem, store, ]); diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItemLabel.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItemLabel.ts index 94fb6ef5b86..ce05a9976f3 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItemLabel.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItemLabel.ts @@ -12,6 +12,7 @@ const getLabelForItemType = ( return item.name ?? 'Folder'; case NavigationMenuItemType.LINK: return item.name ?? 'Link'; + case NavigationMenuItemType.OBJECT: case NavigationMenuItemType.VIEW: return item.labelIdentifier ?? objectLabelSingular ?? ''; default: diff --git a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSortedNavigationMenuItems.ts b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSortedNavigationMenuItems.ts index a6b7651b52d..c1640775531 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSortedNavigationMenuItems.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/hooks/useSortedNavigationMenuItems.ts @@ -3,6 +3,7 @@ import { isDefined } from 'twenty-shared/utils'; import { isNavigationMenuItemFolder } from '@/navigation-menu-item/utils/isNavigationMenuItemFolder'; import { isNavigationMenuItemLink } from '@/navigation-menu-item/utils/isNavigationMenuItemLink'; +import { isNavigationMenuItemObject } from '@/navigation-menu-item/utils/isNavigationMenuItemObject'; import { recordIdentifierToObjectRecordIdentifier } from '@/navigation-menu-item/utils/recordIdentifierToObjectRecordIdentifier'; import { sortNavigationMenuItems } from '@/navigation-menu-item/utils/sortNavigationMenuItems'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; @@ -83,6 +84,9 @@ export const useSortedNavigationMenuItems = () => { if (isNavigationMenuItemLink(item)) { return true; } + if (isNavigationMenuItemObject(item)) { + return isDefined(item.targetObjectMetadataId); + } if (isDefined(item.viewId)) { return views.some((view) => view.id === item.viewId); } diff --git a/packages/twenty-front/src/modules/navigation-menu-item/states/navigationMenuItemsState.ts b/packages/twenty-front/src/modules/navigation-menu-item/states/navigationMenuItemsSelector.ts similarity index 80% rename from packages/twenty-front/src/modules/navigation-menu-item/states/navigationMenuItemsState.ts rename to packages/twenty-front/src/modules/navigation-menu-item/states/navigationMenuItemsSelector.ts index 5970f9cc246..ba9e53b9f01 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/states/navigationMenuItemsState.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/states/navigationMenuItemsSelector.ts @@ -2,10 +2,10 @@ import { metadataStoreState } from '@/metadata-store/states/metadataStoreState'; import { createAtomSelector } from '@/ui/utilities/state/jotai/utils/createAtomSelector'; import { type NavigationMenuItem } from '~/generated-metadata/graphql'; -export const navigationMenuItemsState = createAtomSelector< +export const navigationMenuItemsSelector = createAtomSelector< NavigationMenuItem[] >({ - key: 'navigationMenuItemsState', + key: 'navigationMenuItemsSelector', get: ({ get }) => { const entry = get(metadataStoreState, 'navigationMenuItems'); diff --git a/packages/twenty-front/src/modules/navigation-menu-item/types/add-to-navigation-drag-payload.ts b/packages/twenty-front/src/modules/navigation-menu-item/types/add-to-navigation-drag-payload.ts index a44559a00b0..9cb5bc444a7 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/types/add-to-navigation-drag-payload.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/types/add-to-navigation-drag-payload.ts @@ -1,19 +1,18 @@ export type AddToNavigationDragPayloadObject = { - type: 'object'; + type: 'OBJECT'; objectMetadataId: string; - defaultViewId: string; label: string; iconColor?: string; }; export type AddToNavigationDragPayloadView = { - type: 'view'; + type: 'VIEW'; viewId: string; label: string; }; export type AddToNavigationDragPayloadRecord = { - type: 'record'; + type: 'RECORD'; recordId: string; objectMetadataId: string; objectNameSingular: string; @@ -22,13 +21,13 @@ export type AddToNavigationDragPayloadRecord = { }; export type AddToNavigationDragPayloadFolder = { - type: 'folder'; + type: 'FOLDER'; folderId: string; name: string; }; export type AddToNavigationDragPayloadLink = { - type: 'link'; + type: 'LINK'; linkId: string; name: string; link: string; diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/isNavigationMenuItemFolder.test.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/isNavigationMenuItemFolder.test.ts index 3227682fa4b..b4cc063259b 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/isNavigationMenuItemFolder.test.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/isNavigationMenuItemFolder.test.ts @@ -1,45 +1,26 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; + import { isNavigationMenuItemFolder } from '@/navigation-menu-item/utils/isNavigationMenuItemFolder'; describe('isNavigationMenuItemFolder', () => { - it('should return true only when item has name and no link/view/record metadata', () => { + it('should return true when type is folder', () => { expect( - isNavigationMenuItemFolder({ - name: 'My Folder', - link: null, - viewId: null, - targetRecordId: null, - targetObjectMetadataId: null, - }), + isNavigationMenuItemFolder({ type: NavigationMenuItemType.FOLDER }), ).toBe(true); }); - it('should return false when name is missing or when link/view/record is defined', () => { + it('should return false for other types', () => { expect( - isNavigationMenuItemFolder({ - name: undefined, - link: null, - viewId: null, - targetRecordId: null, - targetObjectMetadataId: null, - }), + isNavigationMenuItemFolder({ type: NavigationMenuItemType.LINK }), ).toBe(false); expect( - isNavigationMenuItemFolder({ - name: 'My Folder', - link: 'https://example.com', - viewId: null, - targetRecordId: null, - targetObjectMetadataId: null, - }), + isNavigationMenuItemFolder({ type: NavigationMenuItemType.VIEW }), ).toBe(false); expect( - isNavigationMenuItemFolder({ - name: 'My Folder', - link: null, - viewId: 'view-1', - targetRecordId: null, - targetObjectMetadataId: null, - }), + isNavigationMenuItemFolder({ type: NavigationMenuItemType.RECORD }), + ).toBe(false); + expect( + isNavigationMenuItemFolder({ type: NavigationMenuItemType.OBJECT }), ).toBe(false); }); }); diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/isNavigationMenuItemLink.test.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/isNavigationMenuItemLink.test.ts index 91c58ece0a6..fd2ac0f9bf4 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/isNavigationMenuItemLink.test.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/isNavigationMenuItemLink.test.ts @@ -1,60 +1,26 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; + import { isNavigationMenuItemLink } from '@/navigation-menu-item/utils/isNavigationMenuItemLink'; describe('isNavigationMenuItemLink', () => { - it('should return true only when item has non-empty link and no view/record metadata', () => { + it('should return true when type is link', () => { expect( - isNavigationMenuItemLink({ - link: 'https://example.com', - viewId: null, - targetRecordId: null, - targetObjectMetadataId: null, - }), + isNavigationMenuItemLink({ type: NavigationMenuItemType.LINK }), ).toBe(true); }); - it('should return false when link is missing, empty or only whitespace', () => { + it('should return false for other types', () => { expect( - isNavigationMenuItemLink({ - link: '', - viewId: null, - targetRecordId: null, - targetObjectMetadataId: null, - }), + isNavigationMenuItemLink({ type: NavigationMenuItemType.FOLDER }), ).toBe(false); expect( - isNavigationMenuItemLink({ - link: ' ', - viewId: null, - targetRecordId: null, - targetObjectMetadataId: null, - }), + isNavigationMenuItemLink({ type: NavigationMenuItemType.VIEW }), ).toBe(false); expect( - isNavigationMenuItemLink({ - link: undefined, - viewId: null, - targetRecordId: null, - targetObjectMetadataId: null, - }), - ).toBe(false); - }); - - it('should return false when viewId, targetRecordId or targetObjectMetadataId is defined', () => { - expect( - isNavigationMenuItemLink({ - link: 'https://example.com', - viewId: 'view-1', - targetRecordId: null, - targetObjectMetadataId: null, - }), + isNavigationMenuItemLink({ type: NavigationMenuItemType.RECORD }), ).toBe(false); expect( - isNavigationMenuItemLink({ - link: 'https://example.com', - viewId: null, - targetRecordId: 'record-1', - targetObjectMetadataId: null, - }), + isNavigationMenuItemLink({ type: NavigationMenuItemType.OBJECT }), ).toBe(false); }); }); diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/sortNavigationMenuItems.test.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/sortNavigationMenuItems.test.ts index 3bcb772df57..14460be873a 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/sortNavigationMenuItems.test.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/__tests__/sortNavigationMenuItems.test.ts @@ -1,3 +1,5 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; + import { sortNavigationMenuItems } from '@/navigation-menu-item/utils/sortNavigationMenuItems'; import { type ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { type ObjectRecordIdentifier } from '@/object-record/types/ObjectRecordIdentifier'; @@ -324,6 +326,7 @@ describe('sortNavigationMenuItems', () => { [ { id: 'link-1', + type: NavigationMenuItemType.LINK, link: 'https://example.com', name: 'My Link', position: 1, @@ -341,6 +344,7 @@ describe('sortNavigationMenuItems', () => { [ { id: 'link-2', + type: NavigationMenuItemType.LINK, link: 'example.com', position: 2, } as NavigationMenuItem, diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/buildCreateNavigationMenuItemInput.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/buildCreateNavigationMenuItemInput.ts index d4625badc62..3e02ce5024b 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/buildCreateNavigationMenuItemInput.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/buildCreateNavigationMenuItemInput.ts @@ -7,12 +7,14 @@ import { isDefined } from 'twenty-shared/utils'; import { isNavigationMenuItemFolder } from '@/navigation-menu-item/utils/isNavigationMenuItemFolder'; import { isNavigationMenuItemLink } from '@/navigation-menu-item/utils/isNavigationMenuItemLink'; +import { isNavigationMenuItemObject } from '@/navigation-menu-item/utils/isNavigationMenuItemObject'; export const buildCreateNavigationMenuItemInput = ( draftItem: NavigationMenuItem, resolveFolderId: (draftFolderId: string) => string, ): CreateNavigationMenuItemInput => { const input: CreateNavigationMenuItemInput = { + type: draftItem.type, position: draftItem.position, }; @@ -28,6 +30,9 @@ export const buildCreateNavigationMenuItemInput = ( : linkUrl ? `https://${linkUrl}` : undefined; + } else if (isNavigationMenuItemObject(draftItem)) { + input.targetObjectMetadataId = + draftItem.targetObjectMetadataId ?? undefined; } else if (isDefined(draftItem.viewId)) { input.viewId = draftItem.viewId; } else if (isDefined(draftItem.targetRecordId)) { diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/getEffectiveNavigationMenuItemColor.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/getEffectiveNavigationMenuItemColor.ts index 22475ebbcc7..0156896f408 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/getEffectiveNavigationMenuItemColor.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/getEffectiveNavigationMenuItemColor.ts @@ -3,16 +3,24 @@ import { isNonEmptyString } from '@sniptt/guards'; import { DEFAULT_NAVIGATION_MENU_ITEM_COLOR_FOLDER } from '@/navigation-menu-item/constants/NavigationMenuItemDefaultColorFolder'; import { DEFAULT_NAVIGATION_MENU_ITEM_COLOR_LINK } from '@/navigation-menu-item/constants/NavigationMenuItemDefaultColorLink'; import { NavigationMenuItemType } from '@/navigation-menu-item/constants/NavigationMenuItemType'; -import { type ProcessedNavigationMenuItem } from '@/navigation-menu-item/types/processed-navigation-menu-item'; export const getEffectiveNavigationMenuItemColor = ( - navigationMenuItem: ProcessedNavigationMenuItem, + navigationMenuItem: { + itemType: NavigationMenuItemType; + color?: string | null; + }, + objectColor?: string, ): string | undefined => { - if (isNonEmptyString(navigationMenuItem.color)) { - return navigationMenuItem.color; - } if (navigationMenuItem.itemType === NavigationMenuItemType.FOLDER) { - return DEFAULT_NAVIGATION_MENU_ITEM_COLOR_FOLDER; + return isNonEmptyString(navigationMenuItem.color) + ? navigationMenuItem.color + : DEFAULT_NAVIGATION_MENU_ITEM_COLOR_FOLDER; + } + if (navigationMenuItem.itemType === NavigationMenuItemType.OBJECT) { + return objectColor; + } + if (navigationMenuItem.itemType === NavigationMenuItemType.VIEW) { + return objectColor; } if (navigationMenuItem.itemType === NavigationMenuItemType.LINK) { return DEFAULT_NAVIGATION_MENU_ITEM_COLOR_LINK; diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/getObjectMetadataForNavigationMenuItem.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/getObjectMetadataForNavigationMenuItem.ts index ddce6f258b0..f66c2509fa9 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/getObjectMetadataForNavigationMenuItem.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/getObjectMetadataForNavigationMenuItem.ts @@ -19,6 +19,16 @@ export const getObjectMetadataForNavigationMenuItem = ( return null; } + if ( + navigationMenuItem.itemType === NavigationMenuItemType.OBJECT && + isDefined(navigationMenuItem.targetObjectMetadataId) + ) { + const objectMetadataItem = objectMetadataItems.find( + (meta) => meta.id === navigationMenuItem.targetObjectMetadataId, + ); + return objectMetadataItem ?? null; + } + if ( navigationMenuItem.itemType === NavigationMenuItemType.VIEW && isDefined(navigationMenuItem.viewId) diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/hasNavigationMenuItemOwnColor.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/hasNavigationMenuItemOwnColor.ts new file mode 100644 index 00000000000..68e457cbf49 --- /dev/null +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/hasNavigationMenuItemOwnColor.ts @@ -0,0 +1,4 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; + +export const hasNavigationMenuItemOwnColor = (item: { type?: string | null }) => + item.type === NavigationMenuItemType.FOLDER; diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/isLocationMatchingNavigationMenuItem.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/isLocationMatchingNavigationMenuItem.ts index ca36240ee64..f3b04b19ad7 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/isLocationMatchingNavigationMenuItem.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/isLocationMatchingNavigationMenuItem.ts @@ -6,9 +6,10 @@ export const isLocationMatchingNavigationMenuItem = ( currentViewPath: string, navigationMenuItem: Pick, ) => { - const isViewItem = - navigationMenuItem.itemType === NavigationMenuItemType.VIEW; - return isViewItem + const isViewBasedItem = + navigationMenuItem.itemType === NavigationMenuItemType.VIEW || + navigationMenuItem.itemType === NavigationMenuItemType.OBJECT; + return isViewBasedItem ? navigationMenuItem.link === currentViewPath : navigationMenuItem.link === currentPath; }; diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemFolder.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemFolder.ts index 1db7923550a..3bb3b64615a 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemFolder.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemFolder.ts @@ -1,15 +1,6 @@ -import { isDefined } from 'twenty-shared/utils'; +import { NavigationMenuItemType } from 'twenty-shared/types'; +import { type NavigationMenuItem } from '~/generated-metadata/graphql'; -export const isNavigationMenuItemFolder = (item: { - name?: string | null; - link?: string | null; - folderId?: string | null; - viewId?: string | null; - targetRecordId?: string | null; - targetObjectMetadataId?: string | null; -}) => - isDefined(item.name) && - !isDefined(item.link) && - !isDefined(item.targetRecordId) && - !isDefined(item.targetObjectMetadataId) && - !isDefined(item.viewId); +export const isNavigationMenuItemFolder = ( + item: Pick, +) => item.type === NavigationMenuItemType.FOLDER; diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemLink.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemLink.ts index dcc3ba69865..35a8a8c6b3d 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemLink.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemLink.ts @@ -1,13 +1,6 @@ -import { isDefined } from 'twenty-shared/utils'; +import { NavigationMenuItemType } from 'twenty-shared/types'; +import { type NavigationMenuItem } from '~/generated-metadata/graphql'; -export const isNavigationMenuItemLink = (item: { - link?: string | null; - viewId?: string | null; - targetRecordId?: string | null; - targetObjectMetadataId?: string | null; -}) => - isDefined(item.link) && - (item.link ?? '').trim() !== '' && - !isDefined(item.viewId) && - !isDefined(item.targetRecordId) && - !isDefined(item.targetObjectMetadataId); +export const isNavigationMenuItemLink = ( + item: Pick, +) => item.type === NavigationMenuItemType.LINK; diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemObject.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemObject.ts new file mode 100644 index 00000000000..d38390bb30d --- /dev/null +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/isNavigationMenuItemObject.ts @@ -0,0 +1,6 @@ +import { NavigationMenuItemType } from 'twenty-shared/types'; +import { type NavigationMenuItem } from '~/generated-metadata/graphql'; + +export const isNavigationMenuItemObject = ( + item: Pick, +) => item.type === NavigationMenuItemType.OBJECT; diff --git a/packages/twenty-front/src/modules/navigation-menu-item/utils/sortNavigationMenuItems.ts b/packages/twenty-front/src/modules/navigation-menu-item/utils/sortNavigationMenuItems.ts index c7d5617e90e..92115d5dbc5 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/utils/sortNavigationMenuItems.ts +++ b/packages/twenty-front/src/modules/navigation-menu-item/utils/sortNavigationMenuItems.ts @@ -26,6 +26,45 @@ export const sortNavigationMenuItems = ( ): ProcessedNavigationMenuItem[] => { return navigationMenuItems .map((navigationMenuItem) => { + if ( + navigationMenuItem.type === NavigationMenuItemType.OBJECT && + isDefined(navigationMenuItem.targetObjectMetadataId) + ) { + const objectMetadataItem = objectMetadataItems.find( + (meta) => meta.id === navigationMenuItem.targetObjectMetadataId, + ); + + if (!isDefined(objectMetadataItem)) { + return null; + } + + const indexView = views.find( + (view) => + view.objectMetadataId === objectMetadataItem.id && + view.key === ViewKey.INDEX, + ); + + const displayFields: NavigationMenuItemDisplayFields = { + labelIdentifier: objectMetadataItem.labelPlural, + avatarUrl: '', + avatarType: 'icon', + link: getAppPath( + AppPath.RecordIndexPage, + { objectNamePlural: objectMetadataItem.namePlural }, + indexView ? { viewId: indexView.id } : {}, + ), + objectNameSingular: objectMetadataItem.nameSingular, + Icon: objectMetadataItem.icon ?? 'IconBox', + }; + + return { + ...navigationMenuItem, + ...displayFields, + viewKey: ViewKey.INDEX, + itemType: NavigationMenuItemType.OBJECT, + }; + } + if (isDefined(navigationMenuItem.viewId)) { const view = views.find( (view) => view.id === navigationMenuItem.viewId, diff --git a/packages/twenty-front/src/modules/navigation/components/FavoritesDragDropProviderContent.tsx b/packages/twenty-front/src/modules/navigation/components/FavoritesDragDropProviderContent.tsx index 5aeefdb7a6c..a1ccdc61ade 100644 --- a/packages/twenty-front/src/modules/navigation/components/FavoritesDragDropProviderContent.tsx +++ b/packages/twenty-front/src/modules/navigation/components/FavoritesDragDropProviderContent.tsx @@ -94,7 +94,7 @@ export const FavoritesDragDropProviderContent = ({ destination.droppableId, ); const isFolderOverFolder = - payload?.type === 'folder' && folderId !== null; + payload?.type === 'FOLDER' && folderId !== null; setForbiddenDropTargetId(isFolderOverFolder ? dropTargetId : null); } else { setForbiddenDropTargetId(null); diff --git a/packages/twenty-front/src/modules/navigation/hooks/useWorkspaceDndKit.ts b/packages/twenty-front/src/modules/navigation/hooks/useWorkspaceDndKit.ts index 04b9559a253..3a21b0f0fa3 100644 --- a/packages/twenty-front/src/modules/navigation/hooks/useWorkspaceDndKit.ts +++ b/packages/twenty-front/src/modules/navigation/hooks/useWorkspaceDndKit.ts @@ -229,7 +229,7 @@ export const useWorkspaceDndKit = (): { resolved.destination.droppableId, ); const folderDrag = - getPayload()?.type === 'folder' && isDefined(folderId); + getPayload()?.type === 'FOLDER' && isDefined(folderId); setForbiddenDropTargetId( folderDrag ? resolved.effectiveDropTargetId : null, ); diff --git a/packages/twenty-front/src/modules/navigation/utils/workspaceDndKitIsFolderDrag.ts b/packages/twenty-front/src/modules/navigation/utils/workspaceDndKitIsFolderDrag.ts index a36b4d0cc72..df64aa313b8 100644 --- a/packages/twenty-front/src/modules/navigation/utils/workspaceDndKitIsFolderDrag.ts +++ b/packages/twenty-front/src/modules/navigation/utils/workspaceDndKitIsFolderDrag.ts @@ -9,5 +9,5 @@ export const isFolderDrag = ( payload: AddToNavPayload, sourceItem: NavigationMenuItem | undefined, ): boolean => - payload?.type === 'folder' || + payload?.type === 'FOLDER' || (isDefined(sourceItem) && isNavigationMenuItemFolder(sourceItem)); diff --git a/packages/twenty-front/src/modules/object-metadata/components/NavigationDrawerItemForObjectMetadataItem.tsx b/packages/twenty-front/src/modules/object-metadata/components/NavigationDrawerItemForObjectMetadataItem.tsx index 1b2c3ea1aa1..416124e8d1a 100644 --- a/packages/twenty-front/src/modules/object-metadata/components/NavigationDrawerItemForObjectMetadataItem.tsx +++ b/packages/twenty-front/src/modules/object-metadata/components/NavigationDrawerItemForObjectMetadataItem.tsx @@ -2,7 +2,6 @@ import { ObjectIconWithViewOverlay } from '@/navigation-menu-item/components/Obj import { NavigationMenuItemType } from '@/navigation-menu-item/constants/NavigationMenuItemType'; import { useObjectNavItemColor } from '@/navigation-menu-item/hooks/useObjectNavItemColor'; import { isNavigationMenuInEditModeState } from '@/navigation-menu-item/states/isNavigationMenuInEditModeState'; -import { getStandardObjectIconColor } from '@/navigation-menu-item/utils/getStandardObjectIconColor'; import { type ProcessedNavigationMenuItem } from '@/navigation-menu-item/utils/sortNavigationMenuItems'; import { lastVisitedViewPerObjectMetadataItemState } from '@/navigation/states/lastVisitedViewPerObjectMetadataItemState'; import { type ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; @@ -52,7 +51,9 @@ export const NavigationDrawerItemForObjectMetadataItem = ({ const isRecord = navigationMenuItem?.itemType === NavigationMenuItemType.RECORD; const isView = navigationMenuItem?.itemType === NavigationMenuItemType.VIEW; - const hasCustomLink = isRecord || isView; + const isObject = + navigationMenuItem?.itemType === NavigationMenuItemType.OBJECT; + const hasCustomLink = isRecord || isView || isObject; const navigationPath = hasCustomLink ? navigationMenuItem!.link @@ -63,7 +64,7 @@ export const NavigationDrawerItemForObjectMetadataItem = ({ ); const isActive = hasCustomLink - ? (isView ? currentPathWithSearch : currentPath) === + ? (isView || isObject ? currentPathWithSearch : currentPath) === navigationMenuItem!.link : currentPath === getAppPath(AppPath.RecordIndexPage, { @@ -114,11 +115,7 @@ export const NavigationDrawerItemForObjectMetadataItem = ({ ) : getIcon(objectMetadataItem.icon); - const iconThemeColor = !isRecord - ? isDefined(navigationMenuItem?.color) - ? navigationMenuItem.color - : (getStandardObjectIconColor(objectMetadataItem.nameSingular) ?? 'gray') - : undefined; + const iconThemeColor = !isRecord ? objectNavItemColor : undefined; const secondaryLabel = isRecord || isViewWithCustomName diff --git a/packages/twenty-front/src/modules/object-metadata/components/NavigationDrawerSectionForWorkspaceItems.tsx b/packages/twenty-front/src/modules/object-metadata/components/NavigationDrawerSectionForWorkspaceItems.tsx index 4f05a4da02e..952a3204dec 100644 --- a/packages/twenty-front/src/modules/object-metadata/components/NavigationDrawerSectionForWorkspaceItems.tsx +++ b/packages/twenty-front/src/modules/object-metadata/components/NavigationDrawerSectionForWorkspaceItems.tsx @@ -96,6 +96,7 @@ export const NavigationDrawerSectionForWorkspaceItems = ({ return true; } if ( + type === NavigationMenuItemType.OBJECT || type === NavigationMenuItemType.VIEW || type === NavigationMenuItemType.RECORD ) { @@ -123,7 +124,7 @@ export const NavigationDrawerSectionForWorkspaceItems = ({ ? () => { const type = item.itemType; const objectMetadataItem = - type === 'view' || type === 'record' + type === 'OBJECT' || type === 'VIEW' || type === 'RECORD' ? getObjectMetadataForNavigationMenuItem( item as ProcessedNavigationMenuItem, objectMetadataItems, diff --git a/packages/twenty-front/src/modules/object-metadata/graphql/fragment.ts b/packages/twenty-front/src/modules/object-metadata/graphql/fragment.ts index c887fe14bcc..8c5bdc114db 100644 --- a/packages/twenty-front/src/modules/object-metadata/graphql/fragment.ts +++ b/packages/twenty-front/src/modules/object-metadata/graphql/fragment.ts @@ -8,6 +8,7 @@ export const OBJECT_METADATA_FRAGMENT = gql` namePlural labelSingular labelPlural + color description icon isCustom diff --git a/packages/twenty-front/src/modules/object-metadata/graphql/mutations.ts b/packages/twenty-front/src/modules/object-metadata/graphql/mutations.ts index 180594d3908..2d84a94d89c 100644 --- a/packages/twenty-front/src/modules/object-metadata/graphql/mutations.ts +++ b/packages/twenty-front/src/modules/object-metadata/graphql/mutations.ts @@ -10,6 +10,7 @@ export const CREATE_ONE_OBJECT_METADATA_ITEM = gql` labelPlural description icon + color isCustom isActive isSearchable @@ -90,6 +91,7 @@ export const UPDATE_ONE_OBJECT_METADATA_ITEM = gql` labelPlural description icon + color isCustom isActive isSearchable @@ -112,6 +114,7 @@ export const DELETE_ONE_OBJECT_METADATA_ITEM = gql` labelPlural description icon + color isCustom isActive isSearchable diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__mocks__/useCreateOneObjectMetadataItem.ts b/packages/twenty-front/src/modules/object-metadata/hooks/__mocks__/useCreateOneObjectMetadataItem.ts index b1525ae3cdf..5f2bded309a 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__mocks__/useCreateOneObjectMetadataItem.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__mocks__/useCreateOneObjectMetadataItem.ts @@ -27,6 +27,7 @@ export const responseData = { labelPlural: 'View Filters', description: '', icon: '', + color: null, isCustom: false, isActive: true, isSearchable: false, diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/__mocks__/useDeleteOneObjectMetadataItem.ts b/packages/twenty-front/src/modules/object-metadata/hooks/__mocks__/useDeleteOneObjectMetadataItem.ts index 9642fbaf321..57d973fc8e0 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/__mocks__/useDeleteOneObjectMetadataItem.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/__mocks__/useDeleteOneObjectMetadataItem.ts @@ -10,6 +10,7 @@ export const query = gql` labelPlural description icon + color isCustom isActive isSearchable @@ -32,6 +33,7 @@ export const responseData = { labelPlural: '', description: '', icon: '', + color: null, isCustom: false, isActive: true, isSearchable: false, diff --git a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageHeaderIcon.tsx b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageHeaderIcon.tsx index e39185f8c05..80ef4208eaa 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageHeaderIcon.tsx +++ b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageHeaderIcon.tsx @@ -1,11 +1,8 @@ import { isNonEmptyString } from '@sniptt/guards'; import { NavigationMenuItemStyleIcon } from '@/navigation-menu-item/components/NavigationMenuItemStyleIcon'; -import { useNavigationMenuItemsData } from '@/navigation-menu-item/hooks/useNavigationMenuItemsData'; import { getStandardObjectIconColor } from '@/navigation-menu-item/utils/getStandardObjectIconColor'; import { type ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; -import { useAtomFamilySelectorValue } from '@/ui/utilities/state/jotai/hooks/useAtomFamilySelectorValue'; -import { indexViewIdFromObjectMetadataItemFamilySelector } from '@/views/states/selectors/indexViewIdFromObjectMetadataItemFamilySelector'; import { isDefined } from 'twenty-shared/utils'; import { useIcons } from 'twenty-ui/display'; @@ -14,11 +11,6 @@ export const RecordIndexPageHeaderIcon = ({ }: { objectMetadataItem?: ObjectMetadataItem; }) => { - const { workspaceNavigationMenuItems } = useNavigationMenuItemsData(); - const coreIndexViewId = useAtomFamilySelectorValue( - indexViewIdFromObjectMetadataItemFamilySelector, - { objectMetadataItemId: objectMetadataItem?.id ?? '' }, - ); const { getIcon } = useIcons(); const ObjectIcon = getIcon(objectMetadataItem?.icon); @@ -26,17 +18,9 @@ export const RecordIndexPageHeaderIcon = ({ return null; } - const navItem = isDefined(coreIndexViewId) - ? workspaceNavigationMenuItems.find( - (item) => item.viewId === coreIndexViewId, - ) - : undefined; - const navigationMenuItemColor = isNonEmptyString(navItem?.color) - ? navItem.color - : undefined; - const iconColor = - navigationMenuItemColor ?? - getStandardObjectIconColor(objectMetadataItem?.nameSingular ?? ''); + const iconColor = isNonEmptyString(objectMetadataItem?.color) + ? objectMetadataItem.color + : getStandardObjectIconColor(objectMetadataItem?.nameSingular ?? ''); return ( { - const { theme } = useContext(ThemeContext); const { loading } = useFindOneRecord({ objectNameSingular, objectRecordId, @@ -82,6 +84,11 @@ export const ObjectRecordShowPageBreadcrumb = ({ objectNameSingular, objectRecordId, ); + + const iconColor = isNonEmptyString(objectMetadataItem?.color) + ? objectMetadataItem.color + : getStandardObjectIconColor(objectNameSingular); + if (loading) { return null; } @@ -93,7 +100,12 @@ export const ObjectRecordShowPageBreadcrumb = ({ navigateToIndexView(); }} > - {isDefined(HeaderIcon) && } + {isDefined(HeaderIcon) && ( + + )} {objectLabel} {' / '} diff --git a/packages/twenty-front/src/modules/side-panel/components/SidePanelObjectViewRecordInfo.tsx b/packages/twenty-front/src/modules/side-panel/components/SidePanelObjectViewRecordInfo.tsx index 1557b855a55..eb5b509b40f 100644 --- a/packages/twenty-front/src/modules/side-panel/components/SidePanelObjectViewRecordInfo.tsx +++ b/packages/twenty-front/src/modules/side-panel/components/SidePanelObjectViewRecordInfo.tsx @@ -7,7 +7,6 @@ import { NavigationMenuItemType } from '@/navigation-menu-item/constants/Navigat import { useSelectedNavigationMenuItemEditItem } from '@/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItem'; import { useSelectedNavigationMenuItemEditItemLabel } from '@/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItemLabel'; import { useSelectedNavigationMenuItemEditItemObjectMetadata } from '@/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItemObjectMetadata'; -import { ViewKey } from '@/views/types/ViewKey'; export const SidePanelObjectViewRecordInfo = () => { const { t } = useLingui(); @@ -25,19 +24,20 @@ export const SidePanelObjectViewRecordInfo = () => { return null; } - const isViewOrRecord = [ + const isObjectViewOrRecord = [ + NavigationMenuItemType.OBJECT, NavigationMenuItemType.VIEW, NavigationMenuItemType.RECORD, ].includes(processedItem.itemType); - if (!isViewOrRecord) { + if (!isObjectViewOrRecord) { return null; } const label = processedItem.itemType === NavigationMenuItemType.RECORD ? selectedItemObjectMetadata?.labelSingular - : processedItem.viewKey === ViewKey.INDEX + : processedItem.itemType === NavigationMenuItemType.OBJECT ? t`Object` : t`View`; diff --git a/packages/twenty-front/src/modules/side-panel/components/SidePanelPageInfo.tsx b/packages/twenty-front/src/modules/side-panel/components/SidePanelPageInfo.tsx index 9e0f80b866e..55d40adfa3e 100644 --- a/packages/twenty-front/src/modules/side-panel/components/SidePanelPageInfo.tsx +++ b/packages/twenty-front/src/modules/side-panel/components/SidePanelPageInfo.tsx @@ -62,6 +62,7 @@ export const SidePanelPageInfo = ({ pageChip }: SidePanelPageInfoProps) => { } if ( + itemType === NavigationMenuItemType.OBJECT || itemType === NavigationMenuItemType.VIEW || itemType === NavigationMenuItemType.RECORD ) { diff --git a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelEditObjectViewBase.tsx b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelEditObjectViewBase.tsx index d4902dcca6f..eff37ae6ea3 100644 --- a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelEditObjectViewBase.tsx +++ b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelEditObjectViewBase.tsx @@ -1,3 +1,8 @@ +import { useObjectNavItemColor } from '@/navigation-menu-item/hooks/useObjectNavItemColor'; +import { navigationMenuItemsSelector } from '@/navigation-menu-item/states/navigationMenuItemsSelector'; +import { type ProcessedNavigationMenuItem } from '@/navigation-menu-item/types/processed-navigation-menu-item'; +import { getEffectiveNavigationMenuItemColor } from '@/navigation-menu-item/utils/getEffectiveNavigationMenuItemColor'; +import { parseThemeColor } from '@/navigation-menu-item/utils/parseThemeColor'; import { SidePanelGroup } from '@/side-panel/components/SidePanelGroup'; import { SidePanelList } from '@/side-panel/components/SidePanelList'; import { SidePanelEditColorOption } from '@/side-panel/pages/navigation-menu-item/components/SidePanelEditColorOption'; @@ -6,13 +11,15 @@ import { SidePanelEditOrganizeActions, } from '@/side-panel/pages/navigation-menu-item/components/SidePanelEditOrganizeActions'; import { getOrganizeActionsSelectableItemIds } from '@/side-panel/pages/navigation-menu-item/utils/getOrganizeActionsSelectableItemIds'; -import { useSelectedNavigationMenuItemEditItem } from '@/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItem'; -import { parseThemeColor } from '@/navigation-menu-item/utils/parseThemeColor'; +import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue'; import { useLingui } from '@lingui/react/macro'; +import { isNonEmptyString } from '@sniptt/guards'; +import { isDefined } from 'twenty-shared/utils'; type SidePanelEditObjectViewBaseProps = OrganizeActionsProps & { onOpenFolderPicker: () => void; showColorOption?: boolean; + selectedItem?: ProcessedNavigationMenuItem | null; }; export const SidePanelEditObjectViewBase = ({ @@ -25,18 +32,36 @@ export const SidePanelEditObjectViewBase = ({ onAddBefore, onAddAfter, showColorOption = false, + selectedItem, }: SidePanelEditObjectViewBaseProps) => { const { t } = useLingui(); - const { selectedItem } = useSelectedNavigationMenuItemEditItem(); const selectableItemIds = getOrganizeActionsSelectableItemIds(true); + const objectColor = useObjectNavItemColor( + selectedItem?.objectNameSingular ?? '', + ); + + const navigationMenuItems = useAtomStateValue(navigationMenuItemsSelector); + const persistedNavItem = navigationMenuItems.find( + (item) => item.id === selectedItem?.id, + ); + const hasUserChangedColor = + isNonEmptyString(selectedItem?.color) && + selectedItem.color !== (persistedNavItem?.color ?? undefined); + + const effectiveColor = isDefined(selectedItem) + ? getEffectiveNavigationMenuItemColor(selectedItem, objectColor) + : undefined; + const displayColor = hasUserChangedColor + ? selectedItem.color + : effectiveColor; return ( - {showColorOption && selectedItem && ( + {showColorOption && isDefined(selectedItem) && ( )} diff --git a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNavigationMenuItemEditPage.tsx b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNavigationMenuItemEditPage.tsx index 18bb56389a4..e1db41b2027 100644 --- a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNavigationMenuItemEditPage.tsx +++ b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNavigationMenuItemEditPage.tsx @@ -4,9 +4,9 @@ import { useNavigationMenuItemsDraftState } from '@/navigation-menu-item/hooks/u import { useOpenAddItemToFolderPage } from '@/navigation-menu-item/hooks/useOpenAddItemToFolderPage'; import { useSelectedNavigationMenuItemEditItem } from '@/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItem'; import { useSelectedNavigationMenuItemEditItemLabel } from '@/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItemLabel'; -import { useSelectedNavigationMenuItemEditItemObjectMetadata } from '@/navigation-menu-item/hooks/useSelectedNavigationMenuItemEditItemObjectMetadata'; import { useUpdateLinkInDraft } from '@/navigation-menu-item/hooks/useUpdateLinkInDraft'; import { selectedNavigationMenuItemInEditModeState } from '@/navigation-menu-item/states/selectedNavigationMenuItemInEditModeState'; +import { type ProcessedNavigationMenuItem } from '@/navigation-menu-item/types/processed-navigation-menu-item'; import { parseThemeColor } from '@/navigation-menu-item/utils/parseThemeColor'; import { SidePanelGroup } from '@/side-panel/components/SidePanelGroup'; import { SidePanelList } from '@/side-panel/components/SidePanelList'; @@ -21,7 +21,6 @@ import { getOrganizeActionsSelectableItemIds } from '@/side-panel/pages/navigati import { SidePanelSubPages } from '@/side-panel/types/SidePanelSubPages'; import { SelectableListItem } from '@/ui/layout/selectable-list/components/SelectableListItem'; import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue'; -import { ViewKey } from '@/views/types/ViewKey'; import { styled } from '@linaria/react'; import { useLingui } from '@lingui/react/macro'; import { isDefined } from 'twenty-shared/utils'; @@ -47,8 +46,6 @@ export const SidePanelNavigationMenuItemEditPage = () => { ); const { selectedItemLabel } = useSelectedNavigationMenuItemEditItemLabel(); const { selectedItem } = useSelectedNavigationMenuItemEditItem(); - const { selectedItemObjectMetadata } = - useSelectedNavigationMenuItemEditItemObjectMetadata(); const selectedItemType = selectedItem?.itemType ?? null; const { navigateToSidePanelSubPage } = useSidePanelSubPageHistory(); @@ -97,8 +94,22 @@ export const SidePanelNavigationMenuItemEditPage = () => { } switch (selectedItemType) { + case NavigationMenuItemType.OBJECT: + return ( + + ); case NavigationMenuItemType.VIEW: - if (!selectedItemObjectMetadata) return null; return ( { onRemove={onRemove} onAddBefore={onAddBefore} onAddAfter={onAddAfter} - showColorOption={ - selectedItem && - 'viewKey' in selectedItem && - selectedItem.viewKey === ViewKey.INDEX - } /> ); case NavigationMenuItemType.LINK: @@ -187,14 +193,6 @@ export const SidePanelNavigationMenuItemEditPage = () => { commandGroups={[]} selectableItemIds={getOrganizeActionsSelectableItemIds(true)} > - {selectedItem && ( - - - - )} { objectMetadataIdsWithDisplayableViews, }); - const handleSelectObject = ( - objectMetadataItem: ObjectMetadataItem, - defaultViewId: string, - ) => { + const handleSelectObject = (objectMetadataItem: ObjectMetadataItem) => { if (objectMetadataIdsInWorkspace.has(objectMetadataItem.id)) { return; } const itemId = addObjectToDraft( objectMetadataItem.id, - defaultViewId, currentDraft, addMenuItemInsertionContext?.targetFolderId, addMenuItemInsertionContext?.targetIndex, diff --git a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemObjectSystemPickerSubPage.tsx b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemObjectSystemPickerSubPage.tsx index 415db6122a5..791d068f1e3 100644 --- a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemObjectSystemPickerSubPage.tsx +++ b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelNewSidebarItemObjectSystemPickerSubPage.tsx @@ -55,16 +55,12 @@ export const SidePanelNewSidebarItemObjectSystemPickerSubPage = () => { objectMetadataIdsWithDisplayableViews, }); - const handleSelectObject = ( - objectMetadataItem: ObjectMetadataItem, - defaultViewId: string, - ) => { + const handleSelectObject = (objectMetadataItem: ObjectMetadataItem) => { if (objectMetadataIdsInWorkspace.has(objectMetadataItem.id)) { return; } const itemId = addObjectToDraft( objectMetadataItem.id, - defaultViewId, currentDraft, addMenuItemInsertionContext?.targetFolderId, addMenuItemInsertionContext?.targetIndex, diff --git a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectMenuItem.tsx b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectMenuItem.tsx index 31bf768bd64..e5d284cbc48 100644 --- a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectMenuItem.tsx +++ b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectMenuItem.tsx @@ -16,10 +16,7 @@ import { indexViewIdFromObjectMetadataItemFamilySelector } from '@/views/states/ type SidePanelObjectMenuItemProps = { objectMetadataItem: ObjectMetadataItem; - onSelect: ( - objectMetadataItem: ObjectMetadataItem, - defaultViewId: string, - ) => void; + onSelect: (objectMetadataItem: ObjectMetadataItem) => void; variant: 'add' | 'edit'; dragIndex?: number; disableDrag?: boolean; @@ -52,7 +49,7 @@ export const SidePanelObjectMenuItem = ({ if (isDisabled || !defaultViewId) { return; } - onSelect(objectMetadataItem, defaultViewId); + onSelect(objectMetadataItem); }; const styledIcon = () => ( @@ -72,7 +69,6 @@ export const SidePanelObjectMenuItem = ({ payload={{ type: NavigationMenuItemType.OBJECT, objectMetadataId: objectMetadataItem.id, - defaultViewId: defaultViewId ?? '', label: objectMetadataItem.labelPlural, iconColor, }} diff --git a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectPickerItem.tsx b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectPickerItem.tsx index 51affb81501..70b42f88b55 100644 --- a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectPickerItem.tsx +++ b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectPickerItem.tsx @@ -12,10 +12,7 @@ type SidePanelObjectPickerItemProps = { objectMetadataItem: ObjectMetadataItem; isViewItem: boolean; onSelectObjectForViewEdit?: (objectMetadataItem: ObjectMetadataItem) => void; - onChangeObject: ( - objectMetadataItem: ObjectMetadataItem, - defaultViewId: string, - ) => void; + onChangeObject: (objectMetadataItem: ObjectMetadataItem) => void; objectMenuItemVariant?: 'add' | 'edit'; dragIndex?: number; disableDrag?: boolean; diff --git a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectPickerSubView.tsx b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectPickerSubView.tsx index af0c65adbb1..5fd8069fa84 100644 --- a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectPickerSubView.tsx +++ b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelObjectPickerSubView.tsx @@ -19,10 +19,7 @@ type SidePanelObjectPickerSubViewProps = { onOpenSystemPicker: () => void; isViewItem: boolean; onSelectObjectForViewEdit?: (objectMetadataItem: ObjectMetadataItem) => void; - onChangeObject: ( - objectMetadataItem: ObjectMetadataItem, - defaultViewId: string, - ) => void; + onChangeObject: (objectMetadataItem: ObjectMetadataItem) => void; objectMenuItemVariant?: 'add' | 'edit'; emptyNoResultsText?: string; disableDrag?: boolean; diff --git a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelSystemObjectPickerSubView.tsx b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelSystemObjectPickerSubView.tsx index b1fe37df6d0..f081b1c6da6 100644 --- a/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelSystemObjectPickerSubView.tsx +++ b/packages/twenty-front/src/modules/side-panel/pages/navigation-menu-item/components/SidePanelSystemObjectPickerSubView.tsx @@ -14,10 +14,7 @@ type SidePanelSystemObjectPickerSubViewProps = { onSearchChange: (value: string) => void; isViewItem: boolean; onSelectObjectForViewEdit?: (objectMetadataItem: ObjectMetadataItem) => void; - onChangeObject: ( - objectMetadataItem: ObjectMetadataItem, - defaultViewId: string, - ) => void; + onChangeObject: (objectMetadataItem: ObjectMetadataItem) => void; objectMenuItemVariant?: 'add' | 'edit'; emptyNoResultsText?: string; disableDrag?: boolean; diff --git a/packages/twenty-sdk/src/cli/__tests__/apps/postcard-app/__integration__/app-dev/expected-manifest.ts b/packages/twenty-sdk/src/cli/__tests__/apps/postcard-app/__integration__/app-dev/expected-manifest.ts index 7eea599d65a..980510242fc 100644 --- a/packages/twenty-sdk/src/cli/__tests__/apps/postcard-app/__integration__/app-dev/expected-manifest.ts +++ b/packages/twenty-sdk/src/cli/__tests__/apps/postcard-app/__integration__/app-dev/expected-manifest.ts @@ -3,6 +3,7 @@ import type { Manifest } from 'twenty-shared/application'; import { PermissionFlagType } from 'twenty-shared/constants'; import { FieldMetadataType, + NavigationMenuItemType, RelationOnDeleteAction, RelationType, ViewType, @@ -1569,19 +1570,22 @@ export const EXPECTED_MANIFEST: Manifest = { ], navigationMenuItems: [ { + type: NavigationMenuItemType.OBJECT, position: 2, universalIdentifier: 'c1a2b3c4-0003-4a7b-8c9d-0e1f2a3b4c5d', - viewUniversalIdentifier: 'b1a2b3c4-0003-4a7b-8c9d-0e1f2a3b4c5d', + targetObjectUniversalIdentifier: 'e1a2b3c4-5e6f-4a7b-8c9d-0e1f2a3b4c5e', }, { + type: NavigationMenuItemType.OBJECT, position: 0, universalIdentifier: 'c1a2b3c4-0001-4a7b-8c9d-0e1f2a3b4c5d', - viewUniversalIdentifier: 'b1a2b3c4-0001-4a7b-8c9d-0e1f2a3b4c5d', + targetObjectUniversalIdentifier: '54b589ca-eeed-4950-a176-358418b85c05', }, { + type: NavigationMenuItemType.OBJECT, position: 1, universalIdentifier: 'c1a2b3c4-0002-4a7b-8c9d-0e1f2a3b4c5d', - viewUniversalIdentifier: 'b1a2b3c4-0002-4a7b-8c9d-0e1f2a3b4c5d', + targetObjectUniversalIdentifier: 'd1a2b3c4-5e6f-4a7b-8c9d-0e1f2a3b4c5d', }, ], logicFunctions: [ diff --git a/packages/twenty-sdk/src/cli/commands/entity/entity-add.ts b/packages/twenty-sdk/src/cli/commands/entity/entity-add.ts index aa3a5e73973..b1973e60dfe 100644 --- a/packages/twenty-sdk/src/cli/commands/entity/entity-add.ts +++ b/packages/twenty-sdk/src/cli/commands/entity/entity-add.ts @@ -260,7 +260,8 @@ export class EntityAddCommand { const navFile = getNavigationMenuItemBaseFile({ name: objectName, - viewUniversalIdentifier, + type: 'OBJECT', + targetObjectUniversalIdentifier: this.lastObjectUniversalIdentifier, }); const navFolderPath = customPath diff --git a/packages/twenty-sdk/src/cli/utilities/entity/__tests__/get-navigation-menu-item-base-file.spec.ts b/packages/twenty-sdk/src/cli/utilities/entity/__tests__/get-navigation-menu-item-base-file.spec.ts index 82323b6a55e..e75f2120366 100644 --- a/packages/twenty-sdk/src/cli/utilities/entity/__tests__/get-navigation-menu-item-base-file.spec.ts +++ b/packages/twenty-sdk/src/cli/utilities/entity/__tests__/get-navigation-menu-item-base-file.spec.ts @@ -19,25 +19,35 @@ describe('getNavigationMenuItemBaseFile', () => { expect(result).toContain('position: 0'); }); - it('should include viewUniversalIdentifier when provided', () => { + it('should include viewUniversalIdentifier when type is VIEW', () => { const result = getNavigationMenuItemBaseFile({ name: 'linked-item', + type: 'VIEW', viewUniversalIdentifier: 'view-uuid-123', }); + expect(result).toContain("type: 'VIEW'"); expect(result).toContain("viewUniversalIdentifier: 'view-uuid-123'"); - expect(result).not.toContain('// Link to a view:'); }); - it('should include commented link options when viewUniversalIdentifier is not provided', () => { + it('should default to VIEW type when no type is provided', () => { const result = getNavigationMenuItemBaseFile({ name: 'unlinked-item', }); - expect(result).toContain('// Link to a view:'); + expect(result).toContain("type: 'VIEW'"); expect(result).toContain('// viewUniversalIdentifier:'); - expect(result).toContain('// targetObjectUniversalIdentifier:'); - expect(result).toContain('// link:'); + }); + + it('should include targetObjectUniversalIdentifier when type is OBJECT', () => { + const result = getNavigationMenuItemBaseFile({ + name: 'object-item', + type: 'OBJECT', + targetObjectUniversalIdentifier: 'obj-uuid-123', + }); + + expect(result).toContain("type: 'OBJECT'"); + expect(result).toContain("targetObjectUniversalIdentifier: 'obj-uuid-123'"); }); it('should generate unique UUID when not provided', () => { diff --git a/packages/twenty-sdk/src/cli/utilities/entity/entity-navigation-menu-item-template.ts b/packages/twenty-sdk/src/cli/utilities/entity/entity-navigation-menu-item-template.ts index 6e56b10e725..65c555e9d26 100644 --- a/packages/twenty-sdk/src/cli/utilities/entity/entity-navigation-menu-item-template.ts +++ b/packages/twenty-sdk/src/cli/utilities/entity/entity-navigation-menu-item-template.ts @@ -4,22 +4,35 @@ import { v4 } from 'uuid'; export const getNavigationMenuItemBaseFile = ({ name, universalIdentifier = v4(), + type, viewUniversalIdentifier, + targetObjectUniversalIdentifier, }: { name: string; universalIdentifier?: string; + type?: 'OBJECT' | 'VIEW' | 'LINK' | 'FOLDER'; viewUniversalIdentifier?: string; + targetObjectUniversalIdentifier?: string; }) => { const kebabCaseName = kebabCase(name); - const linkConfig = viewUniversalIdentifier - ? ` viewUniversalIdentifier: '${viewUniversalIdentifier}',` - : ` // Link to a view: - // viewUniversalIdentifier: '...', - // Or link to an object: - // targetObjectUniversalIdentifier: '...', - // Or link to an external URL: - // link: 'https://example.com',`; + let typeAndConfig: string; + + if (type === 'OBJECT' && targetObjectUniversalIdentifier) { + typeAndConfig = ` type: 'OBJECT', + targetObjectUniversalIdentifier: '${targetObjectUniversalIdentifier}',`; + } else if (type === 'VIEW' && viewUniversalIdentifier) { + typeAndConfig = ` type: 'VIEW', + viewUniversalIdentifier: '${viewUniversalIdentifier}',`; + } else if (type === 'LINK') { + typeAndConfig = ` type: 'LINK', + link: 'https://example.com',`; + } else if (type === 'FOLDER') { + typeAndConfig = ` type: 'FOLDER',`; + } else { + typeAndConfig = ` type: 'VIEW', + // viewUniversalIdentifier: '...',`; + } return `import { defineNavigationMenuItem } from 'twenty-sdk'; @@ -28,7 +41,7 @@ export default defineNavigationMenuItem({ name: '${kebabCaseName}', icon: 'IconList', position: 0, -${linkConfig} +${typeAndConfig} }); `; }; diff --git a/packages/twenty-sdk/src/clients/generated/metadata/schema.graphql b/packages/twenty-sdk/src/clients/generated/metadata/schema.graphql index 7b70aa6eb39..fa6b0589824 100644 --- a/packages/twenty-sdk/src/clients/generated/metadata/schema.graphql +++ b/packages/twenty-sdk/src/clients/generated/metadata/schema.graphql @@ -485,6 +485,7 @@ type ObjectStandardOverrides { labelPlural: String description: String icon: String + color: String translations: JSON } @@ -499,6 +500,7 @@ type Object { icon: String standardOverrides: ObjectStandardOverrides shortcut: String + color: String isCustom: Boolean! isRemote: Boolean! isActive: Boolean! @@ -1939,6 +1941,7 @@ type NavigationMenuItem { targetRecordId: UUID targetObjectMetadataId: UUID viewId: UUID + type: NavigationMenuItemType! name: String link: String icon: String @@ -1951,6 +1954,14 @@ type NavigationMenuItem { targetRecordIdentifier: RecordIdentifier } +enum NavigationMenuItemType { + VIEW + FOLDER + LINK + OBJECT + RECORD +} + type LogicFunctionExecutionResult { """Execution result in JSON format""" data: JSON @@ -2245,6 +2256,7 @@ type MinimalObjectMetadata { labelSingular: String! labelPlural: String! icon: String + color: String isCustom: Boolean! isActive: Boolean! isSystem: Boolean! @@ -3507,6 +3519,7 @@ input CreateObjectInput { description: String icon: String shortcut: String + color: String skipNameField: Boolean isRemote: Boolean primaryKeyColumnType: String @@ -3534,6 +3547,7 @@ input UpdateObjectPayload { description: String icon: String shortcut: String + color: String isActive: Boolean labelIdentifierFieldMetadataId: UUID imageIdentifierFieldMetadataId: UUID @@ -3791,6 +3805,7 @@ input CreateNavigationMenuItemInput { targetRecordId: UUID targetObjectMetadataId: UUID viewId: UUID + type: NavigationMenuItemType! name: String link: String icon: String diff --git a/packages/twenty-sdk/src/clients/generated/metadata/schema.ts b/packages/twenty-sdk/src/clients/generated/metadata/schema.ts index e682ccf6474..5b5c3aea9d3 100644 --- a/packages/twenty-sdk/src/clients/generated/metadata/schema.ts +++ b/packages/twenty-sdk/src/clients/generated/metadata/schema.ts @@ -344,6 +344,7 @@ export interface ObjectStandardOverrides { labelPlural?: Scalars['String'] description?: Scalars['String'] icon?: Scalars['String'] + color?: Scalars['String'] translations?: Scalars['JSON'] __typename: 'ObjectStandardOverrides' } @@ -359,6 +360,7 @@ export interface Object { icon?: Scalars['String'] standardOverrides?: ObjectStandardOverrides shortcut?: Scalars['String'] + color?: Scalars['String'] isCustom: Scalars['Boolean'] isRemote: Scalars['Boolean'] isActive: Scalars['Boolean'] @@ -1675,6 +1677,7 @@ export interface NavigationMenuItem { targetRecordId?: Scalars['UUID'] targetObjectMetadataId?: Scalars['UUID'] viewId?: Scalars['UUID'] + type: NavigationMenuItemType name?: Scalars['String'] link?: Scalars['String'] icon?: Scalars['String'] @@ -1688,6 +1691,8 @@ export interface NavigationMenuItem { __typename: 'NavigationMenuItem' } +export type NavigationMenuItemType = 'VIEW' | 'FOLDER' | 'LINK' | 'OBJECT' | 'RECORD' + export interface LogicFunctionExecutionResult { /** Execution result in JSON format */ data?: Scalars['JSON'] @@ -1901,6 +1906,7 @@ export interface MinimalObjectMetadata { labelSingular: Scalars['String'] labelPlural: Scalars['String'] icon?: Scalars['String'] + color?: Scalars['String'] isCustom: Scalars['Boolean'] isActive: Scalars['Boolean'] isSystem: Scalars['Boolean'] @@ -3247,6 +3253,7 @@ export interface ObjectStandardOverridesGenqlSelection{ labelPlural?: boolean | number description?: boolean | number icon?: boolean | number + color?: boolean | number translations?: boolean | number __typename?: boolean | number __scalar?: boolean | number @@ -3263,6 +3270,7 @@ export interface ObjectGenqlSelection{ icon?: boolean | number standardOverrides?: ObjectStandardOverridesGenqlSelection shortcut?: boolean | number + color?: boolean | number isCustom?: boolean | number isRemote?: boolean | number isActive?: boolean | number @@ -4666,6 +4674,7 @@ export interface NavigationMenuItemGenqlSelection{ targetRecordId?: boolean | number targetObjectMetadataId?: boolean | number viewId?: boolean | number + type?: boolean | number name?: boolean | number link?: boolean | number icon?: boolean | number @@ -4900,6 +4909,7 @@ export interface MinimalObjectMetadataGenqlSelection{ labelSingular?: boolean | number labelPlural?: boolean | number icon?: boolean | number + color?: boolean | number isCustom?: boolean | number isActive?: boolean | number isSystem?: boolean | number @@ -6006,7 +6016,7 @@ export interface CreateOneObjectInput { /** The object to create */ object: CreateObjectInput} -export interface CreateObjectInput {nameSingular: Scalars['String'],namePlural: Scalars['String'],labelSingular: Scalars['String'],labelPlural: Scalars['String'],description?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),shortcut?: (Scalars['String'] | null),skipNameField?: (Scalars['Boolean'] | null),isRemote?: (Scalars['Boolean'] | null),primaryKeyColumnType?: (Scalars['String'] | null),primaryKeyFieldMetadataSettings?: (Scalars['JSON'] | null),isLabelSyncedWithName?: (Scalars['Boolean'] | null)} +export interface CreateObjectInput {nameSingular: Scalars['String'],namePlural: Scalars['String'],labelSingular: Scalars['String'],labelPlural: Scalars['String'],description?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),shortcut?: (Scalars['String'] | null),color?: (Scalars['String'] | null),skipNameField?: (Scalars['Boolean'] | null),isRemote?: (Scalars['Boolean'] | null),primaryKeyColumnType?: (Scalars['String'] | null),primaryKeyFieldMetadataSettings?: (Scalars['JSON'] | null),isLabelSyncedWithName?: (Scalars['Boolean'] | null)} export interface DeleteOneObjectInput { /** The id of the record to delete. */ @@ -6016,7 +6026,7 @@ export interface UpdateOneObjectInput {update: UpdateObjectPayload, /** The id of the object to update */ id: Scalars['UUID']} -export interface UpdateObjectPayload {labelSingular?: (Scalars['String'] | null),labelPlural?: (Scalars['String'] | null),nameSingular?: (Scalars['String'] | null),namePlural?: (Scalars['String'] | null),description?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),shortcut?: (Scalars['String'] | null),isActive?: (Scalars['Boolean'] | null),labelIdentifierFieldMetadataId?: (Scalars['UUID'] | null),imageIdentifierFieldMetadataId?: (Scalars['UUID'] | null),isLabelSyncedWithName?: (Scalars['Boolean'] | null)} +export interface UpdateObjectPayload {labelSingular?: (Scalars['String'] | null),labelPlural?: (Scalars['String'] | null),nameSingular?: (Scalars['String'] | null),namePlural?: (Scalars['String'] | null),description?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),shortcut?: (Scalars['String'] | null),color?: (Scalars['String'] | null),isActive?: (Scalars['Boolean'] | null),labelIdentifierFieldMetadataId?: (Scalars['UUID'] | null),imageIdentifierFieldMetadataId?: (Scalars['UUID'] | null),isLabelSyncedWithName?: (Scalars['Boolean'] | null)} export interface UpdateViewFieldInput { /** The id of the view field to update */ @@ -6108,7 +6118,7 @@ export interface CreateAgentInput {name?: (Scalars['String'] | null),label: Scal export interface UpdateAgentInput {id: Scalars['UUID'],name?: (Scalars['String'] | null),label?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),description?: (Scalars['String'] | null),prompt?: (Scalars['String'] | null),modelId?: (Scalars['String'] | null),roleId?: (Scalars['UUID'] | null),responseFormat?: (Scalars['JSON'] | null),modelConfiguration?: (Scalars['JSON'] | null),evaluationInputs?: (Scalars['String'][] | null)} -export interface CreateNavigationMenuItemInput {userWorkspaceId?: (Scalars['UUID'] | null),targetRecordId?: (Scalars['UUID'] | null),targetObjectMetadataId?: (Scalars['UUID'] | null),viewId?: (Scalars['UUID'] | null),name?: (Scalars['String'] | null),link?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),color?: (Scalars['String'] | null),folderId?: (Scalars['UUID'] | null),position?: (Scalars['Float'] | null)} +export interface CreateNavigationMenuItemInput {userWorkspaceId?: (Scalars['UUID'] | null),targetRecordId?: (Scalars['UUID'] | null),targetObjectMetadataId?: (Scalars['UUID'] | null),viewId?: (Scalars['UUID'] | null),type: NavigationMenuItemType,name?: (Scalars['String'] | null),link?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),color?: (Scalars['String'] | null),folderId?: (Scalars['UUID'] | null),position?: (Scalars['Float'] | null)} export interface UpdateOneNavigationMenuItemInput { /** The id of the record to update */ @@ -8694,6 +8704,14 @@ export const enumRelationType = { MANY_TO_ONE: 'MANY_TO_ONE' as const } +export const enumNavigationMenuItemType = { + VIEW: 'VIEW' as const, + FOLDER: 'FOLDER' as const, + LINK: 'LINK' as const, + OBJECT: 'OBJECT' as const, + RECORD: 'RECORD' as const +} + export const enumLogicFunctionExecutionStatus = { IDLE: 'IDLE' as const, SUCCESS: 'SUCCESS' as const, diff --git a/packages/twenty-sdk/src/clients/generated/metadata/types.ts b/packages/twenty-sdk/src/clients/generated/metadata/types.ts index 4da9357f141..4048e30a88b 100644 --- a/packages/twenty-sdk/src/clients/generated/metadata/types.ts +++ b/packages/twenty-sdk/src/clients/generated/metadata/types.ts @@ -50,32 +50,33 @@ export default { 160, 164, 183, - 218, - 226, + 217, + 219, 227, - 237, - 245, + 228, + 238, 246, - 251, - 254, - 260, + 247, + 252, + 255, 261, - 263, - 268, - 273, + 262, + 264, + 269, 274, - 286, - 302, + 275, + 287, 303, - 326, - 333, + 304, + 327, 334, 335, - 337, - 346, - 393, - 456, - 457 + 336, + 338, + 347, + 394, + 457, + 458 ], "types": { "BillingProductDTO": { @@ -1009,6 +1010,9 @@ export default { "icon": [ 1 ], + "color": [ + 1 + ], "translations": [ 15 ], @@ -1047,6 +1051,9 @@ export default { "shortcut": [ 1 ], + "color": [ + 1 + ], "isCustom": [ 6 ], @@ -3861,6 +3868,9 @@ export default { "viewId": [ 3 ], + "type": [ + 217 + ], "name": [ 1 ], @@ -3895,6 +3905,7 @@ export default { 1 ] }, + "NavigationMenuItemType": {}, "LogicFunctionExecutionResult": { "data": [ 15 @@ -3906,7 +3917,7 @@ export default { 11 ], "status": [ - 218 + 219 ], "error": [ 15 @@ -4114,7 +4125,7 @@ export default { 6 ], "applicationTokenPair": [ - 223 + 224 ], "__typename": [ 1 @@ -4131,10 +4142,10 @@ export default { 3 ], "frontComponent": [ - 224 + 225 ], "engineComponentKey": [ - 226 + 227 ], "label": [ 1 @@ -4152,7 +4163,7 @@ export default { 6 ], "availabilityType": [ - 227 + 228 ], "conditionalAvailabilityExpression": [ 1 @@ -4227,7 +4238,7 @@ export default { 1 ], "parts": [ - 221 + 222 ], "createdAt": [ 4 @@ -4252,7 +4263,7 @@ export default { }, "AISystemPromptPreview": { "sections": [ - 230 + 231 ], "estimatedTokenCount": [ 21 @@ -4263,7 +4274,7 @@ export default { }, "AgentChatThreadEdge": { "node": [ - 228 + 229 ], "cursor": [ 40 @@ -4277,7 +4288,7 @@ export default { 170 ], "edges": [ - 232 + 233 ], "__typename": [ 1 @@ -4314,10 +4325,10 @@ export default { 3 ], "evaluations": [ - 234 + 235 ], "messages": [ - 229 + 230 ], "createdAt": [ 4 @@ -4328,7 +4339,7 @@ export default { }, "CollectionHash": { "collectionName": [ - 237 + 238 ], "hash": [ 1 @@ -4357,6 +4368,9 @@ export default { "icon": [ 1 ], + "color": [ + 1 + ], "isCustom": [ 6 ], @@ -4392,13 +4406,13 @@ export default { }, "MinimalMetadata": { "objectMetadataItems": [ - 238 - ], - "views": [ 239 ], + "views": [ + 240 + ], "collectionHashes": [ - 236 + 237 ], "__typename": [ 1 @@ -4466,10 +4480,10 @@ export default { 1 ], "modelFamily": [ - 245 + 246 ], "inferenceProvider": [ - 246 + 247 ], "inputCostPerMillionTokensInCredits": [ 11 @@ -4478,7 +4492,7 @@ export default { 11 ], "nativeCapabilities": [ - 243 + 244 ], "deprecated": [ 6 @@ -4500,10 +4514,10 @@ export default { 1 ], "modelFamily": [ - 245 + 246 ], "inferenceProvider": [ - 246 + 247 ], "isAvailable": [ 6 @@ -4526,7 +4540,7 @@ export default { 6 ], "models": [ - 247 + 248 ], "__typename": [ 1 @@ -4540,7 +4554,7 @@ export default { 1 ], "trialPeriods": [ - 242 + 243 ], "__typename": [ 1 @@ -4548,7 +4562,7 @@ export default { }, "Support": { "supportDriver": [ - 251 + 252 ], "supportFrontChatId": [ 1 @@ -4574,7 +4588,7 @@ export default { }, "Captcha": { "provider": [ - 254 + 255 ], "siteKey": [ 1 @@ -4611,7 +4625,7 @@ export default { 164 ], "metadata": [ - 256 + 257 ], "__typename": [ 1 @@ -4625,10 +4639,10 @@ export default { 166 ], "billing": [ - 249 + 250 ], "aiModels": [ - 244 + 245 ], "signInPrefilled": [ 6 @@ -4649,28 +4663,28 @@ export default { 6 ], "support": [ - 250 + 251 ], "isAttachmentPreviewEnabled": [ 6 ], "sentry": [ - 252 + 253 ], "captcha": [ - 253 + 254 ], "chromeExtensionId": [ 1 ], "api": [ - 255 + 256 ], "canManageFeatureFlags": [ 6 ], "publicFeatureFlags": [ - 257 + 258 ], "isMicrosoftMessagingEnabled": [ 6 @@ -4720,13 +4734,13 @@ export default { 6 ], "source": [ - 260 + 261 ], "isEnvOnly": [ 6 ], "type": [ - 261 + 262 ], "options": [ 15 @@ -4739,10 +4753,10 @@ export default { "ConfigVariableType": {}, "ConfigVariablesGroupData": { "variables": [ - 259 + 260 ], "name": [ - 263 + 264 ], "description": [ 1 @@ -4757,7 +4771,7 @@ export default { "ConfigVariablesGroup": {}, "ConfigVariables": { "groups": [ - 262 + 263 ], "__typename": [ 1 @@ -4782,7 +4796,7 @@ export default { 21 ], "results": [ - 265 + 266 ], "__typename": [ 1 @@ -4799,7 +4813,7 @@ export default { 15 ], "state": [ - 268 + 269 ], "timestamp": [ 11 @@ -4849,7 +4863,7 @@ export default { }, "QueueJobsResponse": { "jobs": [ - 267 + 268 ], "count": [ 11 @@ -4861,7 +4875,7 @@ export default { 6 ], "retentionConfig": [ - 269 + 270 ], "__typename": [ 1 @@ -4872,7 +4886,7 @@ export default { 21 ], "results": [ - 265 + 266 ], "__typename": [ 1 @@ -4880,13 +4894,13 @@ export default { }, "SystemHealthService": { "id": [ - 273 + 274 ], "label": [ 1 ], "status": [ - 274 + 275 ], "__typename": [ 1 @@ -4896,7 +4910,7 @@ export default { "AdminPanelHealthServiceStatus": {}, "SystemHealth": { "services": [ - 272 + 273 ], "__typename": [ 1 @@ -4939,7 +4953,7 @@ export default { 152 ], "users": [ - 276 + 277 ], "featureFlags": [ 163 @@ -4950,10 +4964,10 @@ export default { }, "UserLookup": { "user": [ - 276 + 277 ], "workspaces": [ - 277 + 278 ], "__typename": [ 1 @@ -4978,7 +4992,7 @@ export default { 1 ], "status": [ - 274 + 275 ], "__typename": [ 1 @@ -4986,7 +5000,7 @@ export default { }, "AdminPanelHealthServiceData": { "id": [ - 273 + 274 ], "label": [ 1 @@ -4995,7 +5009,7 @@ export default { 1 ], "status": [ - 274 + 275 ], "errorMessage": [ 1 @@ -5004,7 +5018,7 @@ export default { 1 ], "queues": [ - 280 + 281 ], "__typename": [ 1 @@ -5026,7 +5040,7 @@ export default { 1 ], "data": [ - 282 + 283 ], "__typename": [ 1 @@ -5069,13 +5083,13 @@ export default { 11 ], "timeRange": [ - 286 + 287 ], "details": [ - 284 + 285 ], "data": [ - 283 + 284 ], "__typename": [ 1 @@ -5181,7 +5195,7 @@ export default { 1 ], "fields": [ - 291 + 292 ], "__typename": [ 1 @@ -5278,10 +5292,10 @@ export default { 6 ], "objectPermissions": [ - 295 + 296 ], "fieldPermissions": [ - 296 + 297 ], "permissionFlags": [ 1 @@ -5331,19 +5345,19 @@ export default { 1 ], "objects": [ - 292 - ], - "fields": [ - 291 - ], - "logicFunctions": [ 293 ], - "frontComponents": [ + "fields": [ + 292 + ], + "logicFunctions": [ 294 ], + "frontComponents": [ + 295 + ], "defaultRole": [ - 297 + 298 ], "sourcePackage": [ 1 @@ -5403,13 +5417,13 @@ export default { 1 ], "driver": [ - 302 - ], - "status": [ 303 ], + "status": [ + 304 + ], "verificationRecords": [ - 300 + 301 ], "verifiedAt": [ 4 @@ -5456,7 +5470,7 @@ export default { 1 ], "location": [ - 305 + 306 ], "__typename": [ 1 @@ -5484,13 +5498,13 @@ export default { }, "ImapSmtpCaldavConnectionParameters": { "IMAP": [ - 307 + 308 ], "SMTP": [ - 307 + 308 ], "CALDAV": [ - 307 + 308 ], "__typename": [ 1 @@ -5510,7 +5524,7 @@ export default { 3 ], "connectionParameters": [ - 308 + 309 ], "__typename": [ 1 @@ -5574,7 +5588,7 @@ export default { 1 ], "series": [ - 313 + 314 ], "xAxisLabel": [ 1 @@ -5623,7 +5637,7 @@ export default { 1 ], "data": [ - 315 + 316 ], "__typename": [ 1 @@ -5631,7 +5645,7 @@ export default { }, "LineChartData": { "series": [ - 316 + 317 ], "xAxisLabel": [ 1 @@ -5668,7 +5682,7 @@ export default { }, "PieChartData": { "data": [ - 318 + 319 ], "showLegend": [ 6 @@ -5751,13 +5765,13 @@ export default { }, "EventLogQueryResult": { "records": [ - 321 + 322 ], "totalCount": [ 21 ], "pageInfo": [ - 322 + 323 ], "__typename": [ 1 @@ -5824,7 +5838,7 @@ export default { 32, { "input": [ - 325, + 326, "LogicFunctionIdInput!" ] } @@ -5836,7 +5850,7 @@ export default { 15, { "input": [ - 325, + 326, "LogicFunctionIdInput!" ] } @@ -5845,7 +5859,7 @@ export default { 1, { "input": [ - 325, + 326, "LogicFunctionIdInput!" ] } @@ -5972,10 +5986,10 @@ export default { } ], "commandMenuItems": [ - 225 + 226 ], "commandMenuItem": [ - 225, + 226, { "id": [ 3, @@ -5984,10 +5998,10 @@ export default { } ], "frontComponents": [ - 224 + 225 ], "frontComponent": [ - 224, + 225, { "id": [ 3, @@ -6002,7 +6016,7 @@ export default { 25, { "input": [ - 327, + 328, "AgentIdInput!" ] } @@ -6059,7 +6073,7 @@ export default { 2, { "input": [ - 328, + 329, "GetApiKeyInput!" ] } @@ -6074,7 +6088,7 @@ export default { 147 ], "getToolIndex": [ - 220 + 221 ], "getToolInputSchema": [ 15, @@ -6272,10 +6286,10 @@ export default { 193 ], "webhooks": [ - 241 + 242 ], "webhook": [ - 241, + 242, { "id": [ 3, @@ -6284,10 +6298,10 @@ export default { } ], "minimalMetadata": [ - 240 + 241 ], "chatThread": [ - 228, + 229, { "id": [ 3, @@ -6296,7 +6310,7 @@ export default { } ], "chatMessages": [ - 229, + 230, { "threadId": [ 3, @@ -6305,13 +6319,13 @@ export default { } ], "getAISystemPromptPreview": [ - 231 + 232 ], "skills": [ - 222 + 223 ], "skill": [ - 222, + 223, { "id": [ 3, @@ -6320,24 +6334,24 @@ export default { } ], "chatThreads": [ - 233, + 234, { "paging": [ 39, "CursorPaging!" ], "filter": [ - 329, + 330, "AgentChatThreadFilter!" ], "sorting": [ - 332, + 333, "[AgentChatThreadSort!]!" ] } ], "agentTurns": [ - 235, + 236, { "agentId": [ 3, @@ -6346,43 +6360,43 @@ export default { } ], "eventLogs": [ - 323, + 324, { "input": [ - 336, + 337, "EventLogQueryInput!" ] } ], "pieChartData": [ - 319, + 320, { "input": [ - 340, + 341, "PieChartDataInput!" ] } ], "lineChartData": [ - 317, + 318, { "input": [ - 341, + 342, "LineChartDataInput!" ] } ], "barChartData": [ - 314, + 315, { "input": [ - 342, + 343, "BarChartDataInput!" ] } ], "getConnectedImapSmtpCaldavAccount": [ - 309, + 310, { "id": [ 3, @@ -6391,7 +6405,7 @@ export default { } ], "getAutoCompleteAddress": [ - 304, + 305, { "address": [ 1, @@ -6410,7 +6424,7 @@ export default { } ], "getAddressDetails": [ - 306, + 307, { "placeId": [ 1, @@ -6423,40 +6437,40 @@ export default { } ], "getConfigVariablesGrouped": [ - 264 + 265 ], "getSystemHealthStatus": [ - 275 + 276 ], "getIndicatorHealthStatus": [ - 281, + 282, { "indicatorId": [ - 273, + 274, "HealthIndicatorId!" ] } ], "getQueueMetrics": [ - 285, + 286, { "queueName": [ 1, "String!" ], "timeRange": [ - 286 + 287 ] } ], "versionInfo": [ - 279 + 280 ], "getAdminAiModels": [ - 248 + 249 ], "getDatabaseConfigVariable": [ - 259, + 260, { "key": [ 1, @@ -6465,14 +6479,14 @@ export default { } ], "getQueueJobs": [ - 270, + 271, { "queueName": [ 1, "String!" ], "state": [ - 268, + 269, "JobState!" ], "limit": [ @@ -6487,19 +6501,19 @@ export default { 7 ], "getPostgresCredentials": [ - 311 + 312 ], "findManyPublicDomains": [ - 299 + 300 ], "getEmailingDomains": [ - 301 + 302 ], "findManyMarketplaceApps": [ - 298 + 299 ], "findOneMarketplaceApp": [ - 298, + 299, { "universalIdentifier": [ 1, @@ -6527,7 +6541,7 @@ export default { }, "LogicFunctionIdInput": { "id": [ - 326 + 327 ], "__typename": [ 1 @@ -6552,16 +6566,16 @@ export default { }, "AgentChatThreadFilter": { "and": [ - 329 + 330 ], "or": [ - 329 + 330 ], "id": [ 42 ], "updatedAt": [ - 330 + 331 ], "__typename": [ 1 @@ -6599,10 +6613,10 @@ export default { 4 ], "between": [ - 331 + 332 ], "notBetween": [ - 331 + 332 ], "__typename": [ 1 @@ -6621,14 +6635,14 @@ export default { }, "AgentChatThreadSort": { "field": [ - 333 - ], - "direction": [ 334 ], - "nulls": [ + "direction": [ 335 ], + "nulls": [ + 336 + ], "__typename": [ 1 ] @@ -6638,10 +6652,10 @@ export default { "SortNulls": {}, "EventLogQueryInput": { "table": [ - 337 + 338 ], "filters": [ - 338 + 339 ], "first": [ 21 @@ -6662,7 +6676,7 @@ export default { 1 ], "dateRange": [ - 339 + 340 ], "recordId": [ 1 @@ -6723,7 +6737,7 @@ export default { 6, { "input": [ - 344, + 345, "AddQuerySubscriptionInput!" ] } @@ -6732,7 +6746,7 @@ export default { 6, { "input": [ - 345, + 346, "RemoveQueryFromEventStreamInput!" ] } @@ -6761,7 +6775,7 @@ export default { 122, { "type": [ - 346, + 347, "AnalyticsType!" ], "name": [ @@ -6779,7 +6793,7 @@ export default { 75, { "input": [ - 347, + 348, "CreatePageLayoutWidgetInput!" ] } @@ -6792,7 +6806,7 @@ export default { "String!" ], "input": [ - 349, + 350, "UpdatePageLayoutWidgetInput!" ] } @@ -6810,7 +6824,7 @@ export default { 110, { "input": [ - 350, + 351, "CreatePageLayoutTabInput!" ] } @@ -6823,7 +6837,7 @@ export default { "String!" ], "input": [ - 351, + 352, "UpdatePageLayoutTabInput!" ] } @@ -6841,7 +6855,7 @@ export default { 111, { "input": [ - 352, + 353, "CreatePageLayoutInput!" ] } @@ -6854,7 +6868,7 @@ export default { "String!" ], "input": [ - 353, + 354, "UpdatePageLayoutInput!" ] } @@ -6876,7 +6890,7 @@ export default { "String!" ], "input": [ - 354, + 355, "UpdatePageLayoutWithTabsInput!" ] } @@ -6885,7 +6899,7 @@ export default { 32, { "input": [ - 325, + 326, "LogicFunctionIdInput!" ] } @@ -6894,16 +6908,16 @@ export default { 32, { "input": [ - 357, + 358, "CreateLogicFunctionFromSourceInput!" ] } ], "executeOneLogicFunction": [ - 217, + 218, { "input": [ - 358, + 359, "ExecuteOneLogicFunctionInput!" ] } @@ -6912,7 +6926,7 @@ export default { 6, { "input": [ - 359, + 360, "UpdateLogicFunctionFromSourceInput!" ] } @@ -6921,7 +6935,7 @@ export default { 46, { "input": [ - 361, + 362, "CreateOneObjectInput!" ] } @@ -6930,7 +6944,7 @@ export default { 46, { "input": [ - 363, + 364, "DeleteOneObjectInput!" ] } @@ -6939,7 +6953,7 @@ export default { 46, { "input": [ - 364, + 365, "UpdateOneObjectInput!" ] } @@ -6948,7 +6962,7 @@ export default { 50, { "input": [ - 366, + 367, "UpdateViewFieldInput!" ] } @@ -6957,7 +6971,7 @@ export default { 50, { "input": [ - 368, + 369, "CreateViewFieldInput!" ] } @@ -6966,7 +6980,7 @@ export default { 50, { "inputs": [ - 368, + 369, "[CreateViewFieldInput!]!" ] } @@ -6975,7 +6989,7 @@ export default { 50, { "input": [ - 369, + 370, "DeleteViewFieldInput!" ] } @@ -6984,7 +6998,7 @@ export default { 50, { "input": [ - 370, + 371, "DestroyViewFieldInput!" ] } @@ -6993,7 +7007,7 @@ export default { 60, { "input": [ - 371, + 372, "CreateViewInput!" ] } @@ -7006,7 +7020,7 @@ export default { "String!" ], "input": [ - 372, + 373, "UpdateViewInput!" ] } @@ -7033,7 +7047,7 @@ export default { 57, { "input": [ - 373, + 374, "CreateViewSortInput!" ] } @@ -7042,7 +7056,7 @@ export default { 57, { "input": [ - 374, + 375, "UpdateViewSortInput!" ] } @@ -7051,7 +7065,7 @@ export default { 6, { "input": [ - 376, + 377, "DeleteViewSortInput!" ] } @@ -7060,7 +7074,7 @@ export default { 6, { "input": [ - 377, + 378, "DestroyViewSortInput!" ] } @@ -7069,7 +7083,7 @@ export default { 59, { "input": [ - 378, + 379, "UpdateViewFieldGroupInput!" ] } @@ -7078,7 +7092,7 @@ export default { 59, { "input": [ - 380, + 381, "CreateViewFieldGroupInput!" ] } @@ -7087,7 +7101,7 @@ export default { 59, { "inputs": [ - 380, + 381, "[CreateViewFieldGroupInput!]!" ] } @@ -7096,7 +7110,7 @@ export default { 59, { "input": [ - 381, + 382, "DeleteViewFieldGroupInput!" ] } @@ -7105,7 +7119,7 @@ export default { 59, { "input": [ - 382, + 383, "DestroyViewFieldGroupInput!" ] } @@ -7114,31 +7128,31 @@ export default { 60, { "input": [ - 383, + 384, "UpsertFieldsWidgetInput!" ] } ], "createCommandMenuItem": [ - 225, + 226, { "input": [ - 386, + 387, "CreateCommandMenuItemInput!" ] } ], "updateCommandMenuItem": [ - 225, + 226, { "input": [ - 387, + 388, "UpdateCommandMenuItemInput!" ] } ], "deleteCommandMenuItem": [ - 225, + 226, { "id": [ 3, @@ -7147,25 +7161,25 @@ export default { } ], "createFrontComponent": [ - 224, + 225, { "input": [ - 388, + 389, "CreateFrontComponentInput!" ] } ], "updateFrontComponent": [ - 224, + 225, { "input": [ - 389, + 390, "UpdateFrontComponentInput!" ] } ], "deleteFrontComponent": [ - 224, + 225, { "id": [ 3, @@ -7177,7 +7191,7 @@ export default { 25, { "input": [ - 391, + 392, "CreateAgentInput!" ] } @@ -7186,7 +7200,7 @@ export default { 25, { "input": [ - 392, + 393, "UpdateAgentInput!" ] } @@ -7195,7 +7209,7 @@ export default { 25, { "input": [ - 327, + 328, "AgentIdInput!" ] } @@ -7204,7 +7218,7 @@ export default { 148, { "file": [ - 393, + 394, "Upload!" ] } @@ -7213,7 +7227,7 @@ export default { 148, { "file": [ - 393, + 394, "Upload!" ] } @@ -7222,7 +7236,7 @@ export default { 148, { "file": [ - 393, + 394, "Upload!" ] } @@ -7231,7 +7245,7 @@ export default { 148, { "file": [ - 393, + 394, "Upload!" ] } @@ -7240,7 +7254,7 @@ export default { 148, { "file": [ - 393, + 394, "Upload!" ], "fieldMetadataId": [ @@ -7253,7 +7267,7 @@ export default { 148, { "file": [ - 393, + 394, "Upload!" ], "fieldMetadataUniversalIdentifier": [ @@ -7325,7 +7339,7 @@ export default { 216, { "input": [ - 394, + 395, "CreateNavigationMenuItemInput!" ] } @@ -7334,7 +7348,7 @@ export default { 216, { "input": [ - 395, + 396, "UpdateOneNavigationMenuItemInput!" ] } @@ -7352,7 +7366,7 @@ export default { 2, { "input": [ - 397, + 398, "CreateApiKeyInput!" ] } @@ -7361,7 +7375,7 @@ export default { 2, { "input": [ - 398, + 399, "UpdateApiKeyInput!" ] } @@ -7370,7 +7384,7 @@ export default { 2, { "input": [ - 399, + 400, "RevokeApiKeyInput!" ] } @@ -7405,7 +7419,7 @@ export default { 29, { "createRoleInput": [ - 400, + 401, "CreateRoleInput!" ] } @@ -7414,7 +7428,7 @@ export default { 29, { "updateRoleInput": [ - 401, + 402, "UpdateRoleInput!" ] } @@ -7432,7 +7446,7 @@ export default { 16, { "upsertObjectPermissionsInput": [ - 403, + 404, "UpsertObjectPermissionsInput!" ] } @@ -7441,7 +7455,7 @@ export default { 27, { "upsertPermissionFlagsInput": [ - 405, + 406, "UpsertPermissionFlagsInput!" ] } @@ -7450,7 +7464,7 @@ export default { 26, { "upsertFieldPermissionsInput": [ - 406, + 407, "UpsertFieldPermissionsInput!" ] } @@ -7459,7 +7473,7 @@ export default { 181, { "input": [ - 408, + 409, "UpsertRowLevelPermissionPredicatesInput!" ] } @@ -7526,7 +7540,7 @@ export default { 147, { "input": [ - 411, + 412, "CreateApprovedAccessDomainInput!" ] } @@ -7535,7 +7549,7 @@ export default { 6, { "input": [ - 412, + 413, "DeleteApprovedAccessDomainInput!" ] } @@ -7544,7 +7558,7 @@ export default { 147, { "input": [ - 413, + 414, "ValidateApprovedAccessDomainInput!" ] } @@ -7553,7 +7567,7 @@ export default { 34, { "input": [ - 414, + 415, "CreateOneFieldMetadataInput!" ] } @@ -7562,7 +7576,7 @@ export default { 34, { "input": [ - 416, + 417, "UpdateOneFieldMetadataInput!" ] } @@ -7571,7 +7585,7 @@ export default { 34, { "input": [ - 418, + 419, "DeleteOneFieldInput!" ] } @@ -7580,7 +7594,7 @@ export default { 56, { "input": [ - 419, + 420, "CreateViewGroupInput!" ] } @@ -7589,7 +7603,7 @@ export default { 56, { "inputs": [ - 419, + 420, "[CreateViewGroupInput!]!" ] } @@ -7598,7 +7612,7 @@ export default { 56, { "input": [ - 420, + 421, "UpdateViewGroupInput!" ] } @@ -7607,7 +7621,7 @@ export default { 56, { "input": [ - 422, + 423, "DeleteViewGroupInput!" ] } @@ -7616,7 +7630,7 @@ export default { 56, { "input": [ - 423, + 424, "DestroyViewGroupInput!" ] } @@ -7625,7 +7639,7 @@ export default { 54, { "input": [ - 424, + 425, "CreateViewFilterInput!" ] } @@ -7634,7 +7648,7 @@ export default { 54, { "input": [ - 425, + 426, "UpdateViewFilterInput!" ] } @@ -7643,7 +7657,7 @@ export default { 54, { "input": [ - 427, + 428, "DeleteViewFilterInput!" ] } @@ -7652,7 +7666,7 @@ export default { 54, { "input": [ - 428, + 429, "DestroyViewFilterInput!" ] } @@ -7661,7 +7675,7 @@ export default { 52, { "input": [ - 429, + 430, "CreateViewFilterGroupInput!" ] } @@ -7674,7 +7688,7 @@ export default { "String!" ], "input": [ - 430, + 431, "UpdateViewFilterGroupInput!" ] } @@ -7738,7 +7752,7 @@ export default { 66, { "data": [ - 431, + 432, "ActivateWorkspaceInput!" ] } @@ -7747,7 +7761,7 @@ export default { 66, { "data": [ - 432, + 433, "UpdateWorkspaceInput!" ] } @@ -7762,7 +7776,7 @@ export default { 203, { "input": [ - 433, + 434, "GetAuthorizationUrlForSSOInput!" ] } @@ -8016,7 +8030,7 @@ export default { 187, { "input": [ - 434, + 435, "CreateApplicationRegistrationInput!" ] } @@ -8025,7 +8039,7 @@ export default { 7, { "input": [ - 435, + 436, "UpdateApplicationRegistrationInput!" ] } @@ -8052,7 +8066,7 @@ export default { 5, { "input": [ - 437, + 438, "CreateApplicationRegistrationVariableInput!" ] } @@ -8061,7 +8075,7 @@ export default { 5, { "input": [ - 438, + 439, "UpdateApplicationRegistrationVariableInput!" ] } @@ -8079,7 +8093,7 @@ export default { 7, { "file": [ - 393, + 394, "Upload!" ], "universalIdentifier": [ @@ -8138,7 +8152,7 @@ export default { 194, { "input": [ - 440, + 441, "SetupOIDCSsoInput!" ] } @@ -8147,7 +8161,7 @@ export default { 194, { "input": [ - 441, + 442, "SetupSAMLSsoInput!" ] } @@ -8156,7 +8170,7 @@ export default { 190, { "input": [ - 442, + 443, "DeleteSsoInput!" ] } @@ -8165,31 +8179,31 @@ export default { 191, { "input": [ - 443, + 444, "EditSsoInput!" ] } ], "createWebhook": [ - 241, + 242, { "input": [ - 444, + 445, "CreateWebhookInput!" ] } ], "updateWebhook": [ - 241, + 242, { "input": [ - 445, + 446, "UpdateWebhookInput!" ] } ], "deleteWebhook": [ - 241, + 242, { "id": [ 3, @@ -8198,28 +8212,28 @@ export default { } ], "createChatThread": [ - 228 + 229 ], "createSkill": [ - 222, + 223, { "input": [ - 447, + 448, "CreateSkillInput!" ] } ], "updateSkill": [ - 222, + 223, { "input": [ - 448, + 449, "UpdateSkillInput!" ] } ], "deleteSkill": [ - 222, + 223, { "id": [ 3, @@ -8228,7 +8242,7 @@ export default { } ], "activateSkill": [ - 222, + 223, { "id": [ 3, @@ -8237,7 +8251,7 @@ export default { } ], "deactivateSkill": [ - 222, + 223, { "id": [ 3, @@ -8246,7 +8260,7 @@ export default { } ], "evaluateAgentTurn": [ - 234, + 235, { "turnId": [ 3, @@ -8255,7 +8269,7 @@ export default { } ], "runEvaluationInput": [ - 235, + 236, { "agentId": [ 3, @@ -8268,7 +8282,7 @@ export default { } ], "duplicateDashboard": [ - 320, + 321, { "id": [ 3, @@ -8277,7 +8291,7 @@ export default { } ], "impersonate": [ - 287, + 288, { "userId": [ 3, @@ -8290,7 +8304,7 @@ export default { } ], "startChannelSync": [ - 312, + 313, { "connectedAccountId": [ 3, @@ -8299,7 +8313,7 @@ export default { } ], "saveImapSmtpCaldavAccount": [ - 310, + 311, { "accountOwnerId": [ 3, @@ -8310,7 +8324,7 @@ export default { "String!" ], "connectionParameters": [ - 449, + 450, "EmailAccountConnectionParameters!" ], "id": [ @@ -8322,13 +8336,13 @@ export default { 163, { "input": [ - 451, + 452, "UpdateLabPublicFeatureFlagInput!" ] } ], "userLookupAdminPanel": [ - 278, + 279, { "userIdentifier": [ 1, @@ -8402,7 +8416,7 @@ export default { } ], "retryJobs": [ - 271, + 272, { "queueName": [ 1, @@ -8415,7 +8429,7 @@ export default { } ], "deleteJobs": [ - 266, + 267, { "queueName": [ 1, @@ -8428,13 +8442,13 @@ export default { } ], "enablePostgresProxy": [ - 311 + 312 ], "disablePostgresProxy": [ - 311 + 312 ], "createPublicDomain": [ - 299, + 300, { "domain": [ 1, @@ -8461,14 +8475,14 @@ export default { } ], "createEmailingDomain": [ - 301, + 302, { "domain": [ 1, "String!" ], "driver": [ - 302, + 303, "EmailingDomainDriver!" ] } @@ -8483,7 +8497,7 @@ export default { } ], "verifyEmailingDomain": [ - 301, + 302, { "id": [ 1, @@ -8495,7 +8509,7 @@ export default { 68, { "input": [ - 452, + 453, "CreateOneAppTokenInput!" ] } @@ -8528,7 +8542,7 @@ export default { 6, { "workspaceMigration": [ - 454, + 455, "WorkspaceMigrationInput!" ] } @@ -8560,7 +8574,7 @@ export default { } ], "createDevelopmentApplication": [ - 288, + 289, { "universalIdentifier": [ 1, @@ -8573,7 +8587,7 @@ export default { } ], "generateApplicationToken": [ - 223, + 224, { "applicationId": [ 3, @@ -8582,7 +8596,7 @@ export default { } ], "syncApplication": [ - 289, + 290, { "manifest": [ 15, @@ -8591,10 +8605,10 @@ export default { } ], "uploadApplicationFile": [ - 290, + 291, { "file": [ - 393, + 394, "Upload!" ], "applicationUniversalIdentifier": [ @@ -8602,7 +8616,7 @@ export default { "String!" ], "fileFolder": [ - 457, + 458, "FileFolder!" ], "filePath": [ @@ -8625,7 +8639,7 @@ export default { } ], "renewApplicationToken": [ - 223, + 224, { "applicationRefreshToken": [ 1, @@ -8677,7 +8691,7 @@ export default { 3 ], "gridPosition": [ - 348 + 349 ], "position": [ 15 @@ -8717,7 +8731,7 @@ export default { 3 ], "gridPosition": [ - 348 + 349 ], "position": [ 15 @@ -8799,7 +8813,7 @@ export default { 3 ], "tabs": [ - 355 + 356 ], "__typename": [ 1 @@ -8819,7 +8833,7 @@ export default { 1 ], "widgets": [ - 356 + 357 ], "__typename": [ 1 @@ -8842,7 +8856,7 @@ export default { 3 ], "gridPosition": [ - 348 + 349 ], "position": [ 15 @@ -8911,7 +8925,7 @@ export default { 3 ], "update": [ - 360 + 361 ], "__typename": [ 1 @@ -8957,7 +8971,7 @@ export default { }, "CreateOneObjectInput": { "object": [ - 362 + 363 ], "__typename": [ 1 @@ -8985,6 +8999,9 @@ export default { "shortcut": [ 1 ], + "color": [ + 1 + ], "skipNameField": [ 6 ], @@ -9014,7 +9031,7 @@ export default { }, "UpdateOneObjectInput": { "update": [ - 365 + 366 ], "id": [ 3 @@ -9045,6 +9062,9 @@ export default { "shortcut": [ 1 ], + "color": [ + 1 + ], "isActive": [ 6 ], @@ -9066,7 +9086,7 @@ export default { 3 ], "update": [ - 367 + 368 ], "__typename": [ 1 @@ -9265,7 +9285,7 @@ export default { 3 ], "update": [ - 375 + 376 ], "__typename": [ 1 @@ -9300,7 +9320,7 @@ export default { 3 ], "update": [ - 379 + 380 ], "__typename": [ 1 @@ -9364,10 +9384,10 @@ export default { 3 ], "groups": [ - 384 + 385 ], "fields": [ - 385 + 386 ], "__typename": [ 1 @@ -9387,7 +9407,7 @@ export default { 6 ], "fields": [ - 385 + 386 ], "__typename": [ 1 @@ -9415,7 +9435,7 @@ export default { 3 ], "engineComponentKey": [ - 226 + 227 ], "label": [ 1 @@ -9433,7 +9453,7 @@ export default { 6 ], "availabilityType": [ - 227 + 228 ], "conditionalAvailabilityExpression": [ 1 @@ -9465,13 +9485,13 @@ export default { 6 ], "availabilityType": [ - 227 + 228 ], "availabilityObjectMetadataId": [ 3 ], "engineComponentKey": [ - 226 + 227 ], "__typename": [ 1 @@ -9508,7 +9528,7 @@ export default { 3 ], "update": [ - 390 + 391 ], "__typename": [ 1 @@ -9612,6 +9632,9 @@ export default { "viewId": [ 3 ], + "type": [ + 217 + ], "name": [ 1 ], @@ -9639,7 +9662,7 @@ export default { 3 ], "update": [ - 396 + 397 ], "__typename": [ 1 @@ -9756,7 +9779,7 @@ export default { }, "UpdateRoleInput": { "update": [ - 402 + 403 ], "id": [ 3 @@ -9811,7 +9834,7 @@ export default { 3 ], "objectPermissions": [ - 404 + 405 ], "__typename": [ 1 @@ -9853,7 +9876,7 @@ export default { 3 ], "fieldPermissions": [ - 407 + 408 ], "__typename": [ 1 @@ -9884,10 +9907,10 @@ export default { 3 ], "predicates": [ - 409 + 410 ], "predicateGroups": [ - 410 + 411 ], "__typename": [ 1 @@ -9977,7 +10000,7 @@ export default { }, "CreateOneFieldMetadataInput": { "field": [ - 415 + 416 ], "__typename": [ 1 @@ -10050,7 +10073,7 @@ export default { 3 ], "update": [ - 417 + 418 ], "__typename": [ 1 @@ -10139,7 +10162,7 @@ export default { 3 ], "update": [ - 421 + 422 ], "__typename": [ 1 @@ -10212,7 +10235,7 @@ export default { 3 ], "update": [ - 426 + 427 ], "__typename": [ 1 @@ -10433,7 +10456,7 @@ export default { 1 ], "update": [ - 436 + 437 ], "__typename": [ 1 @@ -10496,7 +10519,7 @@ export default { 1 ], "update": [ - 439 + 440 ], "__typename": [ 1 @@ -10597,7 +10620,7 @@ export default { 3 ], "update": [ - 446 + 447 ], "__typename": [ 1 @@ -10671,13 +10694,13 @@ export default { }, "EmailAccountConnectionParameters": { "IMAP": [ - 450 + 451 ], "SMTP": [ - 450 + 451 ], "CALDAV": [ - 450 + 451 ], "__typename": [ 1 @@ -10716,7 +10739,7 @@ export default { }, "CreateOneAppTokenInput": { "appToken": [ - 453 + 454 ], "__typename": [ 1 @@ -10732,7 +10755,7 @@ export default { }, "WorkspaceMigrationInput": { "actions": [ - 455 + 456 ], "__typename": [ 1 @@ -10740,10 +10763,10 @@ export default { }, "WorkspaceMigrationDeleteActionInput": { "type": [ - 456 + 457 ], "metadataName": [ - 237 + 238 ], "universalIdentifier": [ 1 @@ -10759,7 +10782,7 @@ export default { 121, { "input": [ - 459, + 460, "OnDbEventInput!" ] } @@ -10774,10 +10797,10 @@ export default { } ], "logicFunctionLogs": [ - 219, + 220, { "input": [ - 460, + 461, "LogicFunctionLogsInput!" ] } diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-18/1-18-migrate-favorites-to-navigation-menu-items.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-18/1-18-migrate-favorites-to-navigation-menu-items.command.ts index 8c13e0ab187..8f89789f4a4 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-18/1-18-migrate-favorites-to-navigation-menu-items.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/1-18/1-18-migrate-favorites-to-navigation-menu-items.command.ts @@ -24,6 +24,7 @@ import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metada import { isFlatFieldMetadataOfType } from 'src/engine/metadata-modules/flat-field-metadata/utils/is-flat-field-metadata-of-type.util'; import { FlatNavigationMenuItemMaps } from 'src/engine/metadata-modules/flat-navigation-menu-item/types/flat-navigation-menu-item-maps.type'; import { FlatNavigationMenuItem } from 'src/engine/metadata-modules/flat-navigation-menu-item/types/flat-navigation-menu-item.type'; +import { NavigationMenuItemType } from 'src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum'; import { FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; import { FlatView } from 'src/engine/metadata-modules/flat-view/types/flat-view.type'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; @@ -273,6 +274,7 @@ export class MigrateFavoritesToNavigationMenuItemsCommand extends ActiveOrSuspen const folderToCreate = { id: navigationMenuItemId, + type: NavigationMenuItemType.FOLDER, universalIdentifier: navigationMenuItemId, userWorkspaceId, targetRecordId: null, @@ -308,6 +310,7 @@ export class MigrateFavoritesToNavigationMenuItemsCommand extends ActiveOrSuspen const workspaceLevelFolderToCreate = { id: workspaceLevelNavigationMenuItemId, + type: NavigationMenuItemType.FOLDER, universalIdentifier: workspaceLevelNavigationMenuItemId, userWorkspaceId: null, targetRecordId: null, @@ -516,6 +519,7 @@ export class MigrateFavoritesToNavigationMenuItemsCommand extends ActiveOrSuspen flatNavigationMenuItemsToCreate.push({ id: favorite.id, + type: NavigationMenuItemType.VIEW, universalIdentifier, userWorkspaceId, targetRecordId: null, @@ -569,6 +573,7 @@ export class MigrateFavoritesToNavigationMenuItemsCommand extends ActiveOrSuspen flatNavigationMenuItemsToCreate.push({ id: favorite.id, + type: NavigationMenuItemType.RECORD, universalIdentifier: favorite.id, userWorkspaceId, targetRecordId, diff --git a/packages/twenty-server/src/database/typeorm/core/migrations/common/1773655278357-add-color-to-object-metadata.ts b/packages/twenty-server/src/database/typeorm/core/migrations/common/1773655278357-add-color-to-object-metadata.ts new file mode 100644 index 00000000000..7fc84341935 --- /dev/null +++ b/packages/twenty-server/src/database/typeorm/core/migrations/common/1773655278357-add-color-to-object-metadata.ts @@ -0,0 +1,19 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddColorToObjectMetadata1773655278357 + implements MigrationInterface +{ + name = 'AddColorToObjectMetadata1773655278357'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "core"."objectMetadata" ADD "color" text`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "core"."objectMetadata" DROP COLUMN "color"`, + ); + } +} diff --git a/packages/twenty-server/src/database/typeorm/core/migrations/common/1773681736596-add-type-to-navigation-menu-item.ts b/packages/twenty-server/src/database/typeorm/core/migrations/common/1773681736596-add-type-to-navigation-menu-item.ts new file mode 100644 index 00000000000..020273d9717 --- /dev/null +++ b/packages/twenty-server/src/database/typeorm/core/migrations/common/1773681736596-add-type-to-navigation-menu-item.ts @@ -0,0 +1,47 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddTypeToNavigationMenuItem1773681736596 + implements MigrationInterface +{ + name = 'AddTypeToNavigationMenuItem1773681736596'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TYPE "core"."navigationMenuItem_type_enum" AS ENUM('VIEW', 'FOLDER', 'LINK', 'OBJECT', 'RECORD')`, + ); + + await queryRunner.query( + `ALTER TABLE "core"."navigationMenuItem" ADD "type" "core"."navigationMenuItem_type_enum" NOT NULL DEFAULT 'VIEW'`, + ); + + await queryRunner.query( + `ALTER TABLE "core"."navigationMenuItem" DROP CONSTRAINT "CHK_navigation_menu_item_target_fields"`, + ); + + await queryRunner.query( + `ALTER TABLE "core"."navigationMenuItem" ADD CONSTRAINT "CHK_navigation_menu_item_type_fields" CHECK ( + ("type" = 'FOLDER') + OR ("type" = 'OBJECT' AND "targetObjectMetadataId" IS NOT NULL) + OR ("type" = 'VIEW') + OR ("type" = 'RECORD' AND "targetRecordId" IS NOT NULL AND "targetObjectMetadataId" IS NOT NULL) + OR ("type" = 'LINK' AND "link" IS NOT NULL) + )`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "core"."navigationMenuItem" DROP CONSTRAINT "CHK_navigation_menu_item_type_fields"`, + ); + + await queryRunner.query( + `ALTER TABLE "core"."navigationMenuItem" ADD CONSTRAINT "CHK_navigation_menu_item_target_fields" CHECK (("targetRecordId" IS NULL AND "targetObjectMetadataId" IS NULL) OR ("targetRecordId" IS NOT NULL AND "targetObjectMetadataId" IS NOT NULL))`, + ); + + await queryRunner.query( + `ALTER TABLE "core"."navigationMenuItem" DROP COLUMN "type"`, + ); + + await queryRunner.query(`DROP TYPE "core"."navigationMenuItem_type_enum"`); + } +} diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/__mocks__/mockPersonObjectMetadata.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/__mocks__/mockPersonObjectMetadata.ts index 221659a4d85..f9b8a508a5e 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/__mocks__/mockPersonObjectMetadata.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/__mocks__/mockPersonObjectMetadata.ts @@ -135,6 +135,7 @@ export const mockPersonFlatObjectMetadata = ( ): FlatObjectMetadata => ({ id: objectMetadataId, icon: 'Icon123', + color: null, nameSingular: 'person', namePlural: 'people', labelSingular: 'Person', diff --git a/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/__tests__/from-navigation-menu-item-manifest-to-universal-flat-navigation-menu-item.util.spec.ts b/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/__tests__/from-navigation-menu-item-manifest-to-universal-flat-navigation-menu-item.util.spec.ts index 27e0a19f959..4e2ef01f599 100644 --- a/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/__tests__/from-navigation-menu-item-manifest-to-universal-flat-navigation-menu-item.util.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/__tests__/from-navigation-menu-item-manifest-to-universal-flat-navigation-menu-item.util.spec.ts @@ -1,4 +1,5 @@ import { fromNavigationMenuItemManifestToUniversalFlatNavigationMenuItem } from 'src/engine/core-modules/application/application-manifest/converters/from-navigation-menu-item-manifest-to-universal-flat-navigation-menu-item.util'; +import { NavigationMenuItemType } from 'src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum'; describe('fromNavigationMenuItemManifestToUniversalFlatNavigationMenuItem', () => { const now = '2026-01-01T00:00:00.000Z'; @@ -9,6 +10,7 @@ describe('fromNavigationMenuItemManifestToUniversalFlatNavigationMenuItem', () = fromNavigationMenuItemManifestToUniversalFlatNavigationMenuItem({ navigationMenuItemManifest: { universalIdentifier: 'nav-uuid-1', + type: NavigationMenuItemType.VIEW, position: 0, }, applicationUniversalIdentifier, @@ -34,6 +36,7 @@ describe('fromNavigationMenuItemManifestToUniversalFlatNavigationMenuItem', () = fromNavigationMenuItemManifestToUniversalFlatNavigationMenuItem({ navigationMenuItemManifest: { universalIdentifier: 'nav-uuid-2', + type: NavigationMenuItemType.VIEW, name: 'Recipes Board', position: 1, viewUniversalIdentifier: 'view-uuid-1', diff --git a/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/from-navigation-menu-item-manifest-to-universal-flat-navigation-menu-item.util.ts b/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/from-navigation-menu-item-manifest-to-universal-flat-navigation-menu-item.util.ts index 2fdc0aa5947..bd67d5f6086 100644 --- a/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/from-navigation-menu-item-manifest-to-universal-flat-navigation-menu-item.util.ts +++ b/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/from-navigation-menu-item-manifest-to-universal-flat-navigation-menu-item.util.ts @@ -15,6 +15,7 @@ export const fromNavigationMenuItemManifestToUniversalFlatNavigationMenuItem = return { universalIdentifier: navigationMenuItemManifest.universalIdentifier, applicationUniversalIdentifier, + type: navigationMenuItemManifest.type, name: navigationMenuItemManifest.name ?? null, icon: navigationMenuItemManifest.icon ?? null, color: navigationMenuItemManifest.color ?? null, diff --git a/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/from-object-manifest-to-universal-flat-object-metadata.util.ts b/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/from-object-manifest-to-universal-flat-object-metadata.util.ts index e4ed3bbb525..4f724656111 100644 --- a/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/from-object-manifest-to-universal-flat-object-metadata.util.ts +++ b/packages/twenty-server/src/engine/core-modules/application/application-manifest/converters/from-object-manifest-to-universal-flat-object-metadata.util.ts @@ -18,6 +18,7 @@ export const fromObjectManifestToUniversalFlatObjectMetadata = ({ namePlural: objectManifest.namePlural, labelSingular: objectManifest.labelSingular, labelPlural: objectManifest.labelPlural, + color: null, description: objectManifest.description ?? null, icon: objectManifest.icon ?? null, standardOverrides: null, diff --git a/packages/twenty-server/src/engine/core-modules/event-emitter/utils/__tests__/object-record-changed-values.spec.ts b/packages/twenty-server/src/engine/core-modules/event-emitter/utils/__tests__/object-record-changed-values.spec.ts index f4e35a6bf37..2d878ccce8c 100644 --- a/packages/twenty-server/src/engine/core-modules/event-emitter/utils/__tests__/object-record-changed-values.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/event-emitter/utils/__tests__/object-record-changed-values.spec.ts @@ -6,6 +6,7 @@ import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object const mockObjectMetadata: FlatObjectMetadata = { id: '1', icon: 'Icon123', + color: null, nameSingular: 'Object', namePlural: 'Objects', labelSingular: 'Object', diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/from-object-metadata-entity-to-object-metadata-dto.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/from-object-metadata-entity-to-object-metadata-dto.util.ts index 5c436816803..1819db37a12 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/from-object-metadata-entity-to-object-metadata-dto.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/from-object-metadata-entity-to-object-metadata-dto.util.ts @@ -9,6 +9,7 @@ export const fromObjectMetadataEntityToObjectMetadataDto = ( updatedAt, description, icon, + color, standardOverrides, shortcut, duplicateCriteria, @@ -22,6 +23,7 @@ export const fromObjectMetadataEntityToObjectMetadataDto = ( updatedAt: new Date(updatedAt), description: description ?? undefined, icon: icon ?? undefined, + color: color ?? undefined, standardOverrides: standardOverrides ?? undefined, shortcut: shortcut ?? undefined, duplicateCriteria: duplicateCriteria ?? undefined, diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-entity/constant/__tests__/__snapshots__/all-universal-flat-entity-properties-to-compare-and-stringify.constant.spec.ts.snap b/packages/twenty-server/src/engine/metadata-modules/flat-entity/constant/__tests__/__snapshots__/all-universal-flat-entity-properties-to-compare-and-stringify.constant.spec.ts.snap index be273051576..620459c19be 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-entity/constant/__tests__/__snapshots__/all-universal-flat-entity-properties-to-compare-and-stringify.constant.spec.ts.snap +++ b/packages/twenty-server/src/engine/metadata-modules/flat-entity/constant/__tests__/__snapshots__/all-universal-flat-entity-properties-to-compare-and-stringify.constant.spec.ts.snap @@ -105,6 +105,7 @@ exports[`ALL_UNIVERSAL_FLAT_ENTITY_PROPERTIES_TO_COMPARE_AND_STRINGIFY should ma }, "navigationMenuItem": { "propertiesToCompare": [ + "type", "position", "folderUniversalIdentifier", "name", @@ -116,6 +117,7 @@ exports[`ALL_UNIVERSAL_FLAT_ENTITY_PROPERTIES_TO_COMPARE_AND_STRINGIFY should ma }, "objectMetadata": { "propertiesToCompare": [ + "color", "description", "icon", "isActive", diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-entity/constant/all-entity-properties-configuration-by-metadata-name.constant.ts b/packages/twenty-server/src/engine/metadata-modules/flat-entity/constant/all-entity-properties-configuration-by-metadata-name.constant.ts index 34f1c8d6073..9072a59fd57 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-entity/constant/all-entity-properties-configuration-by-metadata-name.constant.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-entity/constant/all-entity-properties-configuration-by-metadata-name.constant.ts @@ -149,6 +149,11 @@ export const ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME = { toStringify: false, universalProperty: undefined, }, + color: { + toCompare: true, + toStringify: false, + universalProperty: undefined, + }, description: { toCompare: true, toStringify: false, @@ -1070,6 +1075,11 @@ export const ALL_ENTITY_PROPERTIES_CONFIGURATION_BY_METADATA_NAME = { }, }, navigationMenuItem: { + type: { + toCompare: true, + toStringify: false, + universalProperty: undefined, + }, position: { toCompare: true, toStringify: false, diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-entity/types/__tests__/flat-entity-update.type-test.ts b/packages/twenty-server/src/engine/metadata-modules/flat-entity/types/__tests__/flat-entity-update.type-test.ts index d319f86f23e..22dd99cc00c 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-entity/types/__tests__/flat-entity-update.type-test.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-entity/types/__tests__/flat-entity-update.type-test.ts @@ -38,6 +38,7 @@ type Assertions = [ Equal< keyof FlatEntityUpdate<'objectMetadata'>, | 'icon' + | 'color' | 'description' | 'isActive' | 'standardOverrides' diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-create-navigation-menu-item-input-to-flat-navigation-menu-item-to-create.util.ts b/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-create-navigation-menu-item-input-to-flat-navigation-menu-item-to-create.util.ts index 26ce55f893c..9b4b6778f96 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-create-navigation-menu-item-input-to-flat-navigation-menu-item-to-create.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-create-navigation-menu-item-input-to-flat-navigation-menu-item-to-create.util.ts @@ -69,6 +69,7 @@ export const fromCreateNavigationMenuItemInputToFlatNavigationMenuItemToCreate = return { id, + type: createNavigationMenuItemInput.type, universalIdentifier: id, userWorkspaceId: createNavigationMenuItemInput.userWorkspaceId ?? null, targetRecordId: createNavigationMenuItemInput.targetRecordId ?? null, diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-flat-navigation-menu-item-to-navigation-menu-item-dto.util.ts b/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-flat-navigation-menu-item-to-navigation-menu-item-dto.util.ts index f942e266420..e66401c452e 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-flat-navigation-menu-item-to-navigation-menu-item-dto.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-flat-navigation-menu-item-to-navigation-menu-item-dto.util.ts @@ -5,6 +5,7 @@ export const fromFlatNavigationMenuItemToNavigationMenuItemDto = ( flatNavigationMenuItem: FlatNavigationMenuItem, ): NavigationMenuItemDTO => ({ id: flatNavigationMenuItem.id, + type: flatNavigationMenuItem.type, userWorkspaceId: flatNavigationMenuItem.userWorkspaceId ?? undefined, targetRecordId: flatNavigationMenuItem.targetRecordId ?? undefined, targetObjectMetadataId: diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-navigation-menu-item-entity-to-flat-navigation-menu-item.util.ts b/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-navigation-menu-item-entity-to-flat-navigation-menu-item.util.ts index cd62156a9b8..8d66fb1a05d 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-navigation-menu-item-entity-to-flat-navigation-menu-item.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-navigation-menu-item/utils/from-navigation-menu-item-entity-to-flat-navigation-menu-item.util.ts @@ -75,6 +75,7 @@ export const fromNavigationMenuItemEntityToFlatNavigationMenuItem = ({ return { id: navigationMenuItemEntity.id, + type: navigationMenuItemEntity.type, userWorkspaceId: navigationMenuItemEntity.userWorkspaceId, targetRecordId: navigationMenuItemEntity.targetRecordId, targetObjectMetadataId: navigationMenuItemEntity.targetObjectMetadataId, diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/__mocks__/get-flat-object-metadata.mock.ts b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/__mocks__/get-flat-object-metadata.mock.ts index a0583c9c3b5..6ed4cb7d566 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/__mocks__/get-flat-object-metadata.mock.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/__mocks__/get-flat-object-metadata.mock.ts @@ -22,6 +22,7 @@ export const getFlatObjectMetadataMock = ( fieldIds: [], description: 'default flat object metadata description', icon: 'icon', + color: null, id: faker.string.uuid(), imageIdentifierFieldMetadataId, isActive: true, diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/constants/flat-object-metadata-editable-properties.constant.ts b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/constants/flat-object-metadata-editable-properties.constant.ts index 1af85694278..519e03e7ccb 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/constants/flat-object-metadata-editable-properties.constant.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/constants/flat-object-metadata-editable-properties.constant.ts @@ -2,6 +2,7 @@ import { type MetadataEntityPropertyName } from 'src/engine/metadata-modules/fla export const FLAT_OBJECT_METADATA_EDITABLE_PROPERTIES = { custom: [ + 'color', 'description', 'icon', 'isActive', @@ -12,7 +13,14 @@ export const FLAT_OBJECT_METADATA_EDITABLE_PROPERTIES = { 'nameSingular', 'labelIdentifierFieldMetadataId', ], - standard: ['description', 'icon', 'isActive', 'labelPlural', 'labelSingular'], + standard: [ + 'color', + 'description', + 'icon', + 'isActive', + 'labelPlural', + 'labelSingular', + ], } as const satisfies Record< 'standard' | 'custom', MetadataEntityPropertyName<'objectMetadata'>[] diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/from-create-object-input-to-flat-object-metadata-and-flat-field-metadatas-to-create.util.ts b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/from-create-object-input-to-flat-object-metadata-and-flat-field-metadatas-to-create.util.ts index d561ecf672b..02adfc9871f 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/from-create-object-input-to-flat-object-metadata-and-flat-field-metadatas-to-create.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/from-create-object-input-to-flat-object-metadata-and-flat-field-metadatas-to-create.util.ts @@ -74,6 +74,7 @@ export const fromCreateObjectInputToFlatObjectMetadataAndFlatFieldMetadatasToCre createdAt, updatedAt: createdAt, duplicateCriteria: null, + color: createObjectInput.color ?? null, description: createObjectInput.description ?? null, icon: createObjectInput.icon ?? null, isActive: true, diff --git a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/from-flat-object-metadata-to-object-metadata-dto.util.ts b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/from-flat-object-metadata-to-object-metadata-dto.util.ts index 9737ee9e109..1f7b99db0d9 100644 --- a/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/from-flat-object-metadata-to-object-metadata-dto.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/flat-object-metadata/utils/from-flat-object-metadata-to-object-metadata-dto.util.ts @@ -7,6 +7,7 @@ export const fromFlatObjectMetadataToObjectMetadataDto = ( const { createdAt, updatedAt, + color, description, icon, standardOverrides, @@ -50,6 +51,7 @@ export const fromFlatObjectMetadataToObjectMetadataDto = ( labelIdentifierFieldMetadataId, createdAt: new Date(createdAt), updatedAt: new Date(updatedAt), + color: color ?? undefined, description: description ?? undefined, icon: icon ?? undefined, standardOverrides: standardOverrides ?? undefined, diff --git a/packages/twenty-server/src/engine/metadata-modules/minimal-metadata/dtos/minimal-object-metadata.dto.ts b/packages/twenty-server/src/engine/metadata-modules/minimal-metadata/dtos/minimal-object-metadata.dto.ts index 1233a92ad7a..ecbadacfd5e 100644 --- a/packages/twenty-server/src/engine/metadata-modules/minimal-metadata/dtos/minimal-object-metadata.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/minimal-metadata/dtos/minimal-object-metadata.dto.ts @@ -24,6 +24,9 @@ export class MinimalObjectMetadataDTO { @Field({ nullable: true }) icon?: string; + @Field({ nullable: true }) + color?: string; + @Field() isCustom: boolean; diff --git a/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/dtos/create-navigation-menu-item.input.ts b/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/dtos/create-navigation-menu-item.input.ts index efe80414839..81e98ff8718 100644 --- a/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/dtos/create-navigation-menu-item.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/dtos/create-navigation-menu-item.input.ts @@ -1,8 +1,15 @@ import { Field, InputType } from '@nestjs/graphql'; -import { IsNumber, IsOptional, IsString, IsUUID } from 'class-validator'; +import { + IsEnum, + IsNumber, + IsOptional, + IsString, + IsUUID, +} from 'class-validator'; import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; +import { NavigationMenuItemType } from 'src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum'; @InputType() export class CreateNavigationMenuItemInput { @@ -26,6 +33,10 @@ export class CreateNavigationMenuItemInput { @Field(() => UUIDScalarType, { nullable: true }) viewId?: string | null; + @IsEnum(NavigationMenuItemType) + @Field(() => NavigationMenuItemType) + type: NavigationMenuItemType; + @IsOptional() @IsString() @Field(() => String, { nullable: true }) diff --git a/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/dtos/navigation-menu-item.dto.ts b/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/dtos/navigation-menu-item.dto.ts index 240d8201365..ada49605c7c 100644 --- a/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/dtos/navigation-menu-item.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/dtos/navigation-menu-item.dto.ts @@ -10,6 +10,8 @@ import { import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; +import { NavigationMenuItemType } from 'src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum'; + import { RecordIdentifierDTO } from './record-identifier.dto'; @ObjectType('NavigationMenuItem') @@ -39,6 +41,10 @@ export class NavigationMenuItemDTO { @Field(() => UUIDScalarType, { nullable: true }) viewId?: string | null; + @IsNotEmpty() + @Field(() => NavigationMenuItemType) + type: NavigationMenuItemType; + @IsOptional() @Field(() => String, { nullable: true }) name?: string | null; diff --git a/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/entities/navigation-menu-item.entity.ts b/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/entities/navigation-menu-item.entity.ts index 7a1822f4058..9d37ad9e120 100644 --- a/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/entities/navigation-menu-item.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/entities/navigation-menu-item.entity.ts @@ -14,6 +14,7 @@ import { import { UserWorkspaceEntity } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; +import { NavigationMenuItemType } from 'src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum'; import { SyncableEntity } from 'src/engine/workspace-manager/types/syncable-entity.interface'; @Entity({ name: 'navigationMenuItem', schema: 'core' }) @@ -35,8 +36,12 @@ import { SyncableEntity } from 'src/engine/workspace-manager/types/syncable-enti 'workspaceId', ]) @Check( - 'CHK_navigation_menu_item_target_fields', - '("targetRecordId" IS NULL AND "targetObjectMetadataId" IS NULL) OR ("targetRecordId" IS NOT NULL AND "targetObjectMetadataId" IS NOT NULL)', + 'CHK_navigation_menu_item_type_fields', + `("type" = 'FOLDER') + OR ("type" = 'OBJECT' AND "targetObjectMetadataId" IS NOT NULL) + OR ("type" = 'VIEW') + OR ("type" = 'RECORD' AND "targetRecordId" IS NOT NULL AND "targetObjectMetadataId" IS NOT NULL) + OR ("type" = 'LINK' AND "link" IS NOT NULL)`, ) export class NavigationMenuItemEntity extends SyncableEntity @@ -78,6 +83,14 @@ export class NavigationMenuItemEntity @JoinColumn({ name: 'targetObjectMetadataId' }) targetObjectMetadata: Relation | null; + @Column({ + nullable: false, + type: 'enum', + enum: NavigationMenuItemType, + default: NavigationMenuItemType.VIEW, + }) + type: NavigationMenuItemType; + @Column({ nullable: true, type: 'text' }) name: string | null; diff --git a/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum.ts b/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum.ts new file mode 100644 index 00000000000..23905258315 --- /dev/null +++ b/packages/twenty-server/src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum.ts @@ -0,0 +1,9 @@ +import { registerEnumType } from '@nestjs/graphql'; + +import { NavigationMenuItemType } from 'twenty-shared/types'; + +registerEnumType(NavigationMenuItemType, { + name: 'NavigationMenuItemType', +}); + +export { NavigationMenuItemType }; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts index 392b45f8f02..4e0a316e682 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts @@ -55,6 +55,11 @@ export class CreateObjectInput { @Field({ nullable: true }) shortcut?: string; + @IsString() + @IsOptional() + @Field({ nullable: true }) + color?: string; + @HideField() dataSourceId: string; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto.ts index 5f8d3638d75..9f87a878a60 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto.ts @@ -59,6 +59,9 @@ export class ObjectMetadataDTO { @Field({ nullable: true }) shortcut?: string; + @Field({ nullable: true }) + color?: string; + @FilterableField() isCustom: boolean; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-standard-overrides.dto.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-standard-overrides.dto.ts index 9a110d1e134..d94c5a56465 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-standard-overrides.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/object-standard-overrides.dto.ts @@ -26,6 +26,11 @@ export class ObjectStandardOverridesDTO { @Field(() => String, { nullable: true }) icon?: string | null; + @IsString() + @IsOptional() + @Field(() => String, { nullable: true }) + color?: string | null; + @IsJSON() @IsOptional() @Field(() => GraphQLJSON, { diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/update-object.input.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/update-object.input.ts index 71279b939b3..de34a4b6661 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/update-object.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/update-object.input.ts @@ -52,6 +52,11 @@ export class UpdateObjectPayload { @Field({ nullable: true }) shortcut?: string; + @IsString() + @IsOptional() + @Field({ nullable: true }) + color?: string; + @IsBoolean() @IsOptional() @Field({ nullable: true }) diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts index 2393dd82a4b..cc6cc8c0b7f 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts @@ -60,6 +60,9 @@ export class ObjectMetadataEntity @Column({ nullable: true, type: 'varchar' }) icon: string | null; + @Column({ nullable: true, type: 'text' }) + color: string | null; + @Column({ type: 'jsonb', nullable: true }) standardOverrides: JsonbProperty | null; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts index 0859fdf33b6..341cc471213 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts @@ -24,6 +24,7 @@ import { findFlatEntityByUniversalIdentifier } from 'src/engine/metadata-modules import { findManyFlatEntityByIdInFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/find-many-flat-entity-by-id-in-flat-entity-maps-or-throw.util'; import { FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type'; import { FlatNavigationMenuItem } from 'src/engine/metadata-modules/flat-navigation-menu-item/types/flat-navigation-menu-item.type'; +import { NavigationMenuItemType } from 'src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum'; import { FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type'; import { fromCreateObjectInputToFlatObjectMetadataAndFlatFieldMetadatasToCreate } from 'src/engine/metadata-modules/flat-object-metadata/utils/from-create-object-input-to-flat-object-metadata-and-flat-field-metadatas-to-create.util'; import { fromDeleteObjectInputToFlatFieldMetadatasToDelete } from 'src/engine/metadata-modules/flat-object-metadata/utils/from-delete-object-input-to-flat-field-metadatas-to-delete.util'; @@ -469,7 +470,7 @@ export class ObjectMetadataService extends TypeOrmQueryService { labelPlural: 'Test Entities', workspaceId: 'test-workspace-id', icon: 'test-icon', + color: null, isCustom: false, isRemote: false, isAuditLogged: false, diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/get-column-name-to-field-metadata-id.util.spec.ts b/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/get-column-name-to-field-metadata-id.util.spec.ts index a811c66b7c9..8374fba857a 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/get-column-name-to-field-metadata-id.util.spec.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/get-column-name-to-field-metadata-id.util.spec.ts @@ -15,6 +15,7 @@ describe('getColumnNameToFieldMetadataIdMap', () => { labelSingular: 'Test', labelPlural: 'Tests', icon: 'IconTest', + color: null, targetTableName: 'test', isCustom: false, isRemote: false, diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/get-field-metadata-id-to-column-names-map.util.spec.ts b/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/get-field-metadata-id-to-column-names-map.util.spec.ts index 64a313a9fc8..9a5259fbbbe 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/get-field-metadata-id-to-column-names-map.util.spec.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/get-field-metadata-id-to-column-names-map.util.spec.ts @@ -15,6 +15,7 @@ describe('getFieldMetadataIdToColumnNamesMap', () => { labelSingular: 'Test', labelPlural: 'Tests', icon: 'IconTest', + color: null, targetTableName: 'test', isCustom: false, isRemote: false, diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/is-record-matching-rls-row-level-permission-predicate.util.spec.ts b/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/is-record-matching-rls-row-level-permission-predicate.util.spec.ts index 83d8d37f9a0..dcd0b970d84 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/is-record-matching-rls-row-level-permission-predicate.util.spec.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/__tests__/is-record-matching-rls-row-level-permission-predicate.util.spec.ts @@ -15,6 +15,7 @@ describe('isRecordMatchingRLSRowLevelPermissionPredicate', () => { labelSingular: 'Test', labelPlural: 'Tests', icon: 'IconTest', + color: null, targetTableName: 'test', isCustom: false, isRemote: false, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/constants/standard-navigation-menu-item.constant.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/constants/standard-navigation-menu-item.constant.ts index e8b59e3f7a0..c96a42179c1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/constants/standard-navigation-menu-item.constant.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/constants/standard-navigation-menu-item.constant.ts @@ -1,50 +1,60 @@ import { STANDARD_OBJECTS } from 'twenty-shared/metadata'; +import { NavigationMenuItemType } from 'src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum'; + export const STANDARD_NAVIGATION_MENU_ITEMS = { allCompanies: { universalIdentifier: '20202020-b001-4b01-8b01-c0aba11c0001', + type: NavigationMenuItemType.OBJECT, viewUniversalIdentifier: STANDARD_OBJECTS.company.views.allCompanies.universalIdentifier, position: 0, }, allPeople: { universalIdentifier: '20202020-b005-4b05-8b05-c0aba11c0005', + type: NavigationMenuItemType.OBJECT, viewUniversalIdentifier: STANDARD_OBJECTS.person.views.allPeople.universalIdentifier, position: 1, }, allOpportunities: { universalIdentifier: '20202020-b004-4b04-8b04-c0aba11c0004', + type: NavigationMenuItemType.OBJECT, viewUniversalIdentifier: STANDARD_OBJECTS.opportunity.views.allOpportunities.universalIdentifier, position: 2, }, allTasks: { universalIdentifier: '20202020-b006-4b06-8b06-c0aba11c0006', + type: NavigationMenuItemType.OBJECT, viewUniversalIdentifier: STANDARD_OBJECTS.task.views.allTasks.universalIdentifier, position: 3, }, allNotes: { universalIdentifier: '20202020-b003-4b03-8b03-c0aba11c0003', + type: NavigationMenuItemType.OBJECT, viewUniversalIdentifier: STANDARD_OBJECTS.note.views.allNotes.universalIdentifier, position: 4, }, allDashboards: { universalIdentifier: '20202020-b002-4b02-8b02-c0aba11c0002', + type: NavigationMenuItemType.OBJECT, viewUniversalIdentifier: STANDARD_OBJECTS.dashboard.views.allDashboards.universalIdentifier, position: 5, }, workflowsFolder: { universalIdentifier: '20202020-b007-4b07-8b07-c0aba11c0007', + type: NavigationMenuItemType.FOLDER, name: 'Workflows', icon: 'IconSettingsAutomation', position: 6, }, workflowsFolderAllWorkflows: { universalIdentifier: '20202020-b008-4b08-8b08-c0aba11c0008', + type: NavigationMenuItemType.OBJECT, viewUniversalIdentifier: STANDARD_OBJECTS.workflow.views.allWorkflows.universalIdentifier, folderUniversalIdentifier: '20202020-b007-4b07-8b07-c0aba11c0007', @@ -52,6 +62,7 @@ export const STANDARD_NAVIGATION_MENU_ITEMS = { }, workflowsFolderAllWorkflowRuns: { universalIdentifier: '20202020-b009-4b09-8b09-c0aba11c0009', + type: NavigationMenuItemType.OBJECT, viewUniversalIdentifier: STANDARD_OBJECTS.workflowRun.views.allWorkflowRuns.universalIdentifier, folderUniversalIdentifier: '20202020-b007-4b07-8b07-c0aba11c0007', @@ -59,6 +70,7 @@ export const STANDARD_NAVIGATION_MENU_ITEMS = { }, workflowsFolderAllWorkflowVersions: { universalIdentifier: '20202020-b00a-4b0a-8b0a-c0aba11c000a', + type: NavigationMenuItemType.OBJECT, viewUniversalIdentifier: STANDARD_OBJECTS.workflowVersion.views.allWorkflowVersions .universalIdentifier, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/navigation-menu-item/create-standard-navigation-menu-item-flat-metadata.util.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/navigation-menu-item/create-standard-navigation-menu-item-flat-metadata.util.ts index 943b3350862..b9526d61809 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/navigation-menu-item/create-standard-navigation-menu-item-flat-metadata.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/navigation-menu-item/create-standard-navigation-menu-item-flat-metadata.util.ts @@ -2,6 +2,7 @@ import { isDefined } from 'twenty-shared/utils'; import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type'; import { findFlatEntityByUniversalIdentifier } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier.util'; +import { NavigationMenuItemType } from 'src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum'; import { type FlatNavigationMenuItem } from 'src/engine/metadata-modules/flat-navigation-menu-item/types/flat-navigation-menu-item.type'; import { type FlatView } from 'src/engine/metadata-modules/flat-view/types/flat-view.type'; import { @@ -51,8 +52,12 @@ export const createStandardNavigationMenuItemFlatMetadata = ({ ); } + const isObjectType = + navigationMenuItemDefinition.type === NavigationMenuItemType.OBJECT; + return { id: navigationMenuItemId, + type: navigationMenuItemDefinition.type, universalIdentifier: navigationMenuItemDefinition.universalIdentifier, applicationId: twentyStandardApplicationId, applicationUniversalIdentifier: @@ -60,10 +65,12 @@ export const createStandardNavigationMenuItemFlatMetadata = ({ workspaceId, userWorkspaceId: null, targetRecordId: null, - targetObjectMetadataId: null, - targetObjectMetadataUniversalIdentifier: null, - viewId: flatView.id, - viewUniversalIdentifier: flatView.universalIdentifier, + targetObjectMetadataId: isObjectType ? flatView.objectMetadataId : null, + targetObjectMetadataUniversalIdentifier: isObjectType + ? flatView.objectMetadataUniversalIdentifier + : null, + viewId: isObjectType ? null : flatView.id, + viewUniversalIdentifier: isObjectType ? null : flatView.universalIdentifier, folderId: null, folderUniversalIdentifier: null, name: null, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/navigation-menu-item/create-standard-navigation-menu-item-folder-flat-metadata.util.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/navigation-menu-item/create-standard-navigation-menu-item-folder-flat-metadata.util.ts index 9a57a0b52b5..ec973da8404 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/navigation-menu-item/create-standard-navigation-menu-item-folder-flat-metadata.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/navigation-menu-item/create-standard-navigation-menu-item-folder-flat-metadata.util.ts @@ -1,4 +1,5 @@ import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type'; +import { NavigationMenuItemType } from 'src/engine/metadata-modules/navigation-menu-item/enums/navigation-menu-item-type.enum'; import { findFlatEntityByUniversalIdentifier } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier.util'; import { type FlatNavigationMenuItem } from 'src/engine/metadata-modules/flat-navigation-menu-item/types/flat-navigation-menu-item.type'; import { type FlatView } from 'src/engine/metadata-modules/flat-view/types/flat-view.type'; @@ -24,6 +25,7 @@ export const createStandardNavigationMenuItemFolderFlatMetadata = ({ now: string; }): FlatNavigationMenuItem => ({ id: navigationMenuItemId, + type: NavigationMenuItemType.FOLDER, universalIdentifier, applicationId: twentyStandardApplicationId, applicationUniversalIdentifier: @@ -84,6 +86,7 @@ export const createStandardNavigationMenuItemFolderItemFlatMetadata = ({ return { id: navigationMenuItemId, + type: NavigationMenuItemType.OBJECT, universalIdentifier, applicationId: twentyStandardApplicationId, applicationUniversalIdentifier: @@ -91,10 +94,11 @@ export const createStandardNavigationMenuItemFolderItemFlatMetadata = ({ workspaceId, userWorkspaceId: null, targetRecordId: null, - targetObjectMetadataId: null, - targetObjectMetadataUniversalIdentifier: null, - viewId: flatView.id, - viewUniversalIdentifier: flatView.universalIdentifier, + targetObjectMetadataId: flatView.objectMetadataId, + targetObjectMetadataUniversalIdentifier: + flatView.objectMetadataUniversalIdentifier, + viewId: null, + viewUniversalIdentifier: null, folderId, folderUniversalIdentifier, name: null, diff --git a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/object-metadata/create-standard-object-flat-metadata.util.ts b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/object-metadata/create-standard-object-flat-metadata.util.ts index ae8cb7a4f87..d86d5af8953 100644 --- a/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/object-metadata/create-standard-object-flat-metadata.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/twenty-standard-application/utils/object-metadata/create-standard-object-flat-metadata.util.ts @@ -69,6 +69,7 @@ export const createStandardObjectFlatMetadata = < namePlural, labelSingular, labelPlural, + color: null, description, icon, isCustom: false, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/__tests__/universal-flat-entity-update.test-type.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/__tests__/universal-flat-entity-update.test-type.ts index cb6631a204b..fe2c2aa30bc 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/__tests__/universal-flat-entity-update.test-type.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/universal-flat-entity/types/__tests__/universal-flat-entity-update.test-type.ts @@ -25,6 +25,7 @@ type Assertions = [ Equal< keyof UniversalFlatEntityUpdate<'objectMetadata'>, | 'icon' + | 'color' | 'description' | 'isActive' | 'standardOverrides' diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/validators/services/flat-navigation-menu-item-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/validators/services/flat-navigation-menu-item-validator.service.ts index aff504c1407..56717965d5b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/validators/services/flat-navigation-menu-item-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/validators/services/flat-navigation-menu-item-validator.service.ts @@ -3,6 +3,7 @@ import { Injectable } from '@nestjs/common'; import { msg, t } from '@lingui/core/macro'; import { isNonEmptyString } from '@sniptt/guards'; import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; +import { NavigationMenuItemType } from 'twenty-shared/types'; import { isDefined } from 'twenty-shared/utils'; import { findFlatEntityByUniversalIdentifier } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-universal-identifier.util'; @@ -22,88 +23,79 @@ const NAVIGATION_MENU_ITEM_MAX_DEPTH = 2; @Injectable() export class FlatNavigationMenuItemValidatorService { private validateNavigationMenuItemType({ + type, hasTargetRecordId, hasTargetObjectMetadataId, hasViewId, hasLink, name, - isUpdate = false, }: { + type: NavigationMenuItemType | null | undefined; hasTargetRecordId: boolean; hasTargetObjectMetadataId: boolean; hasViewId: boolean; hasLink: boolean; name: string | null | undefined; - isUpdate?: boolean; }): FlatEntityValidationError[] { const errors: FlatEntityValidationError[] = []; - if (hasTargetObjectMetadataId && !hasTargetRecordId) { + if (!isDefined(type)) { errors.push({ code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, - message: t`targetRecordId is required when targetObjectMetadataId is provided`, - userFriendlyMessage: msg`targetRecordId is required when targetObjectMetadataId is provided`, + message: t`Navigation menu item type is required`, + userFriendlyMessage: msg`Navigation menu item type is required`, }); + + return errors; } - if (hasTargetRecordId && !hasTargetObjectMetadataId) { - errors.push({ - code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, - message: t`targetObjectMetadataId is required when targetRecordId is provided`, - userFriendlyMessage: msg`targetObjectMetadataId is required when targetRecordId is provided`, - }); - } - - if (hasViewId && (hasTargetRecordId || hasTargetObjectMetadataId)) { - errors.push({ - code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, - message: t`viewId cannot be provided together with targetRecordId or targetObjectMetadataId`, - userFriendlyMessage: msg`viewId cannot be provided together with targetRecordId or targetObjectMetadataId`, - }); - } - - const isFolder = - !hasTargetRecordId && - !hasTargetObjectMetadataId && - !hasViewId && - !hasLink; - const isViewLink = hasViewId; - const isRecordLink = hasTargetRecordId && hasTargetObjectMetadataId; - const isExternalLink = - !hasTargetRecordId && !hasTargetObjectMetadataId && !hasViewId && hasLink; - const typeCount = - (isFolder ? 1 : 0) + - (isViewLink ? 1 : 0) + - (isRecordLink ? 1 : 0) + - (isExternalLink ? 1 : 0); - - if (typeCount === 0) { - errors.push({ - code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, - message: t`Navigation menu item must be either a folder (with name), a view link (with viewId), a record link (with targetRecordId and targetObjectMetadataId), or an external link (with link)`, - userFriendlyMessage: msg`Navigation menu item must be either a folder (with name), a view link (with viewId), a record link (with targetRecordId and targetObjectMetadataId), or an external link (with link)`, - }); - } - - if (typeCount > 1) { - errors.push({ - code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, - message: t`Navigation menu item cannot be multiple types simultaneously`, - userFriendlyMessage: msg`Navigation menu item cannot be multiple types simultaneously`, - }); - } - - if (isFolder && (!isDefined(name) || name.trim() === '')) { - errors.push({ - code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, - message: isUpdate - ? t`Folder name is required and cannot be empty` - : t`Folder name is required when creating a folder`, - userFriendlyMessage: isUpdate - ? msg`Folder name is required and cannot be empty` - : msg`Folder name is required when creating a folder`, - }); + switch (type) { + case NavigationMenuItemType.FOLDER: + if (!isDefined(name) || name.trim() === '') { + errors.push({ + code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, + message: t`Folder name is required`, + userFriendlyMessage: msg`Folder name is required`, + }); + } + break; + case NavigationMenuItemType.OBJECT: + if (!hasTargetObjectMetadataId) { + errors.push({ + code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, + message: t`targetObjectMetadataId is required for OBJECT type`, + userFriendlyMessage: msg`targetObjectMetadataId is required for OBJECT type`, + }); + } + break; + case NavigationMenuItemType.VIEW: + if (!hasViewId) { + errors.push({ + code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, + message: t`viewId is required for VIEW type`, + userFriendlyMessage: msg`viewId is required for VIEW type`, + }); + } + break; + case NavigationMenuItemType.RECORD: + if (!hasTargetRecordId || !hasTargetObjectMetadataId) { + errors.push({ + code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, + message: t`targetRecordId and targetObjectMetadataId are required for RECORD type`, + userFriendlyMessage: msg`targetRecordId and targetObjectMetadataId are required for RECORD type`, + }); + } + break; + case NavigationMenuItemType.LINK: + if (!hasLink) { + errors.push({ + code: NavigationMenuItemExceptionCode.INVALID_NAVIGATION_MENU_ITEM_INPUT, + message: t`link is required for LINK type`, + userFriendlyMessage: msg`link is required for LINK type`, + }); + } + break; } return errors; @@ -187,6 +179,7 @@ export class FlatNavigationMenuItemValidatorService { } const typeValidationErrors = this.validateNavigationMenuItemType({ + type: flatNavigationMenuItem.type, hasTargetRecordId: isDefined(flatNavigationMenuItem.targetRecordId), hasTargetObjectMetadataId: isDefined( flatNavigationMenuItem.targetObjectMetadataUniversalIdentifier, @@ -196,7 +189,6 @@ export class FlatNavigationMenuItemValidatorService { isDefined(flatNavigationMenuItem.link) && isNonEmptyString(flatNavigationMenuItem.link), name: flatNavigationMenuItem.name, - isUpdate: false, }); validationResult.errors.push(...typeValidationErrors); @@ -322,6 +314,7 @@ export class FlatNavigationMenuItemValidatorService { const nameUpdate = flatEntityUpdate.name; const typeValidationErrors = this.validateNavigationMenuItemType({ + type: toFlatNavigationMenuItem.type, hasTargetRecordId: isDefined(toFlatNavigationMenuItem.targetRecordId), hasTargetObjectMetadataId: isDefined( toFlatNavigationMenuItem.targetObjectMetadataUniversalIdentifier, @@ -329,7 +322,6 @@ export class FlatNavigationMenuItemValidatorService { hasViewId: isDefined(toFlatNavigationMenuItem.viewUniversalIdentifier), hasLink: isNonEmptyString((toFlatNavigationMenuItem.link ?? '').trim()), name: isDefined(nameUpdate) ? nameUpdate : toFlatNavigationMenuItem.name, - isUpdate: true, }); validationResult.errors.push(...typeValidationErrors); diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/validators/services/flat-object-metadata-validator.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/validators/services/flat-object-metadata-validator.service.ts index 33de278cf6a..5e577429dcd 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/validators/services/flat-object-metadata-validator.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration/workspace-migration-builder/validators/services/flat-object-metadata-validator.service.ts @@ -61,11 +61,22 @@ export class FlatObjectMetadataValidatorService { }; if (!buildOptions.isSystemBuild && existingFlatObjectMetadata.isSystem) { - validationResult.errors.push({ - code: ObjectMetadataExceptionCode.INVALID_OBJECT_INPUT, - message: t`System objects cannot be updated`, - userFriendlyMessage: msg`System objects cannot be updated`, - }); + const allowedOverrideKeys = new Set([ + 'standardOverrides', + 'isActive', + 'color', + ]); + const disallowedProperties = Object.keys(flatEntityUpdate).filter( + (property) => !allowedOverrideKeys.has(property), + ); + + if (disallowedProperties.length > 0) { + validationResult.errors.push({ + code: ObjectMetadataExceptionCode.INVALID_OBJECT_INPUT, + message: t`System objects cannot be updated directly. Use standardOverrides for cosmetic changes.`, + userFriendlyMessage: msg`System objects cannot be updated`, + }); + } } validationResult.errors.push( diff --git a/packages/twenty-server/src/utils/__test__/get-object-metadata-entity.mock.ts b/packages/twenty-server/src/utils/__test__/get-object-metadata-entity.mock.ts index 79bbc4ddfb4..2278f4b3346 100644 --- a/packages/twenty-server/src/utils/__test__/get-object-metadata-entity.mock.ts +++ b/packages/twenty-server/src/utils/__test__/get-object-metadata-entity.mock.ts @@ -28,6 +28,7 @@ export const getMockObjectMetadataEntity = ( fieldPermissions: [], fields: [], icon: null, + color: null, imageIdentifierFieldMetadataId: null, labelIdentifierFieldMetadataId: null, indexMetadatas: [], diff --git a/packages/twenty-server/test/integration/metadata/suites/application/__snapshots__/successful-sync-application-workspace-migration.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/application/__snapshots__/successful-sync-application-workspace-migration.integration-spec.ts.snap index 97bc4f193af..12b44af83b2 100644 --- a/packages/twenty-server/test/integration/metadata/suites/application/__snapshots__/successful-sync-application-workspace-migration.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/application/__snapshots__/successful-sync-application-workspace-migration.integration-spec.ts.snap @@ -70,6 +70,7 @@ exports[`syncApplication should delete old field and create equivalent one when { "flatEntity": { "applicationUniversalIdentifier": Any, + "color": null, "createdAt": Any, "description": "A support ticket", "duplicateCriteria": null, @@ -422,6 +423,7 @@ exports[`syncApplication should return workspace migration actions on initial sy { "flatEntity": { "applicationUniversalIdentifier": Any, + "color": null, "createdAt": Any, "description": "A support ticket", "duplicateCriteria": null, diff --git a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/__snapshots__/failing-navigation-menu-item-creation.integration-spec.ts.snap b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/__snapshots__/failing-navigation-menu-item-creation.integration-spec.ts.snap index 4eb3882a9c7..f23475405de 100644 --- a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/__snapshots__/failing-navigation-menu-item-creation.integration-spec.ts.snap +++ b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/__snapshots__/failing-navigation-menu-item-creation.integration-spec.ts.snap @@ -100,13 +100,8 @@ exports[`NavigationMenuItem creation should fail when creating with missing targ "errors": [ { "code": "INVALID_NAVIGATION_MENU_ITEM_INPUT", - "message": "targetObjectMetadataId is required when targetRecordId is provided", - "userFriendlyMessage": "targetObjectMetadataId is required when targetRecordId is provided", - }, - { - "code": "INVALID_NAVIGATION_MENU_ITEM_INPUT", - "message": "Navigation menu item must be either a folder (with name), a view link (with viewId), a record link (with targetRecordId and targetObjectMetadataId), or an external link (with link)", - "userFriendlyMessage": "Navigation menu item must be either a folder (with name), a view link (with viewId), a record link (with targetRecordId and targetObjectMetadataId), or an external link (with link)", + "message": "targetRecordId and targetObjectMetadataId are required for RECORD type", + "userFriendlyMessage": "targetRecordId and targetObjectMetadataId are required for RECORD type", }, ], "flatEntityMinimalInformation": { diff --git a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/failing-navigation-menu-item-creation.integration-spec.ts b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/failing-navigation-menu-item-creation.integration-spec.ts index 54551073718..343f9db8cfa 100644 --- a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/failing-navigation-menu-item-creation.integration-spec.ts +++ b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/failing-navigation-menu-item-creation.integration-spec.ts @@ -5,6 +5,7 @@ import { eachTestingContextFilter, type EachTestingContext, } from 'twenty-shared/testing'; +import { NavigationMenuItemType } from 'twenty-shared/types'; import { type CreateNavigationMenuItemInput } from 'src/engine/metadata-modules/navigation-menu-item/dtos/create-navigation-menu-item.input'; @@ -18,6 +19,7 @@ const failingNavigationMenuItemCreationTestCases: EachTestingContext { const { data } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId, targetObjectMetadataId: personObjectMetadataId, position: 1, diff --git a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-creation.integration-spec.ts b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-creation.integration-spec.ts index 2f2fb539db9..dd8b3c03391 100644 --- a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-creation.integration-spec.ts +++ b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-creation.integration-spec.ts @@ -1,4 +1,5 @@ import { faker } from '@faker-js/faker'; +import { NavigationMenuItemType } from 'twenty-shared/types'; import { getCurrentUser } from 'test/integration/graphql/utils/get-current-user.util'; import { createNavigationMenuItem } from 'test/integration/metadata/suites/navigation-menu-item/utils/create-navigation-menu-item.util'; import { deleteNavigationMenuItem } from 'test/integration/metadata/suites/navigation-menu-item/utils/delete-navigation-menu-item.util'; @@ -74,6 +75,7 @@ describe('NavigationMenuItem creation should succeed', () => { const { data } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId, targetObjectMetadataId: personObjectMetadataId, }, @@ -98,6 +100,7 @@ describe('NavigationMenuItem creation should succeed', () => { const { data: folderData } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId: folderTargetRecordId, targetObjectMetadataId: companyObjectMetadataId, userWorkspaceId: validUserWorkspaceId ?? undefined, @@ -112,6 +115,7 @@ describe('NavigationMenuItem creation should succeed', () => { const { data } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId, targetObjectMetadataId: companyObjectMetadataId, userWorkspaceId: validUserWorkspaceId ?? undefined, @@ -139,6 +143,7 @@ describe('NavigationMenuItem creation should succeed', () => { const { data: data1 } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId: targetRecordId1, targetObjectMetadataId: personObjectMetadataId, }, @@ -150,6 +155,7 @@ describe('NavigationMenuItem creation should succeed', () => { const { data: data2 } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId: targetRecordId2, targetObjectMetadataId: personObjectMetadataId, }, diff --git a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-deletion.integration-spec.ts b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-deletion.integration-spec.ts index 04db4f1cde2..6843430a817 100644 --- a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-deletion.integration-spec.ts +++ b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-deletion.integration-spec.ts @@ -1,4 +1,5 @@ import { faker } from '@faker-js/faker'; +import { NavigationMenuItemType } from 'twenty-shared/types'; import { createNavigationMenuItem } from 'test/integration/metadata/suites/navigation-menu-item/utils/create-navigation-menu-item.util'; import { deleteNavigationMenuItem } from 'test/integration/metadata/suites/navigation-menu-item/utils/delete-navigation-menu-item.util'; import { findManyObjectMetadata } from 'test/integration/metadata/suites/object-metadata/utils/find-many-object-metadata.util'; @@ -38,6 +39,7 @@ describe('NavigationMenuItem deletion should succeed', () => { const { data: createData } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId, targetObjectMetadataId: personObjectMetadataId, }, diff --git a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-update.integration-spec.ts b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-update.integration-spec.ts index 8930e22bb8a..bfdc97d350f 100644 --- a/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-update.integration-spec.ts +++ b/packages/twenty-server/test/integration/metadata/suites/navigation-menu-item/successful-navigation-menu-item-update.integration-spec.ts @@ -1,4 +1,5 @@ import { faker } from '@faker-js/faker'; +import { NavigationMenuItemType } from 'twenty-shared/types'; import { createNavigationMenuItem } from 'test/integration/metadata/suites/navigation-menu-item/utils/create-navigation-menu-item.util'; import { deleteNavigationMenuItem } from 'test/integration/metadata/suites/navigation-menu-item/utils/delete-navigation-menu-item.util'; import { updateNavigationMenuItem } from 'test/integration/metadata/suites/navigation-menu-item/utils/update-navigation-menu-item.util'; @@ -40,6 +41,7 @@ describe('NavigationMenuItem update should succeed', () => { const { data } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId, targetObjectMetadataId: personObjectMetadataId, position: 1, @@ -89,6 +91,7 @@ describe('NavigationMenuItem update should succeed', () => { const { data: folderData } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId: folderTargetRecordId, targetObjectMetadataId: personObjectMetadataId, }, @@ -121,6 +124,7 @@ describe('NavigationMenuItem update should succeed', () => { const { data: folderData } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId: folderTargetRecordId, targetObjectMetadataId: personObjectMetadataId, }, @@ -163,6 +167,7 @@ describe('NavigationMenuItem update should succeed', () => { const { data: folderData } = await createNavigationMenuItem({ expectToFail: false, input: { + type: NavigationMenuItemType.RECORD, targetRecordId: folderTargetRecordId, targetObjectMetadataId: personObjectMetadataId, }, diff --git a/packages/twenty-shared/src/application/navigationMenuItemManifestType.ts b/packages/twenty-shared/src/application/navigationMenuItemManifestType.ts index 3038d8af006..e5c66025a5a 100644 --- a/packages/twenty-shared/src/application/navigationMenuItemManifestType.ts +++ b/packages/twenty-shared/src/application/navigationMenuItemManifestType.ts @@ -1,6 +1,8 @@ import { type SyncableEntityOptions } from '@/application/syncableEntityOptionsType'; +import { type NavigationMenuItemType } from '@/types/NavigationMenuItemType'; export type NavigationMenuItemManifest = SyncableEntityOptions & { + type: NavigationMenuItemType; name?: string; icon?: string; color?: string; diff --git a/packages/twenty-shared/src/types/NavigationMenuItemType.ts b/packages/twenty-shared/src/types/NavigationMenuItemType.ts new file mode 100644 index 00000000000..b3d18a37188 --- /dev/null +++ b/packages/twenty-shared/src/types/NavigationMenuItemType.ts @@ -0,0 +1,7 @@ +export enum NavigationMenuItemType { + VIEW = 'VIEW', + FOLDER = 'FOLDER', + LINK = 'LINK', + OBJECT = 'OBJECT', + RECORD = 'RECORD', +} diff --git a/packages/twenty-shared/src/types/index.ts b/packages/twenty-shared/src/types/index.ts index 217bfe1c265..23f1fe3aa62 100644 --- a/packages/twenty-shared/src/types/index.ts +++ b/packages/twenty-shared/src/types/index.ts @@ -128,6 +128,7 @@ export { MessageParticipantRole } from './MessageParticipantRole'; export type { MetadataGqlOperationSignature } from './MetadataGqlOperationSignature'; export type { ModifiedProperties } from './ModifiedProperties'; export type { NavigateOptions } from './NavigateOptions'; +export { NavigationMenuItemType } from './NavigationMenuItemType'; export type { NonNullableRequired } from './NonNullableRequired'; export type { Nullable } from './Nullable'; export type { NullablePartial } from './NullablePartial';