@flowselections/pick-schermen-kwekers 1.0.64 → 1.0.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pickStickerBundle.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickStickerBundle.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/pickStickerBundle.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { parseCartStickerBundle } from "../pickStickerBundle.js";
3
+ describe("1.0.65 stickerstand in één aanroep", () => {
4
+ it("eigen kar: stand, uitwijk en job-ids", () => {
5
+ const r = parseCartStickerBundle({ toegang: true, karren: [{
6
+ cart_id: "c1", toegang: true, order_id: "o1",
7
+ stand: { toegang: true, stand: { totaal: 2, regels: [{ status: "geprint", kopieen: 2, printJobId: "j1" }] } },
8
+ controle: { toegang: true, controle: [] },
9
+ meldingen: { toegang: true, meldingen: [] },
10
+ uitwijk: [{ id: "j1", uitwijk: { uitwijkroute: "a4_vel", printerNaam: "Kantoor" } }],
11
+ }] });
12
+ expect(r[0].stand?.totaal).toBe(2);
13
+ expect(r[0].jobIds).toEqual(["j1"]);
14
+ expect(r[0].uitwijk.get("j1")?.route).toBe("a4_vel");
15
+ expect(r[0].orderId).toBe("o1");
16
+ });
17
+ it("kar van ander station: melding, geen stand", () => {
18
+ const r = parseCartStickerBundle({ toegang: true, karren: [{ cart_id: "c2", toegang: false, melding: "Hoort niet bij dit station" }] });
19
+ expect(r[0].toegang).toBe(false);
20
+ expect(r[0].melding).toBe("Hoort niet bij dit station");
21
+ expect(r[0].stand).toBeNull();
22
+ });
23
+ it("onleesbaar antwoord: lege lijst", () => {
24
+ expect(parseCartStickerBundle(null)).toEqual([]);
25
+ expect(parseCartStickerBundle({ toegang: false })).toEqual([]);
26
+ });
27
+ });
@@ -95,7 +95,7 @@ export const KEYED_RPCS = new Set([
95
95
  "pickstation_auto_send_status", "pickstation_cart_sticker_state", "pickstation_document_for_order",
96
96
  "pickstation_get_orders_raw", "pickstation_get_planning_context", "pickstation_get_settings", "pickstation_log_print",
97
97
  "pickstation_order_sticker_meldingen", "pickstation_resolve_delivery_orders", "pickstation_sticker_past_controle",
98
- "pickstation_sticker_reprint", "pickstation_print_status",
98
+ "pickstation_sticker_reprint", "pickstation_print_status", "pickstation_cart_sticker_states",
99
99
  "pick_read_station", "pick_read_locks", "pick_read_queue", "pick_read_country_counts", "pick_read_by_code",
100
100
  "pick_read_unscanned_earlier", "pick_resolve_scan_code", "pick_read_print_job_uitwijk", "pick_read_vroege_sticker_waarschuwing",
101
101
  ]);
@@ -0,0 +1,16 @@
1
+ import { type CartStickerState, type StickerMelding } from "./pickStickers.js";
2
+ import { type StickerFit } from "./pick150.js";
3
+ import { type Uitwijk } from "./pickUitwijk.js";
4
+ export interface CartStickerBundleItem {
5
+ cartId: string;
6
+ toegang: boolean;
7
+ melding: string | null;
8
+ orderId: string | null;
9
+ stand: CartStickerState | null;
10
+ controle: StickerFit[] | null;
11
+ meldingen: StickerMelding[] | null;
12
+ uitwijk: Map<string, Uitwijk>;
13
+ jobIds: string[];
14
+ }
15
+ export declare function parseCartStickerBundle(raw: unknown): CartStickerBundleItem[];
16
+ //# sourceMappingURL=pickStickerBundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickStickerBundle.d.ts","sourceRoot":"","sources":["../../src/lib/pickStickerBundle.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0D,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpI,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,EAAE,CA0B5E"}
@@ -0,0 +1,36 @@
1
+ // Pickschermen 1.0.65: antwoord van pickstation_cart_sticker_states (alle
2
+ // karren in één aanroep). Per kar dezelfde vorm als de losse functies.
3
+ import { parsePickstationCartSticker, parsePickstationMeldingen } from "./pickStickers.js";
4
+ import { parseStickerFit } from "./pick150.js";
5
+ import { parseUitwijkList } from "./pickUitwijk.js";
6
+ const rec = (v) => v && typeof v === "object" && !Array.isArray(v) ? v : null;
7
+ const txt = (v) => (typeof v === "string" && v.trim() ? v.trim() : null);
8
+ export function parseCartStickerBundle(raw) {
9
+ const r = rec(raw);
10
+ if (!r || r["toegang"] !== true || !Array.isArray(r["karren"]))
11
+ return [];
12
+ return r["karren"].flatMap((x) => {
13
+ const k = rec(x);
14
+ const cartId = txt(k?.["cart_id"]);
15
+ if (!k || !cartId)
16
+ return [];
17
+ if (k["toegang"] !== true) {
18
+ return [{ cartId, toegang: false, melding: txt(k["melding"]), orderId: null, stand: null, controle: null, meldingen: null, uitwijk: new Map(), jobIds: [] }];
19
+ }
20
+ const stand = parsePickstationCartSticker(k["stand"]);
21
+ const jobIds = Array.isArray(stand?.regels)
22
+ ? stand.regels.map((l) => l.printJobId).filter((v) => !!v).sort()
23
+ : [];
24
+ return [{
25
+ cartId,
26
+ toegang: true,
27
+ melding: null,
28
+ orderId: txt(k["order_id"]),
29
+ stand,
30
+ controle: k["controle"] == null ? null : parseStickerFit(k["controle"]),
31
+ meldingen: k["meldingen"] == null ? null : parsePickstationMeldingen(k["meldingen"]),
32
+ uitwijk: parseUitwijkList(k["uitwijk"]),
33
+ jobIds,
34
+ }];
35
+ });
36
+ }
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "@flowselections/pick-schermen-kwekers",
3
- "version": "1.0.64",
3
+ "version": "1.0.66",
4
4
  "flowselections": {
5
5
  "moduleId": "pick-schermen",
6
+ "schema": {
7
+ "file": "schema/pickschermen.sql",
8
+ "order": 70
9
+ },
6
10
  "pages": [
7
11
  {
8
12
  "export": "PickstationsPage",
@@ -32,7 +36,8 @@
32
36
  },
33
37
  "files": [
34
38
  "dist-lib",
35
- "public"
39
+ "public",
40
+ "schema"
36
41
  ],
37
42
  "publishConfig": {
38
43
  "access": "public"