Skip to content

Commit c3efa38

Browse files
authored
Merge pull request #32 from code0-tech/feat/signature-max-500-character
Centralized LabelFormat and TemplateSet schemas
2 parents cd59df9 + 34aaabd commit c3efa38

6 files changed

Lines changed: 56 additions & 30 deletions

File tree

actions/gls-action/src/data_types/glsCreateParcelsResponse.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { DisplayMessage, Identifier, Name, Schema } from "@code0-tech/hercules";
22
import { z } from "zod";
3+
import { LabelFormatSchema } from "./glsPrintingOptions.js";
34

45
export const CreateParcelsResponseSchema = z.object({
56
CreatedShipment: z.object({
@@ -26,7 +27,7 @@ export const CreateParcelsResponseSchema = z.object({
2627
PrintData: z.array(
2728
z.object({
2829
Data: z.string(),
29-
LabelFormat: z.enum(["PDF", "ZEBRA", "INTERMEC", "DATAMAX", "TOSHIBA", "PNG"]),
30+
LabelFormat: LabelFormatSchema,
3031
})
3132
),
3233
CustomerID: z.string(),

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

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,34 @@
11
import { DisplayMessage, Identifier, Name, Schema } from "@code0-tech/hercules";
22
import { z } from "zod";
33

4+
export const TemplateSetSchema = z.enum([
5+
"NONE",
6+
"D_200",
7+
"PF_4_I",
8+
"PF_4_I_200",
9+
"PF_4_I_300",
10+
"PF_8_D_200",
11+
"T_200_BF",
12+
"T_300_BF",
13+
"ZPL_200",
14+
"ZPL_200_TRACKID_EAN_128",
15+
"ZPL_200_TRACKID_CODE_39",
16+
"ZPL_200_REFNO_EAN_128",
17+
"ZPL_200_REFNO_CODE_39",
18+
"ZPL_300",
19+
"ZPL_300_TRACKID_EAN_128",
20+
"ZPL_300_TRACKID_CODE_39",
21+
"ZPL_300_REFNO_EAN_128",
22+
"ZPL_300_REFNO_CODE_39",
23+
]);
24+
export type TemplateSet = z.infer<typeof TemplateSetSchema>;
25+
26+
export const LabelFormatSchema = z.enum(["PDF", "ZEBRA", "INTERMEC", "DATAMAX", "TOSHIBA", "PNG"]);
27+
export type LabelFormat = z.infer<typeof LabelFormatSchema>;
28+
429
export const ReturnLabelsSchema = z.object({
5-
TemplateSet: z.enum([
6-
"NONE",
7-
"D_200",
8-
"PF_4_I",
9-
"PF_4_I_200",
10-
"PF_4_I_300",
11-
"PF_8_D_200",
12-
"T_200_BF",
13-
"T_300_BF",
14-
"ZPL_200",
15-
"ZPL_200_TRACKID_EAN_128",
16-
"ZPL_200_TRACKID_CODE_39",
17-
"ZPL_200_REFNO_EAN_128",
18-
"ZPL_200_REFNO_CODE_39",
19-
"ZPL_300",
20-
"ZPL_300_TRACKID_EAN_128",
21-
"ZPL_300_TRACKID_CODE_39",
22-
"ZPL_300_REFNO_EAN_128",
23-
"ZPL_300_REFNO_CODE_39",
24-
]),
25-
LabelFormat: z.enum(["PDF", "ZEBRA", "INTERMEC", "DATAMAX", "TOSHIBA", "PNG"]),
30+
TemplateSet: TemplateSetSchema,
31+
LabelFormat: LabelFormatSchema,
2632
});
2733
export type ReturnLabels = z.infer<typeof ReturnLabelsSchema>;
2834

@@ -36,6 +42,18 @@ export const PrintingOptionsSchema = z.object({
3642
});
3743
export type PrintingOptions = z.infer<typeof PrintingOptionsSchema>;
3844

45+
@Identifier("GLS_TEMPLATE_SET")
46+
@Name({ code: "en-US", content: "Template Set" })
47+
@DisplayMessage({ code: "en-US", content: "Template Set" })
48+
@Schema(TemplateSetSchema)
49+
export class GlsTemplateSetDataType {}
50+
51+
@Identifier("GLS_LABEL_FORMAT")
52+
@Name({ code: "en-US", content: "Label Format" })
53+
@DisplayMessage({ code: "en-US", content: "Label Format" })
54+
@Schema(LabelFormatSchema)
55+
export class GlsLabelFormatDataType {}
56+
3957
@Identifier("RETURN_LABELS")
4058
@Name({ code: "en-US", content: "Return Labels" })
4159
@DisplayMessage({ code: "en-US", content: "Return Labels" })

actions/gls-action/src/data_types/glsReprintParcel.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { DisplayMessage, Identifier, Name, Schema } from "@code0-tech/hercules";
22
import { z } from "zod";
3-
import { ReturnLabelsSchema } from "./glsPrintingOptions.js";
3+
import { LabelFormatSchema, ReturnLabelsSchema } from "./glsPrintingOptions.js";
44

55
export const ReprintParcelRequestDataSchema = z.object({
66
TrackID: z.string().max(8).optional(),
@@ -40,7 +40,7 @@ export const ReprintParcelResponseDataSchema = z.object({
4040
PrintData: z.array(
4141
z.object({
4242
Data: z.string(),
43-
LabelFormat: z.enum(["PDF", "ZEBRA", "PNG", "PNG_200"]),
43+
LabelFormat: LabelFormatSchema,
4444
})
4545
),
4646
CustomerID: z.string(),

actions/gls-action/src/functions/reprintParcelFunction.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { ReturnLabels } from "../data_types/glsPrintingOptions.js";
2121

2222
@Identifier("reprintParcel")
2323
@DisplayIcon("codezero:gls")
24-
@Signature("(CreationDate: string, TemplateSet: \"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\", LabelFormat: \"PDF\"|\"ZEBRA\"|\"INTERMEC\"|\"DATAMAX\"|\"TOSHIBA\"|\"PNG\", TrackID?: string, ParcelNumber?: number, ShipmentReference?: string, ShipmentUnitReference?: string, PartnerParcelNumber?: string): GLS_REPRINT_PARCEL_RESPONSE_DATA")
24+
@Signature("(CreationDate: string, TemplateSet: GLS_TEMPLATE_SET, LabelFormat: GLS_LABEL_FORMAT, TrackID?: string, ParcelNumber?: number, ShipmentReference?: string, ShipmentUnitReference?: string, PartnerParcelNumber?: string): GLS_REPRINT_PARCEL_RESPONSE_DATA")
2525
@Name({ code: "en-US", content: "Reprint parcel" })
2626
@DisplayMessage({ code: "en-US", content: "Reprint parcel" })
2727
@Documentation({

actions/gls-action/src/functions/utils/createPrintingOptionsFunction.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import {
88
Parameter,
99
Signature,
1010
} from "@code0-tech/hercules";
11-
import {PrintingOptions} from "../../data_types/glsPrintingOptions.js";
11+
import {LabelFormat, PrintingOptions, TemplateSet} from "../../data_types/glsPrintingOptions.js";
1212

1313
@Identifier("createPrintingOptions")
14-
@Signature("(TemplateSet?: \"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\", LabelFormat?: \"PDF\"|\"ZEBRA\"|\"INTERMEC\"|\"DATAMAX\"|\"TOSHIBA\"|\"PNG\", UseDefault?: string, LabelPrinter?: string, DocumentPrinter?: string): GLS_PRINTING_OPTIONS")
14+
@Signature("(TemplateSet?: GLS_TEMPLATE_SET, LabelFormat?: GLS_LABEL_FORMAT, UseDefault?: string, LabelPrinter?: string, DocumentPrinter?: string): GLS_PRINTING_OPTIONS")
1515
@Name({code: "en-US", content: "Create GLS printing settings"})
1616
@DisplayIcon("codezero:gls")
1717
@DisplayMessage({code: "en-US", content: "Create GLS printing settings in format ${TemplateSet} as ${LabelFormat}"})
@@ -62,8 +62,8 @@ import {PrintingOptions} from "../../data_types/glsPrintingOptions.js";
6262
export class CreatePrintingOptionsFunction {
6363
run(
6464
_context: unknown,
65-
TemplateSet?: "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",
66-
LabelFormat?: "PDF" | "ZEBRA" | "INTERMEC" | "DATAMAX" | "TOSHIBA" | "PNG",
65+
TemplateSet?: TemplateSet,
66+
LabelFormat?: LabelFormat,
6767
UseDefault?: string,
6868
LabelPrinter?: string,
6969
DocumentPrinter?: string,

actions/gls-action/src/index.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@ import {GlsConsigneeDataType} from "./data_types/glsConsignee.js";
1111
import {GlsCreateParcelsResponseDataType} from "./data_types/glsCreateParcelsResponse.js";
1212
import {GlsCustomContentDataType} from "./data_types/glsCustomContent.js";
1313
import {GlsEndOfDayRequestDataType, GlsEndOfDayResponseDataType} from "./data_types/glsEndOfDay.js";
14-
import {GlsPrintingOptionsDataType, ReturnLabelsDataType} from "./data_types/glsPrintingOptions.js";
14+
import {
15+
GlsLabelFormatDataType,
16+
GlsPrintingOptionsDataType,
17+
GlsTemplateSetDataType,
18+
ReturnLabelsDataType
19+
} from "./data_types/glsPrintingOptions.js";
1520
import {GlsReprintParcelRequestDataType, GlsReprintParcelResponseDataType} from "./data_types/glsReprintParcel.js";
1621
import {GlsReturnOptionsDataType} from "./data_types/glsReturnOptions.js";
1722
import {GlsShipmentDataType, GlsShipmentWithoutServicesDataType} from "./data_types/glsShipment.js";
@@ -122,7 +127,9 @@ action.registerDataTypeClass(GlsCreateParcelsResponseDataType);
122127
action.registerDataTypeClass(GlsCustomContentDataType);
123128
action.registerDataTypeClass(GlsEndOfDayRequestDataType);
124129
action.registerDataTypeClass(GlsEndOfDayResponseDataType);
130+
action.registerDataTypeClass(GlsLabelFormatDataType);
125131
action.registerDataTypeClass(GlsPrintingOptionsDataType);
132+
action.registerDataTypeClass(GlsTemplateSetDataType);
126133
action.registerDataTypeClass(ReturnLabelsDataType);
127134
action.registerDataTypeClass(GlsReprintParcelRequestDataType);
128135
action.registerDataTypeClass(GlsReprintParcelResponseDataType);

0 commit comments

Comments
 (0)