UNPKG

2.98 kBTypeScriptView Raw
1import { BasicMetaSysProps, DefaultElements, GetSpaceEnvironmentParams, GetWorkflowDefinitionParams, Link, MakeRequest, PaginationQueryOptions, SysLink } from '../common-types';
2import { ActionType } from './role';
3export declare type WorkflowStepAction = {
4 action: Link<'AppAction'>;
5 body: string;
6 headers: Record<string, unknown>;
7};
8export declare type WorkflowStepPermission = {
9 effect: string;
10 action: ActionType | 'all';
11 actor: Link<'User' | 'Team'>;
12};
13export declare type WorkflowStepProps = {
14 id: string;
15 name: string;
16 description?: string;
17 actions?: WorkflowStepAction[];
18 annotations?: string[];
19 permissions?: WorkflowStepPermission[];
20};
21export declare type UpdateWorkflowStepProps = WorkflowStepProps;
22export declare type CreateWorkflowStepProps = Omit<WorkflowStepProps, 'id'>;
23export declare type WorkflowDefinitionSysProps = Pick<BasicMetaSysProps, 'id' | 'version' | 'createdAt' | 'createdBy' | 'updatedAt' | 'updatedBy'> & {
24 type: 'WorkflowDefinition';
25 space: SysLink;
26 environment: SysLink;
27};
28export declare type WorkflowDefinitionValidationLink = {
29 type: 'Link';
30 validations: Array<{
31 linkContentType: string[];
32 }>;
33 linkType: 'Entry';
34};
35export declare type WorkflowDefinitionProps = {
36 sys: WorkflowDefinitionSysProps;
37 name: string;
38 description?: string;
39 appliesTo?: WorkflowDefinitionValidationLink[];
40 steps: WorkflowStepProps[];
41};
42export declare type CreateWorkflowDefinitionProps = Omit<WorkflowDefinitionProps, 'sys' | 'steps'> & {
43 steps: CreateWorkflowStepProps[];
44};
45export declare type UpdateWorkflowDefinitionProps = Omit<WorkflowDefinitionProps, 'sys' | 'steps'> & {
46 sys: Pick<WorkflowDefinitionSysProps, 'version'>;
47 steps: Array<CreateWorkflowStepProps | UpdateWorkflowStepProps>;
48};
49export declare type CreateWorkflowDefinitionParams = GetSpaceEnvironmentParams;
50export declare type UpdateWorkflowDefinitionParams = GetWorkflowDefinitionParams;
51export declare type DeleteWorkflowDefinitionParams = GetWorkflowDefinitionParams & {
52 version: number;
53};
54declare type WorkflowDefinitionApi = {
55 update(): Promise<WorkflowDefinition>;
56 delete(): Promise<void>;
57};
58export interface WorkflowDefinition extends WorkflowDefinitionProps, DefaultElements<WorkflowDefinitionProps>, WorkflowDefinitionApi {
59}
60export declare type WorkflowDefinitionQueryOptions = Omit<PaginationQueryOptions, 'order'>;
61/**
62 * @private
63 */
64export default function createWorkflowDefinitionApi(makeRequest: MakeRequest): WorkflowDefinitionApi;
65/**
66 * @private
67 */
68export declare function wrapWorkflowDefinition(makeRequest: MakeRequest, data: WorkflowDefinitionProps): WorkflowDefinition;
69/**
70 * @private
71 */
72export declare const wrapWorkflowDefinitionCollection: (makeRequest: MakeRequest, data: import("../common-types").CollectionProp<WorkflowDefinitionProps>) => import("../common-types").Collection<WorkflowDefinition, WorkflowDefinitionProps>;
73export {};