UNPKG

@intuitionrobotics/permissions

Version:
50 lines 2.65 kB
// Hand-wired handler(fn) routes for the permissions lib. import { Router } from "express"; import { handler, RemoteProxy, useMiddleware } from "@intuitionrobotics/thunderstorm/backend"; import { assert } from "./v1/permissions/assert.js"; import apis from "./v1/permissions/assign/apis.js"; import { appPermissions } from "./v1/permissions/assign/app-permissions.js"; import apis2 from "./v1/permissions/manage/apis.js"; import apis3 from "./v1/permissions/tags/apis.js"; import { userUrlsPermissions } from "./v1/permissions/user-urls-permissions.js"; import { registerExternalProject } from "./v1/register/register-external-project.js"; import { registerProject } from "./v1/register/register-project.js"; import { testPermissions } from "./v1/test/test-permissions.js"; import { userCfByShareGroups } from "./v1/user-custom-fields/user-cf-by-share-groups.js"; import { usersCfByShareGroups } from "./v1/user-custom-fields/users-cf-by-share-groups.js"; // `assign/apis.ts`, `manage/apis.ts`, `tags/apis.ts` default-export arrays of // DB-API-generator CRUD routes. Each element carries its own .relativePath and // .method, so iterate and mount with the route's own URL fragment. const assign = Router(); for (const api of apis) assign[api.method](`/${api.relativePath}`, api.handler); assign.post("/app-permissions", handler(appPermissions)); const manage = Router(); for (const api of apis2) manage[api.method](`/${api.relativePath}`, api.handler); const tags = Router(); for (const api of apis3) tags[api.method](`/${api.relativePath}`, api.handler); const permissions = Router(); permissions.post("/assert", handler(assert)); permissions.use("/assign", assign); permissions.use("/manage", manage); permissions.use("/tags", tags); permissions.post("/user-urls-permissions", handler(userUrlsPermissions)); const register = Router(); register.post("/register-external-project", handler(registerExternalProject)); register.get("/register-project", handler(registerProject)); const test = Router(); test.get("/test-permissions", handler(testPermissions)); const userCustomFields = Router(); userCustomFields.post("/user-cf-by-share-groups", handler(userCfByShareGroups)); // Gate preserved from the class's setMiddlewares(RemoteProxy.Middleware). userCustomFields.post("/users-cf-by-share-groups", useMiddleware(RemoteProxy.Middleware), handler(usersCfByShareGroups)); const v1 = Router(); v1.use("/permissions", permissions); v1.use("/register", register); v1.use("/test", test); v1.use("/user-custom-fields", userCustomFields); export const permissionsRoutes = Router(); permissionsRoutes.use("/v1", v1); //# sourceMappingURL=routes.js.map