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"; import membershipStatus from "./configuration/membershipStatus"; import qualification from "./configuration/qualification"; import education from "./configuration/education"; import salutation from "./configuration/salutation"; import calendarType from "./configuration/calendarType"; import queryStore from "./configuration/queryStore"; 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"; 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"; 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"; import damageReport from "./unit/damageReport"; import maintenance from "./unit/maintenance"; var router = express.Router({ mergeParams: true }); /** configuration */ router.use( "/award", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "award" }, { requiredPermission: "read", section: "club", module: "member" }, ]), award ); router.use( "/communicationtype", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "communication_type" }, { requiredPermission: "read", section: "club", module: "member" }, ]), communicationType ); router.use( "/executiveposition", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "executive_position" }, { requiredPermission: "read", section: "club", module: "member" }, ]), executivePosition ); router.use( "/membershipstatus", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "membership_status" }, { requiredPermission: "read", section: "club", module: "member" }, ]), membershipStatus ); router.use( "/qualification", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "qualification" }, { requiredPermission: "read", section: "club", module: "member" }, ]), qualification ); router.use( "/education", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "education" }, { requiredPermission: "read", section: "club", module: "member" }, ]), education ); router.use( "/salutation", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "salutation" }, { requiredPermission: "read", section: "club", module: "member" }, ]), salutation ); router.use( "/calendartype", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "calendar_type" }, { requiredPermission: "read", section: "club", module: "calendar" }, ]), calendarType ); router.use( "/querystore", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "query_store" }, { requiredPermission: "read", section: "club", module: "listprint" }, ]), queryStore ); router.use("/template", PermissionHelper.passCheckMiddleware("read", "configuration", "template"), template); router.use( "/templateusage", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "template_usage" }, { requiredPermission: "read", section: "configuration", module: "template" }, ]), templateUsage ); router.use( "/newsletterconfig", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "configuration", module: "newsletter_config" }, { requiredPermission: "read", section: "configuration", module: "communication_type" }, ]), newsletterConfig ); /** club */ router.use("/member", PermissionHelper.passCheckMiddleware("read", "club", "member"), member); router.use( "/protocol", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "club", module: "protocol" }, { requiredPermission: "read", section: "club", module: "member" }, ]), protocol ); router.use("/calendar", PermissionHelper.passCheckMiddleware("read", "club", "calendar"), calendar); router.use( "/querybuilder", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "club", module: "query" }, { requiredPermission: "read", section: "configuration", module: "query_store" }, ]), queryBuilder ); router.use( "/newsletter", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "club", module: "newsletter" }, { requiredPermission: "read", section: "club", module: "member" }, { requiredPermission: "read", section: "club", module: "calendar" }, { requiredPermission: "read", section: "club", module: "query" }, { requiredPermission: "read", section: "configuration", module: "query_store" }, ]), newsletter ); router.use("/listprint", PermissionHelper.passCheckMiddleware("read", "club", "listprint"), listprint); /** management */ router.use("/role", PermissionHelper.passCheckMiddleware("read", "management", "role"), role); router.use( "/user", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "management", module: "user" }, { requiredPermission: "read", section: "management", module: "role" }, ]), user ); router.use("/invite", PermissionHelper.passCheckMiddleware("read", "management", "user"), invite); router.use("/webapi", preventWebapiAccess, PermissionHelper.passCheckMiddleware("read", "management", "webapi"), api); router.use( "/backup", preventWebapiAccess, PermissionHelper.passCheckMiddleware("read", "management", "backup"), backup ); router.use("/setting", PermissionHelper.passCheckMiddleware("read", "management", "setting"), setting); /** unit */ router.use( "/equipment", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "equipment" }, { requiredPermission: "read", section: "unit", module: "inspection_plan" }, ]), equipment ); router.use( "/equipmenttype", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "equipment_type" }, { requiredPermission: "read", section: "unit", module: "equipment" }, { requiredPermission: "read", section: "unit", module: "inspection_plan" }, ]), equipmentType ); router.use( "/vehicle", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "vehicle" }, { requiredPermission: "read", section: "unit", module: "inspection_plan" }, ]), vehicle ); router.use( "/vehicletype", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "vehicle_type" }, { requiredPermission: "read", section: "unit", module: "vehicle" }, { requiredPermission: "read", section: "unit", module: "inspection_plan" }, ]), vehicleType ); router.use( "/wearable", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "wearable" }, { requiredPermission: "read", section: "unit", module: "inspection_plan" }, ]), wearable ); router.use( "/wearabletype", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "wearable_type" }, { requiredPermission: "read", section: "unit", module: "wearable" }, { requiredPermission: "read", section: "unit", module: "inspection_plan" }, ]), wearableType ); router.use( "/inspection", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "inspection" }, { requiredPermission: "read", section: "unit", module: "equipment" }, { requiredPermission: "read", section: "unit", module: "vehicle" }, { requiredPermission: "read", section: "unit", module: "wearable" }, ]), inspection ); router.use( "/inspectionplan", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "inspection_plan" }, { requiredPermission: "read", section: "unit", module: "inspection" }, { requiredPermission: "read", section: "unit", module: "equipment_type" }, { requiredPermission: "read", section: "unit", module: "vehicle_type" }, { requiredPermission: "read", section: "unit", module: "wearable_type" }, ]), inspectionPlan ); router.use( "/damagereport", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "damage_report" }, { requiredPermission: "read", section: "unit", module: "maintenance" }, { requiredPermission: "read", section: "unit", module: "equipment" }, { requiredPermission: "read", section: "unit", module: "vehicle" }, { requiredPermission: "read", section: "unit", module: "wearable" }, ]), damageReport ); router.use( "/maintenance", PermissionHelper.passCheckSomeMiddleware([ { requiredPermission: "read", section: "unit", module: "maintenance" }, { requiredPermission: "read", section: "unit", module: "equipment" }, { requiredPermission: "read", section: "unit", module: "vehicle" }, { requiredPermission: "read", section: "unit", module: "wearable" }, ]), maintenance ); export default router;