contentful-management
Version:
Client for Contentful's Content Management API
64 lines (63 loc) • 2.42 kB
TypeScript
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 {};