UNPKG

contentful-management

Version:
48 lines (47 loc) 1.88 kB
import type { Except } from 'type-fest'; import type { CursorPaginationParams, ExoCursorPaginatedCollectionProp, ExoMetadataProps, ExoQueryFilters, Link } from '../common-types'; import type { ComponentSlotDefinition, ComponentTypeContentProperty, ComponentTypeDesignProperty, ComponentTypeViewport, DataAssemblyLink, TreeNodeV2 } from './component-type'; export type ExperienceTemplateSys = { id: string; type: 'ExperienceTemplate'; version: number; space: Link<'Space'>; environment: Link<'Environment'>; fieldStatus?: Record<string, Record<string, 'draft' | 'published' | 'changed'>>; publishedAt?: string; publishedVersion?: number; publishedCounter?: number; firstPublishedAt?: string; publishedBy?: Link<'User'> | Link<'AppDefinition'>; variant?: string; variantType?: string; variantDimension?: string; createdAt: string; createdBy: Link<'User'>; updatedAt: string; updatedBy: Link<'User'>; }; export type ExperienceTemplateProps = { sys: ExperienceTemplateSys; name: string; description: string; viewports: ComponentTypeViewport[]; contentProperties: ComponentTypeContentProperty[]; designProperties: ComponentTypeDesignProperty[]; componentTree?: TreeNodeV2[]; slots?: ComponentSlotDefinition[]; metadata?: ExoMetadataProps; dataAssemblies?: DataAssemblyLink[]; }; export type CreateExperienceTemplateProps = Except<ExperienceTemplateProps, 'sys'>; export type UpsertExperienceTemplateProps = Except<ExperienceTemplateProps, 'sys'> & { sys: { id: string; type: 'ExperienceTemplate'; version?: number; }; }; export type ExperienceTemplateQueryOptions = CursorPaginationParams & ExoQueryFilters & { order?: string; }; export type ExperienceTemplateCollection = ExoCursorPaginatedCollectionProp<ExperienceTemplateProps>;