base router and permissions
This commit is contained in:
parent
7883bb7d7f
commit
0684605093
11 changed files with 196 additions and 12 deletions
|
@ -2,6 +2,7 @@ import express from "express";
|
|||
import PermissionHelper from "../../helpers/permissionHelper";
|
||||
import preventWebapiAccess from "../../middleware/preventWebApiAccess";
|
||||
|
||||
/** configuration */
|
||||
import award from "./configuration/award";
|
||||
import communicationType from "./configuration/communicationType";
|
||||
import executivePosition from "./configuration/executivePosition";
|
||||
|
@ -14,6 +15,7 @@ import template from "./configuration/template";
|
|||
import templateUsage from "./configuration/templateUsage";
|
||||
import newsletterConfig from "./configuration/newsletterConfig";
|
||||
|
||||
/** club */
|
||||
import member from "./club/member";
|
||||
import protocol from "./club/protocol";
|
||||
import calendar from "./club/calendar";
|
||||
|
@ -21,6 +23,7 @@ import queryBuilder from "./club/queryBuilder";
|
|||
import newsletter from "./club/newsletter";
|
||||
import listprint from "./club/listprint";
|
||||
|
||||
/** management */
|
||||
import role from "./management/role";
|
||||
import user from "./management/user";
|
||||
import invite from "./management/invite";
|
||||
|
@ -28,8 +31,19 @@ import api from "./management/webapi";
|
|||
import backup from "./management/backup";
|
||||
import setting from "./management/setting";
|
||||
|
||||
/** unit */
|
||||
import equipment from "./unit/equipment";
|
||||
import equipmentType from "./unit/equipmentType";
|
||||
import vehicle from "./unit/vehicle";
|
||||
import vehicleType from "./unit/vehicleType";
|
||||
import wearable from "./unit/wearable";
|
||||
import wearableType from "./unit/wearableType";
|
||||
import inspection from "./unit/inspection";
|
||||
import inspectionPlan from "./unit/inspectionPlan";
|
||||
|
||||
var router = express.Router({ mergeParams: true });
|
||||
|
||||
/** configuration */
|
||||
router.use(
|
||||
"/award",
|
||||
PermissionHelper.passCheckSomeMiddleware([
|
||||
|
@ -112,6 +126,7 @@ router.use(
|
|||
newsletterConfig
|
||||
);
|
||||
|
||||
/** club */
|
||||
router.use("/member", PermissionHelper.passCheckMiddleware("read", "club", "member"), member);
|
||||
router.use(
|
||||
"/protocol",
|
||||
|
@ -143,6 +158,7 @@ router.use(
|
|||
);
|
||||
router.use("/listprint", PermissionHelper.passCheckMiddleware("read", "club", "listprint"), listprint);
|
||||
|
||||
/** management */
|
||||
router.use("/role", PermissionHelper.passCheckMiddleware("read", "management", "role"), role);
|
||||
router.use(
|
||||
"/user",
|
||||
|
@ -162,4 +178,42 @@ router.use(
|
|||
);
|
||||
router.use("/setting", PermissionHelper.passCheckMiddleware("read", "management", "setting"), setting);
|
||||
|
||||
/** unit */
|
||||
router.use("/equipment", PermissionHelper.passCheckMiddleware("read", "unit", "equipment"), equipment);
|
||||
router.use(
|
||||
"/equipmenttype",
|
||||
PermissionHelper.passCheckSomeMiddleware([
|
||||
{ requiredPermission: "read", section: "unit", module: "equipment_type" },
|
||||
{ requiredPermission: "read", section: "unit", module: "equipment" },
|
||||
]),
|
||||
equipmentType
|
||||
);
|
||||
router.use("/vehicle", PermissionHelper.passCheckMiddleware("read", "unit", "vehicle"), vehicle);
|
||||
router.use(
|
||||
"/vehicletype",
|
||||
PermissionHelper.passCheckSomeMiddleware([
|
||||
{ requiredPermission: "read", section: "unit", module: "vehicle_type" },
|
||||
{ requiredPermission: "read", section: "unit", module: "vehicle" },
|
||||
]),
|
||||
vehicleType
|
||||
);
|
||||
router.use("/wearable", PermissionHelper.passCheckMiddleware("read", "unit", "wearable"), wearable);
|
||||
router.use(
|
||||
"/wearabletype",
|
||||
PermissionHelper.passCheckSomeMiddleware([
|
||||
{ requiredPermission: "read", section: "unit", module: "wearable_type" },
|
||||
{ requiredPermission: "read", section: "unit", module: "wearable" },
|
||||
]),
|
||||
wearableType
|
||||
);
|
||||
router.use("/inspection", PermissionHelper.passCheckMiddleware("read", "unit", "inspection"), inspection);
|
||||
router.use(
|
||||
"/inspectionplan",
|
||||
PermissionHelper.passCheckSomeMiddleware([
|
||||
{ requiredPermission: "read", section: "unit", module: "inspection_plan" },
|
||||
{ requiredPermission: "read", section: "unit", module: "inspection" },
|
||||
]),
|
||||
inspectionPlan
|
||||
);
|
||||
|
||||
export default router;
|
||||
|
|
10
src/routes/admin/unit/equipment.ts
Normal file
10
src/routes/admin/unit/equipment.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import express, { Request, Response } from "express";
|
||||
import PermissionHelper from "../../../helpers/permissionHelper";
|
||||
|
||||
var router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
res.send("TODO");
|
||||
});
|
||||
|
||||
export default router;
|
10
src/routes/admin/unit/equipmentType.ts
Normal file
10
src/routes/admin/unit/equipmentType.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import express, { Request, Response } from "express";
|
||||
import PermissionHelper from "../../../helpers/permissionHelper";
|
||||
|
||||
var router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
res.send("TODO");
|
||||
});
|
||||
|
||||
export default router;
|
10
src/routes/admin/unit/inspection.ts
Normal file
10
src/routes/admin/unit/inspection.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import express, { Request, Response } from "express";
|
||||
import PermissionHelper from "../../../helpers/permissionHelper";
|
||||
|
||||
var router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
res.send("TODO");
|
||||
});
|
||||
|
||||
export default router;
|
10
src/routes/admin/unit/inspectionPlan.ts
Normal file
10
src/routes/admin/unit/inspectionPlan.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import express, { Request, Response } from "express";
|
||||
import PermissionHelper from "../../../helpers/permissionHelper";
|
||||
|
||||
var router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
res.send("TODO");
|
||||
});
|
||||
|
||||
export default router;
|
10
src/routes/admin/unit/vehicle.ts
Normal file
10
src/routes/admin/unit/vehicle.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import express, { Request, Response } from "express";
|
||||
import PermissionHelper from "../../../helpers/permissionHelper";
|
||||
|
||||
var router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
res.send("TODO");
|
||||
});
|
||||
|
||||
export default router;
|
10
src/routes/admin/unit/vehicleType.ts
Normal file
10
src/routes/admin/unit/vehicleType.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import express, { Request, Response } from "express";
|
||||
import PermissionHelper from "../../../helpers/permissionHelper";
|
||||
|
||||
var router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
res.send("TODO");
|
||||
});
|
||||
|
||||
export default router;
|
10
src/routes/admin/unit/wearable.ts
Normal file
10
src/routes/admin/unit/wearable.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import express, { Request, Response } from "express";
|
||||
import PermissionHelper from "../../../helpers/permissionHelper";
|
||||
|
||||
var router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
res.send("TODO");
|
||||
});
|
||||
|
||||
export default router;
|
10
src/routes/admin/unit/wearableType.ts
Normal file
10
src/routes/admin/unit/wearableType.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import express, { Request, Response } from "express";
|
||||
import PermissionHelper from "../../../helpers/permissionHelper";
|
||||
|
||||
var router = express.Router({ mergeParams: true });
|
||||
|
||||
router.get("/", async (req: Request, res: Response) => {
|
||||
res.send("TODO");
|
||||
});
|
||||
|
||||
export default router;
|
|
@ -14,6 +14,10 @@ router.get("/calendar", async (req, res) => {
|
|||
await getCalendarItemsByTypes(req, res);
|
||||
});
|
||||
|
||||
router.post("/reportdamage", async (req, res) => {
|
||||
res.send("TODO");
|
||||
});
|
||||
|
||||
router.get("/configuration", async (req, res) => {
|
||||
await getApplicationConfig(req, res);
|
||||
});
|
||||
|
|
|
@ -1,27 +1,43 @@
|
|||
export type PermissionSection = "club" | "configuration" | "management";
|
||||
export type PermissionSection = "club" | "unit" | "configuration" | "management";
|
||||
|
||||
export type PermissionModule =
|
||||
// club
|
||||
| "member"
|
||||
| "calendar"
|
||||
| "newsletter"
|
||||
| "newsletter_config"
|
||||
| "protocol"
|
||||
| "query"
|
||||
| "listprint"
|
||||
// unit
|
||||
| "equipment"
|
||||
| "equipment_type"
|
||||
| "vehicle"
|
||||
| "vehicle_type"
|
||||
| "wearable"
|
||||
| "wearable_type"
|
||||
| "inspection"
|
||||
| "inspection_plan"
|
||||
| "respiratory_gear"
|
||||
| "respiratory_wearer"
|
||||
| "respiratory_mission"
|
||||
| "damage_report"
|
||||
// configuration
|
||||
| "qualification"
|
||||
| "award"
|
||||
| "executive_position"
|
||||
| "communication_type"
|
||||
| "membership_status"
|
||||
| "newsletter_config"
|
||||
| "salutation"
|
||||
| "calendar_type"
|
||||
| "user"
|
||||
| "role"
|
||||
| "webapi"
|
||||
| "query"
|
||||
| "query_store"
|
||||
| "template"
|
||||
| "template_usage"
|
||||
| "backup"
|
||||
// management
|
||||
| "user"
|
||||
| "role"
|
||||
| "webapi"
|
||||
| "setting";
|
||||
|
||||
export type PermissionType = "read" | "create" | "update" | "delete";
|
||||
|
@ -56,34 +72,64 @@ export type SectionsAndModulesObject = {
|
|||
}>;
|
||||
};
|
||||
|
||||
export const permissionSections: Array<PermissionSection> = ["club", "configuration", "management"];
|
||||
export const permissionSections: Array<PermissionSection> = ["club", "unit", "configuration", "management"];
|
||||
export const permissionModules: Array<PermissionModule> = [
|
||||
// club
|
||||
"member",
|
||||
"calendar",
|
||||
"newsletter",
|
||||
"newsletter_config",
|
||||
"protocol",
|
||||
"query",
|
||||
"listprint",
|
||||
// unit
|
||||
"equipment",
|
||||
"equipment_type",
|
||||
"vehicle",
|
||||
"vehicle_type",
|
||||
"wearable",
|
||||
"wearable_type",
|
||||
"inspection",
|
||||
"inspection_plan",
|
||||
"respiratory_gear",
|
||||
"respiratory_wearer",
|
||||
"respiratory_mission",
|
||||
"damage_report",
|
||||
// configuration
|
||||
"qualification",
|
||||
"award",
|
||||
"executive_position",
|
||||
"communication_type",
|
||||
"membership_status",
|
||||
"newsletter_config",
|
||||
"salutation",
|
||||
"calendar_type",
|
||||
"user",
|
||||
"role",
|
||||
"webapi",
|
||||
"query",
|
||||
"query_store",
|
||||
"template",
|
||||
"template_usage",
|
||||
"backup",
|
||||
// management
|
||||
"user",
|
||||
"role",
|
||||
"webapi",
|
||||
"setting",
|
||||
];
|
||||
export const permissionTypes: Array<PermissionType> = ["read", "create", "update", "delete"];
|
||||
export const sectionsAndModules: SectionsAndModulesObject = {
|
||||
club: ["member", "calendar", "newsletter", "protocol", "query", "listprint"],
|
||||
unit: [
|
||||
"equipment",
|
||||
"equipment_type",
|
||||
"vehicle",
|
||||
"vehicle_type",
|
||||
"wearable",
|
||||
"wearable_type",
|
||||
"inspection",
|
||||
"inspection_plan",
|
||||
"respiratory_gear",
|
||||
"respiratory_wearer",
|
||||
"respiratory_mission",
|
||||
"damage_report",
|
||||
],
|
||||
configuration: [
|
||||
"qualification",
|
||||
"award",
|
||||
|
|
Loading…
Add table
Reference in a new issue