From 1158a4a4d700e16a30f192e10412e1a68e2fb707 Mon Sep 17 00:00:00 2001 From: Tyler Pina Date: Tue, 30 Dec 2025 09:58:41 -0800 Subject: [PATCH] chore: config types updated --- .../ContentLifecyclePermissionsTable.tsx | 11 ++--- .../remote-mcp/src/components/types/config.ts | 43 ++++++++++++------- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/apps/remote-mcp/src/components/access-config/ContentLifecyclePermissionsTable.tsx b/apps/remote-mcp/src/components/access-config/ContentLifecyclePermissionsTable.tsx index 2569af8053..cca45f84de 100644 --- a/apps/remote-mcp/src/components/access-config/ContentLifecyclePermissionsTable.tsx +++ b/apps/remote-mcp/src/components/access-config/ContentLifecyclePermissionsTable.tsx @@ -1,13 +1,14 @@ import { type FC } from 'react'; import { Stack, Text, Checkbox, Table, Flex, Box } from '@contentful/f36-components'; import type { ContentLifecyclePermissions } from '../types/config'; +import type { ContentLifecycleEntityKey, EntityActionKey } from '../types/config'; interface ContentLifecyclePermissionsTableProps { permissions: ContentLifecyclePermissions; onSelectAllToggle: () => void; - onEntityActionToggle: (entity: 'entries' | 'assets' | 'contentTypes', action: string) => void; - onColumnToggle: (action: string) => void; - onRowToggle: (entity: 'entries' | 'assets' | 'contentTypes') => void; + onEntityActionToggle: (entity: ContentLifecycleEntityKey, action: EntityActionKey) => void; + onColumnToggle: (action: EntityActionKey) => void; + onRowToggle: (entity: ContentLifecycleEntityKey) => void; } export const ContentLifecyclePermissionsTable: FC = ({ @@ -58,7 +59,7 @@ export const ContentLifecyclePermissionsTable: FC onColumnToggle(action)} + onChange={() => onColumnToggle(action as EntityActionKey)} /> @@ -91,7 +92,7 @@ export const ContentLifecyclePermissionsTable: FC onEntityActionToggle(entity, action)} + onChange={() => onEntityActionToggle(entity, action as EntityActionKey)} /> diff --git a/apps/remote-mcp/src/components/types/config.ts b/apps/remote-mcp/src/components/types/config.ts index a940bec8a7..e4fe913099 100644 --- a/apps/remote-mcp/src/components/types/config.ts +++ b/apps/remote-mcp/src/components/types/config.ts @@ -1,12 +1,13 @@ export interface EntityPermissions { read: boolean; - edit: boolean; - create: boolean; - delete: boolean; - publish: boolean; - unpublish: boolean; - archive: boolean; - unarchive: boolean; + edit?: boolean; + create?: boolean; + delete?: boolean; + publish?: boolean; + unpublish?: boolean; + archive?: boolean; + unarchive?: boolean; + invoke?: boolean; } export interface ContentLifecyclePermissions { @@ -14,14 +15,19 @@ export interface ContentLifecyclePermissions { entries: EntityPermissions; assets: EntityPermissions; contentTypes: EntityPermissions; + aiActions: EntityPermissions; + editorInterfaces: EntityPermissions; + environments: EntityPermissions; + locales: EntityPermissions; + orgs: EntityPermissions; + spaces: EntityPermissions; + tags: EntityPermissions; + concepts: EntityPermissions; + conceptSchemes: EntityPermissions; } export interface OtherFeaturesPermissions { runAIActions: boolean; - triggerAutomations: boolean; - installApps: boolean; - callAppActions: boolean; - invokeAgents: boolean; } export interface MigrationPermissions { @@ -40,14 +46,21 @@ export interface AppInstallationParameters { entries: string; assets: string; contentTypes: string; + aiActions: string; + editorInterfaces: string; + environments: string; + locales: string; + orgs: string; + spaces: string; + tags: string; + concepts: string; + conceptSchemes: string; runAIActions: boolean; - triggerAutomations: boolean; - installApps: boolean; - callAppActions: boolean; - invokeAgents: boolean; migrateWithinSpace: boolean; migrateBetweenSpaces: boolean; } export type OtherFeaturesPermissionKey = keyof OtherFeaturesPermissions; export type MigrationPermissionKey = keyof MigrationPermissions; +export type ContentLifecycleEntityKey = Exclude; +export type EntityActionKey = keyof EntityPermissions;