@basetime/a2w-api-ts
Version:
Client library that communicates with the addtowallet API.
96 lines (95 loc) • 3.09 kB
TypeScript
import { z } from 'zod';
/**
* Schema for when a workflow attached to a campaign should run.
*
* Mirrors the `runsWhen` values accepted by the backend's
* `validateCampaignWorkflow` schema.
*/
export declare const CampaignWorkflowRunsWhenSchema: z.ZodEnum<{
installed: "installed";
enrolled: "enrolled";
claimed: "claimed";
redeemed: "redeemed";
updated: "updated";
scanned: "scanned";
scheduled: "scheduled";
}>;
/**
* Defines when a workflow attached to a campaign should run.
*/
export type CampaignWorkflowRunsWhen = z.infer<typeof CampaignWorkflowRunsWhenSchema>;
/**
* Schema for the body accepted by attach/update on the campaign workflows sub-endpoint.
*/
export declare const CampaignWorkflowInputSchema: z.ZodObject<{
workflowId: z.ZodString;
runsWhen: z.ZodEnum<{
installed: "installed";
enrolled: "enrolled";
claimed: "claimed";
redeemed: "redeemed";
updated: "updated";
scanned: "scanned";
scheduled: "scheduled";
}>;
schedule: z.ZodOptional<z.ZodNullable<z.ZodObject<{
when: z.ZodUnion<readonly [z.ZodEnum<{
daily: "daily";
"daily-except-weekends": "daily-except-weekends";
weekly: "weekly";
monthly: "monthly";
}>, z.ZodLiteral<"">]>;
weekday: z.ZodString;
monthday: z.ZodString;
time: z.ZodString;
}, z.core.$loose>>>;
}, z.core.$loose>;
/**
* Body accepted by attach/update on the campaign workflows sub-endpoint.
*/
export type CampaignWorkflowInput = z.infer<typeof CampaignWorkflowInputSchema>;
/**
* Schema for a workflow attachment on a campaign.
*
* Returned by `client.campaigns.workflows.getAll(...)`. When fetched via `getAll` the
* `workflow` field is populated with the workflow entity itself.
*/
export declare const CampaignWorkflowSchema: z.ZodObject<{
id: z.ZodString;
campaignId: z.ZodString;
workflowId: z.ZodString;
runsWhen: z.ZodEnum<{
installed: "installed";
enrolled: "enrolled";
claimed: "claimed";
redeemed: "redeemed";
updated: "updated";
scanned: "scanned";
scheduled: "scheduled";
}>;
schedule: z.ZodNullable<z.ZodObject<{
when: z.ZodUnion<readonly [z.ZodEnum<{
daily: "daily";
"daily-except-weekends": "daily-except-weekends";
weekly: "weekly";
monthly: "monthly";
}>, z.ZodLiteral<"">]>;
weekday: z.ZodString;
monthday: z.ZodString;
time: z.ZodString;
}, z.core.$loose>>;
workflow: z.ZodOptional<z.ZodObject<{
id: z.ZodString;
organizationId: z.ZodString;
scannerAppId: z.ZodNullable<z.ZodString>;
name: z.ZodString;
description: z.ZodString;
code: z.ZodString;
packages: z.ZodArray<z.ZodString>;
createdDate: z.ZodCoercedDate<unknown>;
}, z.core.$loose>>;
}, z.core.$loose>;
/**
* A workflow attachment on a campaign.
*/
export type CampaignWorkflow = z.infer<typeof CampaignWorkflowSchema>;