UNPKG

2.3 kBTypeScriptView Raw
1import { BasicMetaSysProps, DefaultElements, GetSpaceEnvironmentParams, GetWorkflowParams, Link, MakeRequest, PaginationQueryOptions, SysLink } from '../common-types';
2export declare type WorkflowSysProps = Pick<BasicMetaSysProps, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy'> & {
3 type: 'Workflow';
4 space: SysLink;
5 environment: SysLink;
6 completedBy?: SysLink;
7 completedAt?: string;
8 deletedBy?: SysLink;
9 deletedAt?: string;
10 entity: Link<'Entry'>;
11 workflowDefinition: Link<'WorkflowDefinition'>;
12};
13export declare type WorkflowProps = {
14 sys: WorkflowSysProps;
15 stepId?: string;
16};
17export declare type CreateWorkflowProps = Omit<WorkflowProps, 'sys'> & {
18 entity: Link<'Entry'>;
19 workflowDefinition: Link<'WorkflowDefinition'>;
20};
21export declare type UpdateWorkflowProps = Omit<WorkflowProps, 'sys'> & {
22 sys: Pick<WorkflowSysProps, 'version'>;
23};
24export declare type CreateWorkflowParams = GetSpaceEnvironmentParams;
25export declare type UpdateWorkflowParams = GetWorkflowParams;
26export declare type DeleteWorkflowParams = GetWorkflowParams & {
27 version: number;
28};
29export declare type CompleteWorkflowParams = DeleteWorkflowParams;
30declare type WorkflowApi = {
31 update(): Promise<Workflow>;
32 delete(): Promise<void>;
33 complete(): Promise<void>;
34};
35export interface Workflow extends WorkflowProps, DefaultElements<WorkflowProps>, WorkflowApi {
36}
37export declare type WorkflowQueryOptions = Omit<PaginationQueryOptions, 'order'> & {
38 'stepId[in]'?: string;
39 /** Find workflows filtered by the Entity type (Entry) */
40 'sys.entities.sys.linkType'?: string;
41 /** Find workflows containing the specified, comma-separated entities. Requires `entities.sys.linkType` */
42 'sys.entities.sys.id[in]'?: string;
43 'sys.workflowDefinition.sys.id'?: string;
44};
45/**
46 * @private
47 */
48export default function createWorkflowApi(makeRequest: MakeRequest): WorkflowApi;
49/**
50 * @private
51 */
52export declare function wrapWorkflow(makeRequest: MakeRequest, data: WorkflowProps): Workflow;
53/**
54 * @private
55 */
56export declare const wrapWorkflowCollection: (makeRequest: MakeRequest, data: import("../common-types").CollectionProp<WorkflowProps>) => import("../common-types").Collection<Workflow, WorkflowProps>;
57export {};