UNPKG

3.66 kBTypeScriptView Raw
1import { DefaultElements, ISO8601Timestamp, BasicCursorPaginationOptions, MetaLinkProps, Link, MakeRequest, SysLink } from '../common-types';
2/**
3 * Represents that state of the scheduled action
4 */
5declare enum ScheduledActionStatus {
6 /** action is pending execution */
7 scheduled = "scheduled",
8 /** action has been started and pending completion */
9 inProgress = "inProgress",
10 /** action was completed successfully (terminal state) */
11 succeeded = "succeeded",
12 /** action failed to complete (terminal state) */
13 failed = "failed",
14 /** action was canceled by a user (terminal state) */
15 canceled = "canceled"
16}
17declare type SchedulableEntityType = 'Entry' | 'Asset' | 'Release';
18declare type SchedulableActionType = 'publish' | 'unpublish';
19declare type ErrorDetail = {
20 error: any;
21};
22interface ScheduledActionFailedError {
23 sys: {
24 type: 'Error';
25 id: string;
26 };
27 message?: string;
28 details?: {
29 errors: ErrorDetail[];
30 };
31}
32export declare type ScheduledActionSysProps = {
33 id: string;
34 type: 'ScheduledAction';
35 version: number;
36 space: SysLink;
37 status: ScheduledActionStatus;
38 createdAt: ISO8601Timestamp;
39 createdBy: Link<'User'> | Link<'AppDefinition'>;
40 /** an ISO8601 date string representing when an action was moved to canceled */
41 canceledAt?: ISO8601Timestamp;
42 canceledBy?: Link<'User'> | Link<'AppDefinition'>;
43 /** an ISO8601 date string representing when an action was updated */
44 updatedAt: ISO8601Timestamp;
45 updatedBy: Link<'User'> | Link<'AppDefinition'>;
46};
47export declare type ScheduledActionProps = {
48 sys: ScheduledActionSysProps;
49 action: SchedulableActionType;
50 entity: Link<SchedulableEntityType>;
51 environment?: {
52 sys: MetaLinkProps;
53 };
54 scheduledFor: {
55 datetime: ISO8601Timestamp;
56 /**
57 * A valid IANA timezone Olson identifier
58 *
59 * @see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
60 * @example 'Asia/Kolkata'
61 */
62 timezone?: string;
63 };
64 /**
65 * The Contentful-style error that occurred during execution if sys.status is failed
66 *
67 * @example
68 * {
69 * sys: {
70 * type: 'Error',
71 * id: 'InvalidEntry'
72 * },
73 * message: 'Entry is invalid',
74 * details: {
75 * errors: [...]
76 * }
77 * }
78 */
79 error?: ScheduledActionFailedError;
80};
81export declare type CreateUpdateScheduledActionProps = Pick<ScheduledActionProps, 'action' | 'entity' | 'environment' | 'scheduledFor'>;
82export interface ScheduledActionCollection {
83 sys: {
84 type: 'Array';
85 };
86 pages: BasicCursorPaginationOptions;
87 limit: number;
88 items: ScheduledActionProps[];
89}
90export interface ScheduledActionQueryOptions extends BasicCursorPaginationOptions {
91 'environment.sys.id': string;
92 [key: string]: any;
93}
94export declare type ScheduledActionApi = {
95 delete(): Promise<ScheduledAction>;
96 update(): Promise<ScheduledAction>;
97};
98export interface ScheduledAction extends ScheduledActionProps, DefaultElements<ScheduledActionProps>, ScheduledActionApi {
99}
100export default function getInstanceMethods(makeRequest: MakeRequest): ScheduledActionApi;
101/**
102 * @private
103 */
104export declare function wrapScheduledAction(makeRequest: MakeRequest, data: ScheduledActionProps): ScheduledAction;
105/**
106 * @private
107 */
108export declare const wrapScheduledActionCollection: (makeRequest: MakeRequest, data: import("../common-types").CollectionProp<ScheduledActionProps>) => import("../common-types").Collection<ScheduledAction, ScheduledActionProps>;
109export {};