UNPKG

contentful-management

Version:
64 lines (63 loc) 2.42 kB
import type { BasicMetaSysProps, DefaultElements, GetSpaceEnvironmentParams, GetWorkflowParams, Link, MakeRequest, PaginationQueryOptions, SysLink } from '../common-types'; export type WorkflowSysProps = Pick<BasicMetaSysProps, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy'> & { type: 'Workflow'; space: SysLink; environment: SysLink; completedBy?: SysLink; completedAt?: string; deletedBy?: SysLink; deletedAt?: string; entity: Link<'Entry'>; workflowDefinition: Link<'WorkflowDefinition'>; }; export type WorkflowProps = { sys: WorkflowSysProps; stepId?: string; }; export type CreateWorkflowProps = Omit<WorkflowProps, 'sys'> & { entity: Link<'Entry'>; workflowDefinition: Link<'WorkflowDefinition'>; }; export type UpdateWorkflowProps = Omit<WorkflowProps, 'sys'> & { sys: Pick<WorkflowSysProps, 'version'>; }; export type CreateWorkflowParams = GetSpaceEnvironmentParams; export type UpdateWorkflowParams = GetWorkflowParams; export type DeleteWorkflowParams = GetWorkflowParams & { version: number; }; export type CompleteWorkflowParams = DeleteWorkflowParams; type WorkflowApi = { update(): Promise<Workflow>; delete(): Promise<void>; complete(): Promise<void>; }; type OrderQueryParam = 'sys.updatedAt' | '-sys.updatedAt' | 'sys.createdAt' | '-sys.createdAt'; export interface Workflow extends WorkflowProps, DefaultElements<WorkflowProps>, WorkflowApi { } export type WorkflowQueryOptions = Omit<PaginationQueryOptions, 'order'> & { 'stepId[in]'?: string; /** Find workflows filtered by the Entity type (Entry) */ 'sys.entity.sys.linkType'?: string; /** Find workflows containing the specified, comma-separated entities. Requires `sys.entity.sys.linkType` */ 'sys.entity.sys.id[in]'?: string; 'sys.workflowDefinition.sys.id'?: string; /** * Order workflows by * @default -sys.createdAt * */ order?: OrderQueryParam; }; /** * @private */ export default function createWorkflowApi(makeRequest: MakeRequest): WorkflowApi; /** * @private */ export declare function wrapWorkflow(makeRequest: MakeRequest, data: WorkflowProps): Workflow; /** * @private */ export declare const wrapWorkflowCollection: (makeRequest: MakeRequest, data: import("../common-types").CollectionProp<WorkflowProps>) => import("../common-types").Collection<Workflow, WorkflowProps>; export {};