Minor Adjustments
This commit is contained in:
parent
1084f5d937
commit
f486d50efa
60 changed files with 1965 additions and 127 deletions
44
libold/server/routes/catalog-route.js
Normal file
44
libold/server/routes/catalog-route.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
import { Router, json as jsonMiddleware } from "express";
|
||||
import {
|
||||
getTests,
|
||||
getPipelineMappings,
|
||||
upsertTest,
|
||||
truncateTests,
|
||||
removeDroppedTests,
|
||||
} from "../database/queries/catalog.js";
|
||||
const router = Router();
|
||||
|
||||
const maxSize = 1024 * 1024 * 100; // 100MB
|
||||
|
||||
// Apply Middlewares
|
||||
router.use(jsonMiddleware({ limit: maxSize }));
|
||||
|
||||
// Get Routes
|
||||
router.get("/tests", (req, res) => {
|
||||
getTests().then((t) => res.json(t));
|
||||
});
|
||||
|
||||
router.get("/pipeline-mappings", (req, res) => {
|
||||
getPipelineMappings().then((m) => res.json(m));
|
||||
});
|
||||
|
||||
// Post Routes
|
||||
router.post("/update", (req, res) => {
|
||||
if (!req.body) return res.status(400).send("Body required!");
|
||||
if (!Array.isArray(req.body))
|
||||
return res.status(400).send("Body must be an array!");
|
||||
const wrongImage = req.body.find(({ image }) => image !== req.body[0].image);
|
||||
if (wrongImage)
|
||||
return res.status(400).send("Tests cannot have unique images!");
|
||||
const testNames = req.body.map(({ name }) => name);
|
||||
|
||||
// Upsert new tests
|
||||
const upserts = Promise.all(
|
||||
req.body.map((catalogItem) => upsertTest(catalogItem))
|
||||
);
|
||||
const dropRm = upserts.then(() => removeDroppedTests(testNames));
|
||||
|
||||
dropRm.then(() => res.sendStatus(200)).catch((e) => res.status(500).send(e));
|
||||
});
|
||||
|
||||
export default router;
|
Loading…
Add table
Add a link
Reference in a new issue