"feat: Added debug server and related components for improved development experience"

This commit is contained in:
2025-05-23 07:24:51 +02:00
parent d457a8d86b
commit 9f6219832c
189 changed files with 35730 additions and 133 deletions

View File

@@ -0,0 +1,41 @@
import type { InferResultType } from "@/utils/drizzle";
export enum PrinterStatus {
IDLE = 0,
OUT_OF_ORDER = 1,
RESERVED = 2,
}
export function derivePrinterStatus(
printer: InferResultType<"printers", { printJobs: true }>,
) {
if (printer.status === PrinterStatus.OUT_OF_ORDER) {
return PrinterStatus.OUT_OF_ORDER;
}
const activePrintJob = printer.printJobs[0];
if (!activePrintJob || activePrintJob.aborted) {
return PrinterStatus.IDLE;
}
const now = Date.now();
const startAt = new Date(activePrintJob.startAt).getTime();
const endAt = startAt + activePrintJob.durationInMinutes * 60 * 1000;
if (now < endAt) {
return PrinterStatus.RESERVED;
}
return PrinterStatus.IDLE;
}
export function translatePrinterStatus(status: PrinterStatus) {
switch (status) {
case PrinterStatus.IDLE:
return "Verfügbar";
case PrinterStatus.OUT_OF_ORDER:
return "Außer Betrieb";
case PrinterStatus.RESERVED:
return "Reserviert";
}
}