initial upload
This commit is contained in:
parent
ac114da487
commit
7c1cfdff51
63 changed files with 6883 additions and 0 deletions
63
routes/api.generate.mjs
Normal file
63
routes/api.generate.mjs
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
|
||||
import {
|
||||
Router
|
||||
} from "express";
|
||||
|
||||
import {
|
||||
Label,
|
||||
Grid,
|
||||
Text,
|
||||
Line,
|
||||
Box,
|
||||
Circle,
|
||||
Barcode,
|
||||
PrintDensity,
|
||||
Spacing
|
||||
} from "jszpl";
|
||||
|
||||
import {
|
||||
Printer as PrinterTable
|
||||
} from "../sequelize/printer.model.mjs";
|
||||
|
||||
import {
|
||||
Template as TemplateTable
|
||||
} from "../sequelize/template.model.mjs";
|
||||
|
||||
import {
|
||||
Medium as MediaTable
|
||||
} from "../sequelize/media.model.mjs";
|
||||
|
||||
import {
|
||||
Queue as QueueTable
|
||||
} from "../sequelize/queue.model.mjs";
|
||||
|
||||
|
||||
export var Routes = Router();
|
||||
|
||||
|
||||
Routes.post('/generate-zpl', async function (Request, Response)
|
||||
{
|
||||
const label = new Label();
|
||||
label.printDensity = new PrintDensity(8);
|
||||
label.width = 100;
|
||||
label.height = 50;
|
||||
label.padding = new Spacing(10);
|
||||
|
||||
const text = new Text();
|
||||
label.content.push(text);
|
||||
text.fontFamily = new FontFamily(FontFamilyName.D);
|
||||
text.text = 'Hello World!';
|
||||
|
||||
const zpl = label.generateZPL();
|
||||
|
||||
await PrinterTable.create({
|
||||
name: Request.body.name,
|
||||
socket_addr: Request.body.socket_addr,
|
||||
socket_port: Request.body.socket_port,
|
||||
density: Request.body.density,
|
||||
type: "zpl"
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.end();
|
||||
})
|
||||
100
routes/api.media.mjs
Normal file
100
routes/api.media.mjs
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
|
||||
import {
|
||||
Router
|
||||
} from "express";
|
||||
|
||||
import {
|
||||
Medium as MediaTable
|
||||
} from "../sequelize/media.model.mjs";
|
||||
|
||||
import {
|
||||
Template as LabelTable
|
||||
} from "../sequelize/template.model.mjs";
|
||||
|
||||
|
||||
export var Routes = Router();
|
||||
|
||||
|
||||
Routes.get('/media', async function (Request, Response)
|
||||
{
|
||||
let MediaList = await MediaTable.findAll();
|
||||
|
||||
MediaList.sort(function (a, b) {
|
||||
if (a.name < b.name) return -1;
|
||||
if (a.name > b.name) return 1;
|
||||
return 0;
|
||||
});
|
||||
|
||||
Response.send(MediaList);
|
||||
})
|
||||
|
||||
|
||||
Routes.get('/medium/:MediumID', async function (Request, Response)
|
||||
{
|
||||
Response.send(await MediaTable.findByPk(Request.params.MediumID));
|
||||
})
|
||||
|
||||
|
||||
Routes.post('/medium', async function (Request, Response)
|
||||
{
|
||||
let NewMedium = await MediaTable.create({
|
||||
name: Request.body.name,
|
||||
columns: Request.body.columns,
|
||||
spacing: Request.body.spacing,
|
||||
width: Request.body.width
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.send(NewMedium);
|
||||
})
|
||||
|
||||
|
||||
Routes.put('/medium', async function (Request, Response)
|
||||
{
|
||||
let Medium = await MediaTable.findByPk(Request.body.mediumId);
|
||||
|
||||
await Medium.update({
|
||||
name: Request.body.name,
|
||||
columns: Request.body.columns,
|
||||
spacing: Request.body.spacing,
|
||||
width: Request.body.width
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.send(Medium);
|
||||
})
|
||||
|
||||
|
||||
Routes.delete('/medium', async function (Request, Response)
|
||||
{
|
||||
let Medium = await MediaTable.findByPk(Request.body.mediumId);
|
||||
|
||||
await Medium.destroy();
|
||||
|
||||
Response.status(200);
|
||||
Response.end();
|
||||
})
|
||||
|
||||
|
||||
Routes.put('/medium/label', async function (Request, Response)
|
||||
{
|
||||
let Medium = await MediaTable.findByPk(Request.body.mediumId);
|
||||
let Label = await LabelTable.findByPk(Request.body.labelId);
|
||||
|
||||
await Medium.addLabel(Label);
|
||||
|
||||
Response.status(200);
|
||||
Response.end();
|
||||
})
|
||||
|
||||
|
||||
Routes.delete('/medium/label', async function (Request, Response)
|
||||
{
|
||||
let Medium = await MediaTable.findByPk(Request.body.mediumId);
|
||||
let Label = await LabelTable.findByPk(Request.body.labelId);
|
||||
|
||||
await Medium.removeLabel(Label);
|
||||
|
||||
Response.status(200);
|
||||
Response.end();
|
||||
})
|
||||
72
routes/api.printer.mjs
Normal file
72
routes/api.printer.mjs
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
|
||||
import {
|
||||
Router
|
||||
} from "express";
|
||||
|
||||
import {
|
||||
Printer as PrinterTable
|
||||
} from "../sequelize/printer.model.mjs";
|
||||
|
||||
|
||||
export var Routes = Router();
|
||||
|
||||
|
||||
Routes.get('/printers', async function (Request, Response) {
|
||||
let PrinterList = await PrinterTable.findAll();
|
||||
|
||||
PrinterList.sort(function (a, b) {
|
||||
if (a.name < b.name) return -1;
|
||||
if (a.name > b.name) return 1;
|
||||
return 0;
|
||||
});
|
||||
|
||||
Response.send(PrinterList);
|
||||
})
|
||||
|
||||
Routes.get('/printer/:PrinterID', async function (Request, Response) {
|
||||
Response.send(await PrinterTable.findByPk(Request.params.PrinterID));
|
||||
})
|
||||
|
||||
|
||||
Routes.post('/printer', async function (Request, Response) {
|
||||
await PrinterTable.create({
|
||||
name: Request.body.name,
|
||||
socket_addr: Request.body.socket_addr,
|
||||
socket_port: Request.body.socket_port,
|
||||
density: Request.body.density,
|
||||
type: "zpl"
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.end();
|
||||
})
|
||||
|
||||
|
||||
Routes.put('/printer', async function (Request, Response) {
|
||||
await PrinterTable.update({
|
||||
name: Request.body.name,
|
||||
socket_addr: Request.body.socket_addr,
|
||||
socket_port: Request.body.socket_port,
|
||||
density: Request.body.density,
|
||||
type: "ZPL"
|
||||
}, {
|
||||
where: {
|
||||
id: Request.body.id
|
||||
}
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.end();
|
||||
})
|
||||
|
||||
|
||||
Routes.delete('/printer/:PrinterID', async function (Request, Response) {
|
||||
await PrinterTable.destroy({
|
||||
where: {
|
||||
id: Request.params.PrinterID
|
||||
}
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.end();
|
||||
})
|
||||
92
routes/api.queue.mjs
Normal file
92
routes/api.queue.mjs
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
|
||||
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();
|
||||
})
|
||||
177
routes/api.templates.mjs
Normal file
177
routes/api.templates.mjs
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
|
||||
import {
|
||||
Router
|
||||
} from "express";
|
||||
|
||||
import {
|
||||
Template as TemplateTable,
|
||||
Element as ElementTable,
|
||||
Variable as VariableTable
|
||||
} from "../sequelize/template.model.mjs";
|
||||
|
||||
|
||||
export var Routes = Router();
|
||||
|
||||
|
||||
Routes.get('/templates', async function (Request, Response)
|
||||
{
|
||||
let TemplateList = await TemplateTable.findAll({
|
||||
include: [
|
||||
ElementTable,
|
||||
VariableTable
|
||||
]
|
||||
});
|
||||
|
||||
// convert to raw object
|
||||
TemplateList = JSON.parse(JSON.stringify(TemplateList));
|
||||
|
||||
// sort templates by name
|
||||
TemplateList.sort(function (a, b) {
|
||||
if (a.name < b.name) return -1;
|
||||
if (a.name > b.name) return 1;
|
||||
return 0;
|
||||
});
|
||||
|
||||
Response.send(TemplateList);
|
||||
})
|
||||
|
||||
|
||||
Routes.get('/template/:templateID', async function (Request, Response)
|
||||
{
|
||||
let template = await TemplateTable.findByPk(Request.params.templateID, {
|
||||
include: [
|
||||
ElementTable,
|
||||
VariableTable
|
||||
]
|
||||
});
|
||||
|
||||
// parse JOSN configs from elements
|
||||
template.elements = template.elements.map((element) => {
|
||||
element.config = JSON.parse(element.config);
|
||||
return element;
|
||||
});
|
||||
|
||||
Response.send(template);
|
||||
})
|
||||
|
||||
|
||||
Routes.post('/template', async function (Request, Response)
|
||||
{
|
||||
let Template = await TemplateTable.create({
|
||||
name: Request.body.name,
|
||||
width: Request.body.width,
|
||||
height: Request.body.height
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.send(Template);
|
||||
})
|
||||
|
||||
Routes.put('/template', async function (Request, Response)
|
||||
{
|
||||
let Template = await TemplateTable.findByPk(Request.body.templateId);
|
||||
|
||||
await Template.update({
|
||||
name: Request.body.name,
|
||||
width: Request.body.width,
|
||||
height: Request.body.height
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.send(Template);
|
||||
})
|
||||
|
||||
|
||||
Routes.delete('/template', async function (Request, Response)
|
||||
{
|
||||
let Template = await TemplateTable.findByPk(Request.body.templateId);
|
||||
await Template.destroy();
|
||||
|
||||
Response.status(200);
|
||||
Response.end();
|
||||
})
|
||||
|
||||
|
||||
Routes.post('/variable', async function (Request, Response)
|
||||
{
|
||||
let Template = await TemplateTable.findByPk(Request.body.templateId)
|
||||
|
||||
let Variable = await Template.createVariable({
|
||||
name: Request.body.name,
|
||||
label: Request.body.label,
|
||||
regex: Request.body.regex,
|
||||
example: Request.body.example,
|
||||
default: Request.body.default
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.send(Variable);
|
||||
})
|
||||
|
||||
|
||||
Routes.put('/variable', async function (Request, Response)
|
||||
{
|
||||
let Variable = await VariableTable.findByPk(Request.body.variableId)
|
||||
|
||||
Variable.update({
|
||||
name: Request.body.name,
|
||||
label: Request.body.label,
|
||||
regex: Request.body.regex,
|
||||
example: Request.body.example,
|
||||
default: Request.body.default
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.send(Variable);
|
||||
})
|
||||
|
||||
|
||||
Routes.delete('/variable', async function (Request, Response)
|
||||
{
|
||||
let Variable = await VariableTable.findByPk(Request.body.variableId)
|
||||
await Variable.destroy();
|
||||
|
||||
Response.status(200);
|
||||
Response.send({});
|
||||
})
|
||||
|
||||
|
||||
Routes.post('/element', async function (Request, Response)
|
||||
{
|
||||
let template = await TemplateTable.findByPk(Request.body.templateId)
|
||||
|
||||
let element = await template.createElement({
|
||||
name: Request.body.name,
|
||||
type: Request.body.type,
|
||||
config: Request.body.config,
|
||||
comment: ""
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.send(element);
|
||||
})
|
||||
|
||||
|
||||
Routes.put('/element', async function (Request, Response) {
|
||||
let element = await ElementTable.findByPk(Request.body.elementId)
|
||||
|
||||
element.update({
|
||||
name: Request.body.name,
|
||||
type: Request.body.type,
|
||||
config: Request.body.config,
|
||||
comment: Request.body.comment
|
||||
});
|
||||
|
||||
Response.status(200);
|
||||
Response.send(element);
|
||||
})
|
||||
|
||||
|
||||
Routes.delete('/element', async function (Request, Response)
|
||||
{
|
||||
let element = await ElementTable.findByPk(Request.body.elementId)
|
||||
await element.destroy();
|
||||
|
||||
Response.status(200);
|
||||
Response.send({});
|
||||
})
|
||||
110
routes/ui.settings.mjs
Normal file
110
routes/ui.settings.mjs
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
|
||||
import {
|
||||
Router
|
||||
} from "express";
|
||||
|
||||
import {
|
||||
Template as TemplateTabel,
|
||||
Element as ElementTable,
|
||||
Variable as VariableTable
|
||||
} from "../sequelize/template.model.mjs";
|
||||
|
||||
import {
|
||||
Queue as QueueTable
|
||||
} from "../sequelize/queue.model.mjs";
|
||||
|
||||
import {
|
||||
Printer as PrinterTable
|
||||
} from "../sequelize/printer.model.mjs";
|
||||
|
||||
import {
|
||||
Template as TemplateTable
|
||||
} from "../sequelize/template.model.mjs";
|
||||
|
||||
|
||||
export var Routes = Router();
|
||||
|
||||
|
||||
Routes.get("/printer", async (Request, Response) => {
|
||||
let QueueList = await QueueTable.findAll();
|
||||
|
||||
Response.render(`ui/settings.printers.njk`, {
|
||||
QueueList
|
||||
});
|
||||
});
|
||||
|
||||
Routes.get("/media", async (Request, Response) => {
|
||||
let QueueList = await QueueTable.findAll();
|
||||
|
||||
Response.render(`ui/settings.media.njk`, {
|
||||
QueueList
|
||||
});
|
||||
});
|
||||
|
||||
Routes.get("/queue", async (Request, Response) => {
|
||||
let QueueList = await QueueTable.findAll();
|
||||
|
||||
Response.render(`ui/settings.queues.njk`, {
|
||||
QueueList
|
||||
});
|
||||
});
|
||||
|
||||
Routes.get("/apps", async (Request, Response) => {
|
||||
let QueueList = await QueueTable.findAll();
|
||||
|
||||
Response.render(`ui/settings.apps.njk`, {
|
||||
QueueList
|
||||
});
|
||||
});
|
||||
|
||||
Routes.get("/queue/:QueueID", async (Request, Response) => {
|
||||
let QueueList = await QueueTable.findAll();
|
||||
let printers = await PrinterTable.findAll();
|
||||
let templates = await TemplateTable.findAll();
|
||||
let queueData = await QueueTable.findByPk(Request.params.QueueID);
|
||||
|
||||
Response.render(`ui/queue.njk`, {
|
||||
QueueID: Request.params.QueueID,
|
||||
QueueList,
|
||||
printers,
|
||||
templates: templates,
|
||||
queueData: queueData
|
||||
})
|
||||
});
|
||||
|
||||
Routes.get("/templates", async (Request, Response) => {
|
||||
let QueueList = await QueueTable.findAll();
|
||||
|
||||
Response.render(`ui/settings.templates.njk`, {
|
||||
QueueList
|
||||
})
|
||||
});
|
||||
|
||||
Routes.get("/template/:templateId", async (Request, Response) => {
|
||||
let queueList = await QueueTable.findAll();
|
||||
let template = await TemplateTabel.findByPk(Request.params.templateId, {
|
||||
include: [
|
||||
VariableTable,
|
||||
ElementTable
|
||||
]
|
||||
});
|
||||
|
||||
// convert to raw object
|
||||
template = JSON.parse(JSON.stringify(template));
|
||||
|
||||
if (template == null) {
|
||||
Response.render(`ui/error.njk`, {
|
||||
Error: {
|
||||
Code: "404",
|
||||
Title: "Template not found.",
|
||||
Message: "The template you're looking for does'nt exist.",
|
||||
Link: "/templates"
|
||||
}
|
||||
})
|
||||
} else {
|
||||
Response.render(`ui/settings.template.njk`, {
|
||||
template,
|
||||
queueList
|
||||
})
|
||||
}
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue