import { Router } from "express"; import { Queue as QueueTable } from "../sequelize/queue.model.mjs"; import { Printer as PrinterTable } from "../sequelize/printer.model.mjs"; export var Routes = Router(); Routes.get('/queues', async function (Request, Response) { let QueueList = await QueueTable.findAll(); QueueList.sort(function (a, b) { if (a.name < b.name) return -1; if (a.name > b.name) return 1; return 0; }); Response.status(200); Response.send(QueueList); }) Routes.get('/queue/:QueueID', async function (Request, Response) { let Queue = await QueueTable.findByPk(Request.params.QueueID); Response.status(200); Response.send(Queue); }) Routes.post('/queue', async function (Request, Response) { let Queue = await QueueTable.create({ name: Request.body.name }); await Queue.setPrinter(Request.body.printerId) Response.status(200); Response.send(Queue); }) Routes.put('/queue', async function (Request, Response) { let Queue = await QueueTable.findByPk(Request.body.id); await Queue.update({ name: Request.body.name }); if (Request.body.printerId == "null") { await Queue.setPrinter(null); } else { await Queue.setPrinter(Request.body.printerId) } Response.status(200); Response.send(Queue); }) Routes.delete('/queue/:QueueID', async function (Request, Response) { await (await QueueTable.findByPk(Request.params.QueueID)).destroy(); Response.status(200); Response.end(); }) Routes.put('/queue/printer', async function (Request, Response) { let Queue = await QueueTable.findByPk(Request.params.queueId); let Printer = await PrinterTable.findByPk(Request.params.printerId); await Queue.setPrinter(Printer); Response.status(200); Response.end(); })