@flowselections/layout-maker 1.61.1 → 1.62.1
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.
- package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
- package/dist-lib/components/PrintplekDetailPage.js +18 -5
- package/dist-lib/index.d.ts +2 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +2 -0
- package/dist-lib/integrations/supabase/types.d.ts +88 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/computerKoppeling.d.ts +47 -0
- package/dist-lib/lib/computerKoppeling.d.ts.map +1 -0
- package/dist-lib/lib/computerKoppeling.js +48 -0
- package/dist-lib/lib/printService.functions.d.ts +35 -0
- package/dist-lib/lib/printService.functions.d.ts.map +1 -1
- package/dist-lib/lib/printService.functions.js +61 -0
- package/dist-lib/lib/printplekken.d.ts +3 -1
- package/dist-lib/lib/printplekken.d.ts.map +1 -1
- package/dist-lib/lib/printplekken.js +5 -2
- package/dist-lib/lib/shellPoort.d.ts +1 -1
- package/dist-lib/lib/shellPoort.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface PlekComputerRij {
|
|
2
|
+
id: string;
|
|
3
|
+
print_plek_id: string;
|
|
4
|
+
computer_naam: string;
|
|
5
|
+
printnode_computer_id: number | string | null;
|
|
6
|
+
}
|
|
7
|
+
export interface LiveComputer {
|
|
8
|
+
id: string;
|
|
9
|
+
naam: string;
|
|
10
|
+
online: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type ComputerToestand = {
|
|
13
|
+
soort: "gekoppeld";
|
|
14
|
+
computer: LiveComputer;
|
|
15
|
+
}
|
|
16
|
+
/** Nog geen id: print door op de naam, maar toont status onbekend. */
|
|
17
|
+
| {
|
|
18
|
+
soort: "geen_id";
|
|
19
|
+
}
|
|
20
|
+
/** Id bestaat niet meer, wel een computer met dezelfde naam (opnieuw geïnstalleerd). */
|
|
21
|
+
| {
|
|
22
|
+
soort: "zelfde_naam";
|
|
23
|
+
kandidaat: LiveComputer;
|
|
24
|
+
}
|
|
25
|
+
/** Id bestaat niet meer en er is geen eenduidige vervanger. */
|
|
26
|
+
| {
|
|
27
|
+
soort: "verdwenen";
|
|
28
|
+
};
|
|
29
|
+
export declare function toestandVanComputer(rij: PlekComputerRij, live: LiveComputer[]): ComputerToestand;
|
|
30
|
+
export declare const STATUS_ONBEKEND_TEKST = "Status onbekend \u2013 koppel deze computer opnieuw";
|
|
31
|
+
export declare const zelfdeNaamTekst: (naam: string) => string;
|
|
32
|
+
export interface KoppelVoorstelRij {
|
|
33
|
+
rij_id: string;
|
|
34
|
+
print_plek_id: string;
|
|
35
|
+
computer_naam: string;
|
|
36
|
+
huidig_id: string | null;
|
|
37
|
+
gevonden_ids: string[];
|
|
38
|
+
eenduidig: boolean;
|
|
39
|
+
reden: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Voorstel voor de eenmalige vulling. Alleen eenduidig als er precies één
|
|
43
|
+
* PrintNode-computer met exact dezelfde (getrimde) naam is en dat id nog niet
|
|
44
|
+
* bij een andere rij hoort.
|
|
45
|
+
*/
|
|
46
|
+
export declare function maakKoppelVoorstel(rijen: PlekComputerRij[], live: LiveComputer[]): KoppelVoorstelRij[];
|
|
47
|
+
//# sourceMappingURL=computerKoppeling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computerKoppeling.d.ts","sourceRoot":"","sources":["../../src/lib/computerKoppeling.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE;AAChD,sEAAsE;GACpE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE;AACtB,wFAAwF;GACtF;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE;AACnD,+DAA+D;GAC7D;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAI3B,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAShG;AAED,eAAO,MAAM,qBAAqB,wDAAmD,CAAC;AACtF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,WACyB,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,iBAAiB,EAAE,CAoBtG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// src/lib/computerKoppeling.ts — computers op een printplek koppelen op het
|
|
3
|
+
// vaste PrintNode-computer-id. Pure logica, zonder database of netwerk.
|
|
4
|
+
// ============================================================================
|
|
5
|
+
const norm = (s) => (s ?? "").trim();
|
|
6
|
+
export function toestandVanComputer(rij, live) {
|
|
7
|
+
const lijst = Array.isArray(live) ? live : [];
|
|
8
|
+
const id = rij.printnode_computer_id == null ? "" : String(rij.printnode_computer_id);
|
|
9
|
+
if (!id)
|
|
10
|
+
return { soort: "geen_id" };
|
|
11
|
+
const op = lijst.find((c) => String(c.id) === id);
|
|
12
|
+
if (op)
|
|
13
|
+
return { soort: "gekoppeld", computer: op };
|
|
14
|
+
const zelfde = lijst.filter((c) => norm(c.naam) === norm(rij.computer_naam));
|
|
15
|
+
if (zelfde.length === 1)
|
|
16
|
+
return { soort: "zelfde_naam", kandidaat: zelfde[0] };
|
|
17
|
+
return { soort: "verdwenen" };
|
|
18
|
+
}
|
|
19
|
+
export const STATUS_ONBEKEND_TEKST = "Status onbekend – koppel deze computer opnieuw";
|
|
20
|
+
export const zelfdeNaamTekst = (naam) => `Er is een computer met dezelfde naam gevonden: ${naam}. Koppelen?`;
|
|
21
|
+
/**
|
|
22
|
+
* Voorstel voor de eenmalige vulling. Alleen eenduidig als er precies één
|
|
23
|
+
* PrintNode-computer met exact dezelfde (getrimde) naam is en dat id nog niet
|
|
24
|
+
* bij een andere rij hoort.
|
|
25
|
+
*/
|
|
26
|
+
export function maakKoppelVoorstel(rijen, live) {
|
|
27
|
+
const lijst = Array.isArray(live) ? live : [];
|
|
28
|
+
const veilig = Array.isArray(rijen) ? rijen : [];
|
|
29
|
+
const alInGebruik = new Set(veilig.filter((r) => r.printnode_computer_id != null).map((r) => String(r.printnode_computer_id)));
|
|
30
|
+
return veilig.map((r) => {
|
|
31
|
+
const huidig = r.printnode_computer_id == null ? null : String(r.printnode_computer_id);
|
|
32
|
+
const gevonden = lijst.filter((c) => norm(c.naam) === norm(r.computer_naam)).map((c) => String(c.id));
|
|
33
|
+
if (huidig) {
|
|
34
|
+
return { rij_id: r.id, print_plek_id: r.print_plek_id, computer_naam: r.computer_naam, huidig_id: huidig, gevonden_ids: gevonden, eenduidig: false, reden: "Heeft al een id" };
|
|
35
|
+
}
|
|
36
|
+
let reden = "Eenduidig";
|
|
37
|
+
let eenduidig = false;
|
|
38
|
+
if (gevonden.length === 0)
|
|
39
|
+
reden = "Geen PrintNode-computer met deze naam";
|
|
40
|
+
else if (gevonden.length > 1)
|
|
41
|
+
reden = "Meerdere PrintNode-computers met deze naam";
|
|
42
|
+
else if (alInGebruik.has(gevonden[0]))
|
|
43
|
+
reden = "Dit id hoort al bij een andere computer";
|
|
44
|
+
else
|
|
45
|
+
eenduidig = true;
|
|
46
|
+
return { rij_id: r.id, print_plek_id: r.print_plek_id, computer_naam: r.computer_naam, huidig_id: null, gevonden_ids: gevonden, eenduidig, reden };
|
|
47
|
+
});
|
|
48
|
+
}
|
|
@@ -267,4 +267,39 @@ export declare const printInstallaties: import("@tanstack/start-client-core").Op
|
|
|
267
267
|
ok: true;
|
|
268
268
|
beheer: true;
|
|
269
269
|
}>>;
|
|
270
|
+
/** Stap A: alleen lezen. Voorstel per printplek-computer. */
|
|
271
|
+
export declare const computerKoppelVoorstel: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
272
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
273
|
+
userId: string;
|
|
274
|
+
claims: import("@supabase/auth-js").JwtPayload;
|
|
275
|
+
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
276
|
+
ok: false;
|
|
277
|
+
fout: any;
|
|
278
|
+
rijen: [];
|
|
279
|
+
} | {
|
|
280
|
+
ok: true;
|
|
281
|
+
rijen: import("./computerKoppeling.js").KoppelVoorstelRij[];
|
|
282
|
+
fout?: undefined;
|
|
283
|
+
}>>;
|
|
284
|
+
/**
|
|
285
|
+
* Koppelt één printplek-computer aan een PrintNode-id (stap B per rij, of de
|
|
286
|
+
* knop "Koppelen"). Controleert live dat het id bestaat en dezelfde naam heeft.
|
|
287
|
+
*/
|
|
288
|
+
export declare const koppelComputerOpId: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
289
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
290
|
+
userId: string;
|
|
291
|
+
claims: import("@supabase/auth-js").JwtPayload;
|
|
292
|
+
}, undefined, undefined, undefined>], (d: {
|
|
293
|
+
rijId: string;
|
|
294
|
+
printnodeId: string;
|
|
295
|
+
}) => {
|
|
296
|
+
rijId: string;
|
|
297
|
+
printnodeId: string;
|
|
298
|
+
}, Promise<{
|
|
299
|
+
ok: false;
|
|
300
|
+
fout: any;
|
|
301
|
+
} | {
|
|
302
|
+
ok: true;
|
|
303
|
+
fout?: undefined;
|
|
304
|
+
}>>;
|
|
270
305
|
//# sourceMappingURL=printService.functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printService.functions.d.ts","sourceRoot":"","sources":["../../src/lib/printService.functions.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe;;;;;;;;;;;;GASxB,CAAC;AAEL,eAAO,MAAM,qBAAqB;;;;8CAER;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;;;;;;;;;GAmBC,CAAC;AAEL,eAAO,MAAM,WAAW;;;;8CAEE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;GAU7C,CAAC;AAEL,eAAO,MAAM,uBAAuB;;;;+CAET;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE;;;;;;;;;;GAqE5C,CAAC;AAEL,eAAO,MAAM,gBAAgB;;;;;;;;;;;;GAYzB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;GAUnC,CAAC;AAEL,oFAAoF;AACpF,eAAO,MAAM,cAAc;;;;iFAgBvB,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;8CAED;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;GAyDvC,CAAC;AAEL,qDAAqD;AACrD,eAAO,MAAM,aAAa;;;;;;;sBAaJ,MAAM;qBAAe,MAAM;iBAAW,MAAM,EAAE;uBAAiB,MAAM,EAAE;kBAAY,MAAM;uBAAiB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;GAMpI,CAAC;AAEL,qEAAqE;AACrE,eAAO,MAAM,sBAAsB;;;;;;;;;;GAoB/B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqD1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"printService.functions.d.ts","sourceRoot":"","sources":["../../src/lib/printService.functions.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe;;;;;;;;;;;;GASxB,CAAC;AAEL,eAAO,MAAM,qBAAqB;;;;8CAER;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;;;;;;;;;GAmBC,CAAC;AAEL,eAAO,MAAM,WAAW;;;;8CAEE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;GAU7C,CAAC;AAEL,eAAO,MAAM,uBAAuB;;;;+CAET;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE;;;;;;;;;;GAqE5C,CAAC;AAEL,eAAO,MAAM,gBAAgB;;;;;;;;;;;;GAYzB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;GAUnC,CAAC;AAEL,oFAAoF;AACpF,eAAO,MAAM,cAAc;;;;iFAgBvB,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;8CAED;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;GAyDvC,CAAC;AAEL,qDAAqD;AACrD,eAAO,MAAM,aAAa;;;;;;;sBAaJ,MAAM;qBAAe,MAAM;iBAAW,MAAM,EAAE;uBAAiB,MAAM,EAAE;kBAAY,MAAM;uBAAiB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;GAMpI,CAAC;AAEL,qEAAqE;AACrE,eAAO,MAAM,sBAAsB;;;;;;;;;;GAoB/B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqD1B,CAAC;AAeL,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;GAiB/B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;0CAET;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE;;;;;;;;;GAqBxD,CAAC"}
|
|
@@ -323,3 +323,64 @@ export const printInstallaties = createServerFn({ method: "POST" })
|
|
|
323
323
|
}));
|
|
324
324
|
return { ok: true, beheer: true, ...stil, installaties };
|
|
325
325
|
});
|
|
326
|
+
// ---------------------------------------------------------------------------
|
|
327
|
+
// Computers koppelen op PrintNode-id
|
|
328
|
+
// ---------------------------------------------------------------------------
|
|
329
|
+
async function isBeheerderCtx(ctx) {
|
|
330
|
+
const rollen = await Promise.all(["admin", "superadmin", "developer"].map((rol) => ctx.supabase.rpc("has_role", { _user_id: ctx.userId, _role: rol }).then((x) => x.data === true)));
|
|
331
|
+
return rollen.some(Boolean);
|
|
332
|
+
}
|
|
333
|
+
/** Stap A: alleen lezen. Voorstel per printplek-computer. */
|
|
334
|
+
export const computerKoppelVoorstel = createServerFn({ method: "POST" })
|
|
335
|
+
.middleware([requireSupabaseAuth])
|
|
336
|
+
.handler(async ({ context }) => {
|
|
337
|
+
const ctx = context;
|
|
338
|
+
const { haalComputers } = await import("./printService.server.js");
|
|
339
|
+
const { maakKoppelVoorstel } = await import("./computerKoppeling.js");
|
|
340
|
+
let live;
|
|
341
|
+
try {
|
|
342
|
+
live = await haalComputers();
|
|
343
|
+
}
|
|
344
|
+
catch (e) {
|
|
345
|
+
return { ok: false, fout: e instanceof Error ? e.message : "Computers ophalen mislukt", rijen: [] };
|
|
346
|
+
}
|
|
347
|
+
const { data, error } = await ctx.supabase
|
|
348
|
+
.from("print_plek_computers")
|
|
349
|
+
.select("id, print_plek_id, computer_naam, printnode_computer_id");
|
|
350
|
+
if (error)
|
|
351
|
+
return { ok: false, fout: error.message, rijen: [] };
|
|
352
|
+
return { ok: true, rijen: maakKoppelVoorstel(Array.isArray(data) ? data : [], live) };
|
|
353
|
+
});
|
|
354
|
+
/**
|
|
355
|
+
* Koppelt één printplek-computer aan een PrintNode-id (stap B per rij, of de
|
|
356
|
+
* knop "Koppelen"). Controleert live dat het id bestaat en dezelfde naam heeft.
|
|
357
|
+
*/
|
|
358
|
+
export const koppelComputerOpId = createServerFn({ method: "POST" })
|
|
359
|
+
.middleware([requireSupabaseAuth])
|
|
360
|
+
.inputValidator((d) => ({
|
|
361
|
+
rijId: String(d?.rijId ?? ""),
|
|
362
|
+
printnodeId: String(d?.printnodeId ?? ""),
|
|
363
|
+
}))
|
|
364
|
+
.handler(async ({ context, data }) => {
|
|
365
|
+
const ctx = context;
|
|
366
|
+
if (!(await isBeheerderCtx(ctx)))
|
|
367
|
+
return { ok: false, fout: "Alleen een beheerder kan computers koppelen." };
|
|
368
|
+
if (!data.rijId || !/^\d+$/.test(data.printnodeId))
|
|
369
|
+
return { ok: false, fout: "Ongeldige computer." };
|
|
370
|
+
const { haalComputers } = await import("./printService.server.js");
|
|
371
|
+
const live = await haalComputers();
|
|
372
|
+
const pc = live.find((c) => String(c.id) === data.printnodeId);
|
|
373
|
+
if (!pc)
|
|
374
|
+
return { ok: false, fout: "Deze computer is niet (meer) bekend bij de printdienst." };
|
|
375
|
+
const { data: rij } = await ctx.supabase
|
|
376
|
+
.from("print_plek_computers").select("computer_naam").eq("id", data.rijId).maybeSingle();
|
|
377
|
+
if (!rij)
|
|
378
|
+
return { ok: false, fout: "Deze computer staat niet op een printplek." };
|
|
379
|
+
if (String(rij.computer_naam).trim() !== pc.naam.trim())
|
|
380
|
+
return { ok: false, fout: "De naam in de printdienst komt niet overeen. Koppel opnieuw via Computer toevoegen." };
|
|
381
|
+
const { error } = await ctx.supabase
|
|
382
|
+
.from("print_plek_computers").update({ printnode_computer_id: Number(pc.id) }).eq("id", data.rijId);
|
|
383
|
+
if (error)
|
|
384
|
+
return { ok: false, fout: /duplicate|unique/i.test(error.message) ? "Deze computer is al aan een andere printplek gekoppeld." : error.message };
|
|
385
|
+
return { ok: true };
|
|
386
|
+
});
|
|
@@ -8,6 +8,8 @@ export interface PrintplekComputer {
|
|
|
8
8
|
id: string;
|
|
9
9
|
print_plek_id: string;
|
|
10
10
|
computer_naam: string;
|
|
11
|
+
/** Vast PrintNode-computer-id; leeg = nog niet op id gekoppeld. */
|
|
12
|
+
printnode_computer_id?: number | string | null;
|
|
11
13
|
}
|
|
12
14
|
export interface PrintplekDocumentPrinter {
|
|
13
15
|
id: string;
|
|
@@ -68,7 +70,7 @@ export declare function printplekVerwijderImpact(id: string): Promise<PrintplekI
|
|
|
68
70
|
*/
|
|
69
71
|
export declare function verwijderPrintplek(id: string): Promise<PrintplekImpact>;
|
|
70
72
|
/** Zet een computer (werkplek) bij een printplek. Een computer hoort bij één plek. */
|
|
71
|
-
export declare function koppelComputerAanPrintplek(printPlekId: string, computerNaam: string): Promise<void>;
|
|
73
|
+
export declare function koppelComputerAanPrintplek(printPlekId: string, computerNaam: string, printnodeComputerId?: string | number | null): Promise<void>;
|
|
72
74
|
export declare function ontkoppelComputer(computerNaam: string): Promise<void>;
|
|
73
75
|
/** Legt vast welke printer een documentsoort op deze printplek gebruikt. */
|
|
74
76
|
export declare function zetPrintplekPrinter(printPlekId: string, documenttype: string, printerId: string | null, papierformaat?: string | null): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printplekken.d.ts","sourceRoot":"","sources":["../../src/lib/printplekken.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"printplekken.d.ts","sourceRoot":"","sources":["../../src/lib/printplekken.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,8 +117,11 @@ export async function verwijderPrintplek(id) {
|
|
|
117
117
|
return naarImpact(data);
|
|
118
118
|
}
|
|
119
119
|
/** Zet een computer (werkplek) bij een printplek. Een computer hoort bij één plek. */
|
|
120
|
-
export async function koppelComputerAanPrintplek(printPlekId, computerNaam) {
|
|
121
|
-
const
|
|
120
|
+
export async function koppelComputerAanPrintplek(printPlekId, computerNaam, printnodeComputerId) {
|
|
121
|
+
const rij = { print_plek_id: printPlekId, computer_naam: computerNaam.trim() };
|
|
122
|
+
if (printnodeComputerId != null && /^\d+$/.test(String(printnodeComputerId)))
|
|
123
|
+
rij.printnode_computer_id = Number(printnodeComputerId);
|
|
124
|
+
const { error } = await supabase.from("print_plek_computers").upsert(rij, { onConflict: "computer_naam" });
|
|
122
125
|
if (error)
|
|
123
126
|
throw error;
|
|
124
127
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Moduleversie van deze code. Gelijk houden aan package.json (test bewaakt dit). */
|
|
2
|
-
export declare const MODULE_VERSIE = "1.
|
|
2
|
+
export declare const MODULE_VERSIE = "1.62.0";
|
|
3
3
|
export declare function normaliseerAdres(u: unknown): string | null;
|
|
4
4
|
/** -1 als a < b, 0 als gelijk, 1 als a > b (alleen cijfers, punt-gescheiden). */
|
|
5
5
|
export declare function vergelijkVersie(a: string, b: string): number;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// database. Niets vast in code; ontbreekt het adres, dan wordt er niet geprint.
|
|
5
5
|
// ============================================================================
|
|
6
6
|
/** Moduleversie van deze code. Gelijk houden aan package.json (test bewaakt dit). */
|
|
7
|
-
export const MODULE_VERSIE = "1.
|
|
7
|
+
export const MODULE_VERSIE = "1.62.0";
|
|
8
8
|
export function normaliseerAdres(u) {
|
|
9
9
|
const s = String(u ?? "").trim().replace(/\/+$/, "").toLowerCase();
|
|
10
10
|
return s || null;
|