@basetime/a2w-api-ts
Version:
Client library that communicates with the addtowallet API.
62 lines (61 loc) • 2.35 kB
TypeScript
import { z } from 'zod';
/**
* Schema for a scanner app.
*/
export declare const ScannerAppSchema: z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
description: z.ZodString;
registrationCode: z.ZodString;
organizationId: z.ZodString;
parentId: z.ZodString;
tags: z.ZodArray<z.ZodString>;
attributes: z.ZodObject<{
items: z.ZodArray<z.ZodObject<{
key: z.ZodString;
description: z.ZodString;
value: z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>;
type: z.ZodEnum<{
number: "number";
boolean: "boolean";
text: "text";
}>;
}, z.core.$loose>>;
}, z.core.$loose>;
webviewScanUrl: z.ZodString;
webviewStandbyUrl: z.ZodString;
webviewErrorUrl: z.ZodString;
webviewPassword: z.ZodString;
passCode: z.ZodOptional<z.ZodString>;
brandColor: z.ZodOptional<z.ZodString>;
brandLogoUrl: z.ZodOptional<z.ZodString>;
isKioskMode: z.ZodOptional<z.ZodBoolean>;
isJsonConfigured: z.ZodOptional<z.ZodBoolean>;
jsonConfig: z.ZodOptional<z.ZodString>;
jsonConfigUrl: z.ZodOptional<z.ZodString>;
scannerCount: z.ZodNumber;
settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$loose>;
/**
* Represents a scanner app.
*/
export type ScannerApp = z.infer<typeof ScannerAppSchema>;
type ScannerAppServerManagedField = 'id' | 'organizationId' | 'parentId' | 'registrationCode' | 'scannerCount' | 'createdDate';
type ScannerAppSettableFields = Omit<ScannerApp, ScannerAppServerManagedField>;
type ScannerAppJsonConfigurationField = 'isJsonConfigured' | 'jsonConfig' | 'jsonConfigUrl';
type ScannerAppStandardField = Exclude<keyof ScannerAppSettableFields, ScannerAppJsonConfigurationField>;
type ScannerAppJsonConfiguredInput = Pick<ScannerAppSettableFields, 'jsonConfig' | 'jsonConfigUrl'> & {
isJsonConfigured: true;
} & {
[Field in ScannerAppStandardField]?: never;
};
type ScannerAppStandardInput = Omit<ScannerAppSettableFields, ScannerAppJsonConfigurationField> & {
isJsonConfigured?: false;
jsonConfig?: never;
jsonConfigUrl?: never;
};
/**
* Body accepted by `client.scanners.createApp(...)` / `updateApp(...)`.
*/
export type ScannerAppInput = ScannerAppJsonConfiguredInput | ScannerAppStandardInput;
export {};