@flowselections/logistiek-engine 1.0.2 → 1.0.4

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.
Files changed (39) hide show
  1. package/README.md +24 -24
  2. package/dist-lib/integrations/supabase/auth-middleware.d.ts +516 -0
  3. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  4. package/dist-lib/integrations/supabase/client.d.ts +516 -0
  5. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  6. package/dist-lib/integrations/supabase/client.server.d.ts +516 -0
  7. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  8. package/dist-lib/integrations/supabase/types.d.ts +518 -0
  9. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  10. package/dist-lib/lib/bulkLoadCarrierPlanning.server.d.ts +4 -3
  11. package/dist-lib/lib/bulkLoadCarrierPlanning.server.d.ts.map +1 -1
  12. package/dist-lib/lib/bulkLoadCarrierPlanning.server.js +13 -15
  13. package/dist-lib/lib/floridayDocuments.functions.d.ts +1548 -0
  14. package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
  15. package/dist-lib/lib/handlers/index.d.ts +2 -0
  16. package/dist-lib/lib/handlers/index.d.ts.map +1 -0
  17. package/dist-lib/lib/handlers/index.js +4 -0
  18. package/dist-lib/lib/handlers/logistics-tick.server.d.ts +3 -0
  19. package/dist-lib/lib/handlers/logistics-tick.server.d.ts.map +1 -0
  20. package/dist-lib/lib/handlers/logistics-tick.server.js +54 -0
  21. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +2615 -50
  22. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
  23. package/dist-lib/lib/loadCarrierPlanning.functions.js +13 -8
  24. package/dist-lib/lib/loadCarrierPlanning.server.d.ts +7 -6
  25. package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
  26. package/dist-lib/lib/loadCarrierPlanning.server.js +31 -33
  27. package/dist-lib/lib/loadCarrierTaskSync.server.d.ts +2 -1
  28. package/dist-lib/lib/loadCarrierTaskSync.server.d.ts.map +1 -1
  29. package/dist-lib/lib/loadCarrierTaskSync.server.js +4 -6
  30. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +1032 -0
  31. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
  32. package/dist-lib/lib/logisticsRecalcJob.functions.js +4 -2
  33. package/dist-lib/lib/logisticsRecalcJob.server.d.ts +6 -5
  34. package/dist-lib/lib/logisticsRecalcJob.server.d.ts.map +1 -1
  35. package/dist-lib/lib/logisticsRecalcJob.server.js +17 -19
  36. package/dist-lib/lib/logisticsRecalculate.functions.d.ts +516 -0
  37. package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
  38. package/dist-lib/lib/modulePrompts.js +911 -911
  39. package/package.json +18 -3
@@ -1,3 +1,4 @@
1
+ import type { SupabaseClient } from "@supabase/supabase-js";
1
2
  export interface BulkPlanBatchResult {
2
3
  phase: "buffers" | "orders";
3
4
  processed: number;
@@ -10,14 +11,14 @@ export interface BulkPlanBatchResult {
10
11
  errors: string[];
11
12
  }
12
13
  /** Deelt een batch orderbuffers in. */
13
- export declare function planBuffersBatch(cursor: string | null, limit?: number): Promise<BulkPlanBatchResult>;
14
+ export declare function planBuffersBatch(sb: SupabaseClient, cursor: string | null, limit?: number): Promise<BulkPlanBatchResult>;
14
15
  /** Deelt een batch orders in die (nog) niet aan een buffer hangen. */
15
- export declare function planLooseOrdersBatch(cursor: string | null, limit?: number): Promise<BulkPlanBatchResult>;
16
+ export declare function planLooseOrdersBatch(sb: SupabaseClient, cursor: string | null, limit?: number): Promise<BulkPlanBatchResult>;
16
17
  export interface OrderWithoutTasks {
17
18
  id: string;
18
19
  orderRef: string;
19
20
  pickupAt: string | null;
20
21
  }
21
22
  /** Orders die nog geen enkele taak in de Engine hebben. */
22
- export declare function findOrdersWithoutTasks(limit?: number): Promise<OrderWithoutTasks[]>;
23
+ export declare function findOrdersWithoutTasks(sb: SupabaseClient, limit?: number): Promise<OrderWithoutTasks[]>;
23
24
  //# sourceMappingURL=bulkLoadCarrierPlanning.server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bulkLoadCarrierPlanning.server.d.ts","sourceRoot":"","sources":["../../src/lib/bulkLoadCarrierPlanning.server.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAaD,uCAAuC;AACvC,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,SAAK,GACT,OAAO,CAAC,mBAAmB,CAAC,CA+B9B;AAED,sEAAsE;AACtE,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,SAAK,GACT,OAAO,CAAC,mBAAmB,CAAC,CAsC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,2DAA2D;AAC3D,wBAAsB,sBAAsB,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0BrF"}
1
+ {"version":3,"file":"bulkLoadCarrierPlanning.server.d.ts","sourceRoot":"","sources":["../../src/lib/bulkLoadCarrierPlanning.server.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAaD,uCAAuC;AACvC,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,SAAK,GACT,OAAO,CAAC,mBAAmB,CAAC,CA+B9B;AAED,sEAAsE;AACtE,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,SAAK,GACT,OAAO,CAAC,mBAAmB,CAAC,CAsC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,2DAA2D;AAC3D,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0BzG"}
@@ -6,10 +6,8 @@
6
6
  // Werkt in batches met een cursor zodat grote aantallen niet in een timeout
7
7
  // lopen: de UI roept net zo lang opnieuw aan tot `done` waar is.
8
8
  // ============================================================================
9
- import { supabaseAdmin } from "../integrations/supabase/client.server";
10
- import { replanBufferInternal, replanOrderInternal } from "./loadCarrierPlanning.server";
11
- import { attachIndelingToTasks } from "./loadCarrierTaskSync.server";
12
- const db = () => supabaseAdmin;
9
+ import { replanBufferInternal, replanOrderInternal } from "./loadCarrierPlanning.server.js";
10
+ import { attachIndelingToTasks } from "./loadCarrierTaskSync.server.js";
13
11
  const EMPTY = {
14
12
  processed: 0,
15
13
  cartsCreated: 0,
@@ -21,8 +19,8 @@ const EMPTY = {
21
19
  errors: [],
22
20
  };
23
21
  /** Deelt een batch orderbuffers in. */
24
- export async function planBuffersBatch(cursor, limit = 20) {
25
- let query = db().from("order_buffers").select("id").order("id", { ascending: true }).limit(limit);
22
+ export async function planBuffersBatch(sb, cursor, limit = 20) {
23
+ let query = sb.from("order_buffers").select("id").order("id", { ascending: true }).limit(limit);
26
24
  if (cursor)
27
25
  query = query.gt("id", cursor);
28
26
  const { data, error } = await query;
@@ -35,14 +33,14 @@ export async function planBuffersBatch(cursor, limit = 20) {
35
33
  const id = String(buffer.id);
36
34
  result.nextCursor = id;
37
35
  try {
38
- const plan = await replanBufferInternal(id);
36
+ const plan = await replanBufferInternal(sb, id);
39
37
  if (plan.skipped === "locked") {
40
38
  result.skippedLocked++;
41
39
  }
42
40
  else {
43
41
  result.processed++;
44
42
  result.cartsCreated += Number(plan.cartsCreated ?? 0);
45
- result.tasksUpdated += await attachIndelingToTasks(plan);
43
+ result.tasksUpdated += await attachIndelingToTasks(sb, plan);
46
44
  }
47
45
  }
48
46
  catch (err) {
@@ -55,8 +53,8 @@ export async function planBuffersBatch(cursor, limit = 20) {
55
53
  return result;
56
54
  }
57
55
  /** Deelt een batch orders in die (nog) niet aan een buffer hangen. */
58
- export async function planLooseOrdersBatch(cursor, limit = 20) {
59
- let query = db()
56
+ export async function planLooseOrdersBatch(sb, cursor, limit = 20) {
57
+ let query = sb
60
58
  .from("orders")
61
59
  .select("id")
62
60
  .is("buffer_id", null)
@@ -75,7 +73,7 @@ export async function planLooseOrdersBatch(cursor, limit = 20) {
75
73
  const id = String(order.id);
76
74
  result.nextCursor = id;
77
75
  try {
78
- const plan = await replanOrderInternal(id);
76
+ const plan = await replanOrderInternal(sb, id);
79
77
  if (!plan)
80
78
  continue;
81
79
  if (plan.skipped === "locked") {
@@ -84,7 +82,7 @@ export async function planLooseOrdersBatch(cursor, limit = 20) {
84
82
  else {
85
83
  result.processed++;
86
84
  result.cartsCreated += Number(plan.cartsCreated ?? 0);
87
- result.tasksUpdated += await attachIndelingToTasks(plan);
85
+ result.tasksUpdated += await attachIndelingToTasks(sb, plan);
88
86
  }
89
87
  }
90
88
  catch (err) {
@@ -97,8 +95,8 @@ export async function planLooseOrdersBatch(cursor, limit = 20) {
97
95
  return result;
98
96
  }
99
97
  /** Orders die nog geen enkele taak in de Engine hebben. */
100
- export async function findOrdersWithoutTasks(limit = 50) {
101
- const { data: orders } = await db()
98
+ export async function findOrdersWithoutTasks(sb, limit = 50) {
99
+ const { data: orders } = await sb
102
100
  .from("orders")
103
101
  .select("id, order_number, delivery_date, custom_fields")
104
102
  .is("deleted_at", null)
@@ -109,7 +107,7 @@ export async function findOrdersWithoutTasks(limit = 50) {
109
107
  if (list.length === 0)
110
108
  return [];
111
109
  const refs = list.map((o) => String(o.order_number));
112
- const { data: tasks } = await db().from("logistics_tasks").select("order_ref").in("order_ref", refs);
110
+ const { data: tasks } = await sb.from("logistics_tasks").select("order_ref").in("order_ref", refs);
113
111
  const known = new Set((Array.isArray(tasks) ? tasks : []).map((t) => String(t.order_ref)));
114
112
  const missing = [];
115
113
  for (const o of list) {