UNPKG

contentful-management

Version:
121 lines (120 loc) • 4.51 kB
import type { AllowedResource, CursorPaginationParams, DataTypeDefinition, ExoCursorPaginatedCollectionProp, Link, MetadataProps, PointerExpressionValue, ResourceLink } from '../common-types'; export declare const SAME_SPACE_CONTENT_SOURCE: "crn:contentful:::content:spaces/$self/environments/$self"; export type DataAssemblyDataTypeField = DataTypeDefinition & { id: string; name: string; }; type DataAssemblyParameterMetadata = { name?: string; description?: string; required: boolean; }; export type DataAssemblyResourceLinkParameter = DataAssemblyParameterMetadata & { type: 'ResourceLink'; linkType?: 'Contentful:Entry' | 'Contentful:Asset'; allowedResources: Array<AllowedResource & { source: typeof SAME_SPACE_CONTENT_SOURCE; }>; }; export type DataAssemblyStringParameter = DataAssemblyParameterMetadata & { type: 'String'; fallbackValue?: string; locked?: boolean; validation?: { allowedValues?: string[]; }; }; export type DataAssemblyNumberParameter = DataAssemblyParameterMetadata & { type: 'Number'; fallbackValue?: number; locked?: boolean; validation?: { min?: number; max?: number; }; }; export type DataAssemblyOrderTerm = { path: string; direction: 'asc' | 'desc'; }; export type DataAssemblyOrderExpressionBinding = DataAssemblyOrderTerm[]; export type DataAssemblyOrderExpressionParameter = DataAssemblyParameterMetadata & { type: 'OrderExpression'; fallbackValue?: DataAssemblyOrderExpressionBinding; locked?: boolean; target: { resourceLink: string; }; }; /** Nested Record fields declare their own IDs and explicit requiredness. */ export type DataAssemblyRecordField = (DataAssemblyStringParameter | DataAssemblyNumberParameter | DataAssemblyOrderExpressionParameter) & { id: string; }; export type DataAssemblyRecordParameter = DataAssemblyParameterMetadata & { type: 'Record'; fields: DataAssemblyRecordField[]; locked?: boolean; }; export type DataAssemblyParameterDefinition = DataAssemblyResourceLinkParameter | DataAssemblyStringParameter | DataAssemblyNumberParameter | DataAssemblyRecordParameter | DataAssemblyOrderExpressionParameter; /** A top-level parameter declares its identifier and explicit requiredness. */ export type DataAssemblyParameterDefinitionWithId = DataAssemblyParameterDefinition & { id: string; }; /** Ordered top-level declarations used by DataAssembly responses, creates and updates. */ export type DataAssemblyParameterConfig = DataAssemblyParameterDefinitionWithId[]; export type DataAssemblyGraphQLResolver = { source: 'Contentful:GraphQL'; query: string; parameters?: PointerExpressionValue; }; export type DataAssemblyNestedResolver = { source: 'Contentful:DataAssembly'; dataAssembly: ResourceLink<'Contentful:DataAssembly'>; parameters?: PointerExpressionValue; }; export type DataAssemblyResolverDefinition = DataAssemblyGraphQLResolver | DataAssemblyNestedResolver; export type DataAssemblyResolverConfig = Record<string, DataAssemblyResolverDefinition>; export type DataAssemblyReturnMappingConfig = PointerExpressionValue; export type DataAssemblySys = { id: string; type: 'DataAssembly'; dataType: DataAssemblyDataTypeField[]; version: number; space: Link<'Space'>; environment: Link<'Environment'>; createdBy: Link<'User'>; createdAt: string | Date; updatedAt: string | Date; updatedBy?: Link<'User'>; publishedAt?: string | Date; publishedVersion?: number; publishedCounter?: number; firstPublishedAt?: string | Date; publishedBy?: Link<'User'> | Link<'AppDefinition'>; variant?: string; }; type DataAssemblyCommonProps = { metadata: Pick<MetadataProps, 'tags'>; name: string; description: string; parameters: DataAssemblyParameterConfig; resolvers: DataAssemblyResolverConfig; return: DataAssemblyReturnMappingConfig; }; export type DataAssemblyProps = DataAssemblyCommonProps & { sys: DataAssemblySys; }; type DataAssemblyWriteProps = DataAssemblyCommonProps & { sys?: never; }; export type CreateDataAssemblyProps = DataAssemblyWriteProps; export type UpdateDataAssemblyProps = DataAssemblyWriteProps; export type DataAssemblyQueryOptions = CursorPaginationParams & { 'sys.id[in]'?: string; }; export type DataAssemblyCollection = ExoCursorPaginatedCollectionProp<DataAssemblyProps> & { errors?: { notFoundIds: string[]; }; }; export {};