initial upload
This commit is contained in:
parent
ac114da487
commit
7c1cfdff51
63 changed files with 6883 additions and 0 deletions
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({});
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue