Skip to content

Commit 7e16c50

Browse files
committed
Refactor printing options schema to separate return labels and enhance type definitions
1 parent bee73bb commit 7e16c50

2 files changed

Lines changed: 48 additions & 22 deletions

File tree

actions/gls-action/src/types/glsPrintingOptions.ts

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,54 @@
11
import {ActionSdk} from "@code0-tech/hercules";
2-
import {singleZodSchemaToTypescriptDef} from "../helpers";
2+
import {singleZodSchemaToTypescriptDef, zodSchemaToTypescriptDefs} from "../helpers";
33
import {z} from "zod";
44

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+
512
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(),
1214
useDefault: z.string().max(7).optional(),
1315
DefinePrinter: z.object({
1416
LabelPrinter: z.string().max(255).optional(),
1517
DocumentPrinter: z.string().max(255).optional(),
1618
}).optional(),
1719
})
1820
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>
2022

2123
export default (sdk: ActionSdk) => {
2224
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+
},
2343
{
2444
identifier: "GLS_PRINTING_OPTIONS",
25-
type: singleZodSchemaToTypescriptDef(
45+
type: zodSchemaToTypescriptDefs(
2646
"GLS_PRINTING_OPTIONS",
27-
PrintingOptionsSchema
28-
),
47+
PrintingOptionsSchema,
48+
{
49+
RETURN_LABELS: ReturnLabelsSchema
50+
}
51+
).get("GLS_PRINTING_OPTIONS")!,
2952
name: [
3053
{
3154
code: "en-US",

package-lock.json

Lines changed: 14 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)