92 lines
1.8 KiB
JavaScript
92 lines
1.8 KiB
JavaScript
|
|
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();
|
|
})
|