api.js 1.2 KB

123456789101112131415161718192021222324252627282930
  1. const Security = require('../src/security.js');
  2. const MediaService = require('../model/mediaService.js');
  3. module.exports = { register: app => {
  4. app.router.get("/api/access/list", (req, res) => {
  5. app.routerUtils.onApiRequest(req, res);
  6. app.routerUtils.jsonResponse(res, req.accessList);
  7. });
  8. app.router.post("/api/access/link", async (req, res) => { // /api/access/link, post: { linkId: string }
  9. app.routerUtils.onApiRequest(req, res);
  10. if (!req.post?.linkId?.length)
  11. return app.routerUtils.httpResponse(res, 400, "Missing argument");
  12. let access = Security.addLinkToSession(req, req.post.linkId);
  13. app.routerUtils.jsonResponse(res, access);
  14. });
  15. app.router.del("/api/access/:id", (req, res) => {
  16. app.routerUtils.onApiRequest(req, res);
  17. Security.removeFromSession(req, req.params.id);
  18. let access = Security.getAccessList(req.cookies);
  19. app.routerUtils.jsonResponse(res, access);
  20. });
  21. app.router.get("/api/media/list", async (req, res) => {
  22. app.routerUtils.onApiRequest(req, res);
  23. app.routerUtils.jsonResponse(res, {
  24. data: await MediaService.fetchMediasWithAccess(app, 0, 50, req.accessList)
  25. });
  26. });
  27. }};