UNPKG

@basetime/a2w-api-ts

Version:

Client library that communicates with the addtowallet API.

62 lines (61 loc) 2.35 kB
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 {};