|
1 | 1 | import {ActionSdk} from "@code0-tech/hercules"; |
2 | | -import {singleZodSchemaToTypescriptDef} from "../helpers"; |
| 2 | +import {singleZodSchemaToTypescriptDef, zodSchemaToTypescriptDefs} from "../helpers"; |
3 | 3 | import {z} from "zod"; |
4 | 4 |
|
| 5 | +export const ReturnLabelsSchema = z.object({ |
| 6 | + TemplateSet: z.enum([ |
| 7 | + "NONE", "D_200", "PF_4_I", "PF_4_I_200", "PF_4_I_300", "PF_8_D_200", "T_200_BF", "T_300_BF", "ZPL_200", "ZPL_200_TRACKID_EAN_128", "ZPL_200_TRACKID_CODE_39", "ZPL_200_REFNO_EAN_128", "ZPL_200_REFNO_CODE_39", "ZPL_300", "ZPL_300_TRACKID_EAN_128", "ZPL_300_TRACKID_CODE_39", "ZPL_300_REFNO_EAN_128", "ZPL_300_REFNO_CODE_39" |
| 8 | + ]), |
| 9 | + LabelFormat: z.enum(["PDF", "ZEBRA", "INTERMEC", "DATAMAX", "TOSHIBA", "PNG"]) |
| 10 | +}) |
| 11 | + |
5 | 12 | export const PrintingOptionsSchema = z.object({ |
6 | | - ReturnLabels: z.object({ |
7 | | - TemplateSet: z.enum([ |
8 | | - "NONE", "D_200", "PF_4_I", "PF_4_I_200", "PF_4_I_300", "PF_8_D_200", "T_200_BF", "T_300_BF", "ZPL_200", "ZPL_200_TRACKID_EAN_128", "ZPL_200_TRACKID_CODE_39", "ZPL_200_REFNO_EAN_128", "ZPL_200_REFNO_CODE_39", "ZPL_300", "ZPL_300_TRACKID_EAN_128", "ZPL_300_TRACKID_CODE_39", "ZPL_300_REFNO_EAN_128", "ZPL_300_REFNO_CODE_39" |
9 | | - ]), |
10 | | - LabelFormat: z.enum(["PDF", "ZEBRA", "INTERMEC", "DATAMAX", "TOSHIBA", "PNG"]) |
11 | | - }).optional(), |
| 13 | + ReturnLabels: ReturnLabelsSchema.optional(), |
12 | 14 | useDefault: z.string().max(7).optional(), |
13 | 15 | DefinePrinter: z.object({ |
14 | 16 | LabelPrinter: z.string().max(255).optional(), |
15 | 17 | DocumentPrinter: z.string().max(255).optional(), |
16 | 18 | }).optional(), |
17 | 19 | }) |
18 | 20 | export type PrintingOptions = z.infer<typeof PrintingOptionsSchema> |
19 | | -export type ReturnLabels = z.infer<typeof PrintingOptionsSchema.shape.ReturnLabels> |
| 21 | +export type ReturnLabels = z.infer<typeof ReturnLabelsSchema> |
20 | 22 |
|
21 | 23 | export default (sdk: ActionSdk) => { |
22 | 24 | return sdk.registerDataTypes( |
| 25 | + { |
| 26 | + identifier: "RETURN_LABELS", |
| 27 | + type: singleZodSchemaToTypescriptDef("RETURN_LABELS", |
| 28 | + ReturnLabelsSchema |
| 29 | + ), |
| 30 | + name: [ |
| 31 | + { |
| 32 | + code: "en-US", |
| 33 | + content: "Return Labels" |
| 34 | + } |
| 35 | + ], |
| 36 | + displayMessage: [ |
| 37 | + { |
| 38 | + code: "en-US", |
| 39 | + content: "Return Labels" |
| 40 | + } |
| 41 | + ] |
| 42 | + }, |
23 | 43 | { |
24 | 44 | identifier: "GLS_PRINTING_OPTIONS", |
25 | | - type: singleZodSchemaToTypescriptDef( |
| 45 | + type: zodSchemaToTypescriptDefs( |
26 | 46 | "GLS_PRINTING_OPTIONS", |
27 | | - PrintingOptionsSchema |
28 | | - ), |
| 47 | + PrintingOptionsSchema, |
| 48 | + { |
| 49 | + RETURN_LABELS: ReturnLabelsSchema |
| 50 | + } |
| 51 | + ).get("GLS_PRINTING_OPTIONS")!, |
29 | 52 | name: [ |
30 | 53 | { |
31 | 54 | code: "en-US", |
|
0 commit comments