38 lines
997 B
JavaScript
38 lines
997 B
JavaScript
|
import { Router } from "express";
|
||
|
import { readFileSync } from "fs";
|
||
|
|
||
|
const router = Router();
|
||
|
|
||
|
const catalog = "lib/routes/mocks/catalog.json";
|
||
|
const alerting = "lib/routes/mocks/alerting.json";
|
||
|
const results = "lib/routes/mocks/results.json";
|
||
|
|
||
|
const query = async (mock) => JSON.parse(readFileSync(mock));
|
||
|
|
||
|
// Queries
|
||
|
router.get("/api/catalog/tests", (req, res) => {
|
||
|
query(catalog).then((catalog) => {
|
||
|
res.json(req.get("full") ? catalog["tests:full"] : catalog.tests);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
router.get("/api/results/failing", async (req, res) => {
|
||
|
query(results).then(async (results) => {
|
||
|
if (req.get("count")) res.json({ failing: results.results.length });
|
||
|
else if (!req.get("full")) res.json(results.results);
|
||
|
else
|
||
|
query(catalog).then((catalog) => {
|
||
|
res.json(
|
||
|
results.results.map((r) => ({
|
||
|
...catalog["tests:full"].find((t) => t.name === r.name),
|
||
|
...r,
|
||
|
}))
|
||
|
);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
// Mutations
|
||
|
|
||
|
export default router;
|