move admin permission check to app

deepsource-autofix-76c6eb20
Dan Gowans 2022-10-20 13:38:37 -04:00
parent dc0e4e6cc2
commit 271777cad1
6 changed files with 128 additions and 252 deletions

9
app.js
View File

@ -1,12 +1,13 @@
import createError from "http-errors"; import createError from "http-errors";
import express from "express"; import express from "express";
import compression from "compression"; import compression from "compression";
import path from "path"; import path from "node:path";
import cookieParser from "cookie-parser"; import cookieParser from "cookie-parser";
import csurf from "csurf"; import csurf from "csurf";
import rateLimit from "express-rate-limit"; import rateLimit from "express-rate-limit";
import session from "express-session"; import session from "express-session";
import FileStore from "session-file-store"; import FileStore from "session-file-store";
import * as permissionHandlers from "./handlers/permissions.js";
import routerLogin from "./routes/login.js"; import routerLogin from "./routes/login.js";
import routerDashboard from "./routes/dashboard.js"; import routerDashboard from "./routes/dashboard.js";
import routerApi from "./routes/api.js"; import routerApi from "./routes/api.js";
@ -24,9 +25,9 @@ import * as stringFns from "@cityssm/expressjs-server-js/stringFns.js";
import * as htmlFns from "@cityssm/expressjs-server-js/htmlFns.js"; import * as htmlFns from "@cityssm/expressjs-server-js/htmlFns.js";
import { version } from "./version.js"; import { version } from "./version.js";
import * as databaseInitializer from "./helpers/initializer.database.js"; import * as databaseInitializer from "./helpers/initializer.database.js";
import debug from "debug";
import { apiGetHandler } from "./handlers/permissions.js"; import { apiGetHandler } from "./handlers/permissions.js";
import { getSafeRedirectURL } from "./helpers/functions.authentication.js"; import { getSafeRedirectURL } from "./helpers/functions.authentication.js";
import debug from "debug";
const debugApp = debug("lot-occupancy-system:app"); const debugApp = debug("lot-occupancy-system:app");
databaseInitializer.initializeDatabase(); databaseInitializer.initializeDatabase();
const __dirname = "."; const __dirname = ".";
@ -73,7 +74,7 @@ const FileStoreSession = FileStore(session);
app.use(session({ app.use(session({
store: new FileStoreSession({ store: new FileStoreSession({
path: "./data/sessions", path: "./data/sessions",
logFn: debug("general-licence-manager:session"), logFn: debug("lot-occupancy-system:session"),
retries: 20 retries: 20
}), }),
name: sessionCookieName, name: sessionCookieName,
@ -122,7 +123,7 @@ app.use(urlPrefix + "/lots", sessionChecker, routerLots);
app.use(urlPrefix + "/lotOccupancies", sessionChecker, routerLotOccupancies); app.use(urlPrefix + "/lotOccupancies", sessionChecker, routerLotOccupancies);
app.use(urlPrefix + "/workOrders", sessionChecker, routerWorkOrders); app.use(urlPrefix + "/workOrders", sessionChecker, routerWorkOrders);
app.use(urlPrefix + "/reports", sessionChecker, routerReports); app.use(urlPrefix + "/reports", sessionChecker, routerReports);
app.use(urlPrefix + "/admin", sessionChecker, routerAdmin); app.use(urlPrefix + "/admin", sessionChecker, permissionHandlers.adminGetHandler, routerAdmin);
app.all(urlPrefix + "/keepAlive", (_request, response) => { app.all(urlPrefix + "/keepAlive", (_request, response) => {
response.json(true); response.json(true);
}); });

10
app.ts
View File

@ -2,7 +2,7 @@ import createError from "http-errors";
import express from "express"; import express from "express";
import compression from "compression"; import compression from "compression";
import path from "path"; import path from "node:path";
import cookieParser from "cookie-parser"; import cookieParser from "cookie-parser";
import csurf from "csurf"; import csurf from "csurf";
import rateLimit from "express-rate-limit"; import rateLimit from "express-rate-limit";
@ -10,6 +10,7 @@ import rateLimit from "express-rate-limit";
import session from "express-session"; import session from "express-session";
import FileStore from "session-file-store"; import FileStore from "session-file-store";
import * as permissionHandlers from "./handlers/permissions.js";
import routerLogin from "./routes/login.js"; import routerLogin from "./routes/login.js";
import routerDashboard from "./routes/dashboard.js"; import routerDashboard from "./routes/dashboard.js";
import routerApi from "./routes/api.js"; import routerApi from "./routes/api.js";
@ -31,9 +32,10 @@ import { version } from "./version.js";
import * as databaseInitializer from "./helpers/initializer.database.js"; import * as databaseInitializer from "./helpers/initializer.database.js";
import debug from "debug";
import { apiGetHandler } from "./handlers/permissions.js"; import { apiGetHandler } from "./handlers/permissions.js";
import { getSafeRedirectURL } from "./helpers/functions.authentication.js"; import { getSafeRedirectURL } from "./helpers/functions.authentication.js";
import debug from "debug";
const debugApp = debug("lot-occupancy-system:app"); const debugApp = debug("lot-occupancy-system:app");
/* /*
@ -144,7 +146,7 @@ app.use(
session({ session({
store: new FileStoreSession({ store: new FileStoreSession({
path: "./data/sessions", path: "./data/sessions",
logFn: debug("general-licence-manager:session"), logFn: debug("lot-occupancy-system:session"),
retries: 20 retries: 20
}), }),
name: sessionCookieName, name: sessionCookieName,
@ -221,7 +223,7 @@ app.use(urlPrefix + "/lotOccupancies", sessionChecker, routerLotOccupancies);
app.use(urlPrefix + "/workOrders", sessionChecker, routerWorkOrders); app.use(urlPrefix + "/workOrders", sessionChecker, routerWorkOrders);
app.use(urlPrefix + "/reports", sessionChecker, routerReports); app.use(urlPrefix + "/reports", sessionChecker, routerReports);
app.use(urlPrefix + "/admin", sessionChecker, routerAdmin); app.use(urlPrefix + "/admin", sessionChecker, permissionHandlers.adminGetHandler, routerAdmin);
app.all(urlPrefix + "/keepAlive", (_request, response) => { app.all(urlPrefix + "/keepAlive", (_request, response) => {
response.json(true); response.json(true);

View File

@ -11,7 +11,7 @@ export const adminGetHandler = (request, response, next) => {
if (userFunctions.userIsAdmin(request)) { if (userFunctions.userIsAdmin(request)) {
return next(); return next();
} }
return response.redirect(urlPrefix + "/dashboard"); return response.redirect(urlPrefix + "/dashboard/?error=accessDenied");
}; };
export const adminPostHandler = (request, response, next) => { export const adminPostHandler = (request, response, next) => {
if (userFunctions.userIsAdmin(request)) { if (userFunctions.userIsAdmin(request)) {
@ -23,7 +23,7 @@ export const updateGetHandler = (request, response, next) => {
if (userFunctions.userCanUpdate(request)) { if (userFunctions.userCanUpdate(request)) {
return next(); return next();
} }
return response.redirect(urlPrefix + "/dashboard"); return response.redirect(urlPrefix + "/dashboard/?error=accessDenied");
}; };
export const updatePostHandler = (request, response, next) => { export const updatePostHandler = (request, response, next) => {
if (userFunctions.userCanUpdate(request)) { if (userFunctions.userCanUpdate(request)) {

View File

@ -18,7 +18,7 @@ export const adminGetHandler: RequestHandler = (request, response, next) => {
return next(); return next();
} }
return response.redirect(urlPrefix + "/dashboard"); return response.redirect(urlPrefix + "/dashboard/?error=accessDenied");
}; };
export const adminPostHandler: RequestHandler = (request, response, next) => { export const adminPostHandler: RequestHandler = (request, response, next) => {
@ -34,7 +34,7 @@ export const updateGetHandler: RequestHandler = (request, response, next) => {
return next(); return next();
} }
return response.redirect(urlPrefix + "/dashboard"); return response.redirect(urlPrefix + "/dashboard/?error=accessDenied");
}; };
export const updatePostHandler: RequestHandler = (request, response, next) => { export const updatePostHandler: RequestHandler = (request, response, next) => {

View File

@ -1,5 +1,4 @@
import { Router } from "express"; import { Router } from "express";
import * as permissionHandlers from "../handlers/permissions.js";
import handler_fees from "../handlers/admin-get/fees.js"; import handler_fees from "../handlers/admin-get/fees.js";
import handler_doAddFeeCategory from "../handlers/admin-post/doAddFeeCategory.js"; import handler_doAddFeeCategory from "../handlers/admin-post/doAddFeeCategory.js";
import handler_doUpdateFeeCategory from "../handlers/admin-post/doUpdateFeeCategory.js"; import handler_doUpdateFeeCategory from "../handlers/admin-post/doUpdateFeeCategory.js";
@ -57,60 +56,60 @@ import handler_doDeleteLotOccupantType from "../handlers/admin-post/doDeleteLotO
import handler_cleanup from "../handlers/admin-get/cleanup.js"; import handler_cleanup from "../handlers/admin-get/cleanup.js";
import handler_doCleanupDatabase from "../handlers/admin-post/doCleanupDatabase.js"; import handler_doCleanupDatabase from "../handlers/admin-post/doCleanupDatabase.js";
export const router = Router(); export const router = Router();
router.get("/fees", permissionHandlers.adminGetHandler, handler_fees); router.get("/fees", handler_fees);
router.post("/doAddFeeCategory", permissionHandlers.adminPostHandler, handler_doAddFeeCategory); router.post("/doAddFeeCategory", handler_doAddFeeCategory);
router.post("/doUpdateFeeCategory", permissionHandlers.adminPostHandler, handler_doUpdateFeeCategory); router.post("/doUpdateFeeCategory", handler_doUpdateFeeCategory);
router.post("/doMoveFeeCategoryUp", permissionHandlers.adminPostHandler, handler_doMoveFeeCategoryUp); router.post("/doMoveFeeCategoryUp", handler_doMoveFeeCategoryUp);
router.post("/doMoveFeeCategoryDown", permissionHandlers.adminPostHandler, handler_doMoveFeeCategoryDown); router.post("/doMoveFeeCategoryDown", handler_doMoveFeeCategoryDown);
router.post("/doDeleteFeeCategory", permissionHandlers.adminPostHandler, handler_doDeleteFeeCategory); router.post("/doDeleteFeeCategory", handler_doDeleteFeeCategory);
router.post("/doAddFee", permissionHandlers.adminPostHandler, handler_doAddFee); router.post("/doAddFee", handler_doAddFee);
router.post("/doUpdateFee", permissionHandlers.adminPostHandler, handler_doUpdateFee); router.post("/doUpdateFee", handler_doUpdateFee);
router.post("/doMoveFeeUp", permissionHandlers.adminPostHandler, handler_doMoveFeeUp); router.post("/doMoveFeeUp", handler_doMoveFeeUp);
router.post("/doMoveFeeDown", permissionHandlers.adminPostHandler, handler_doMoveFeeDown); router.post("/doMoveFeeDown", handler_doMoveFeeDown);
router.post("/doDeleteFee", permissionHandlers.adminPostHandler, handler_doDeleteFee); router.post("/doDeleteFee", handler_doDeleteFee);
router.get("/occupancyTypes", permissionHandlers.adminGetHandler, handler_occupancyTypes); router.get("/occupancyTypes", handler_occupancyTypes);
router.post("/doAddOccupancyType", permissionHandlers.adminPostHandler, handler_doAddOccupancyType); router.post("/doAddOccupancyType", handler_doAddOccupancyType);
router.post("/doUpdateOccupancyType", permissionHandlers.adminPostHandler, handler_doUpdateOccupancyType); router.post("/doUpdateOccupancyType", handler_doUpdateOccupancyType);
router.post("/doMoveOccupancyTypeUp", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeUp); router.post("/doMoveOccupancyTypeUp", handler_doMoveOccupancyTypeUp);
router.post("/doMoveOccupancyTypeDown", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeDown); router.post("/doMoveOccupancyTypeDown", handler_doMoveOccupancyTypeDown);
router.post("/doDeleteOccupancyType", permissionHandlers.adminPostHandler, handler_doDeleteOccupancyType); router.post("/doDeleteOccupancyType", handler_doDeleteOccupancyType);
router.post("/doAddOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doAddOccupancyTypeField); router.post("/doAddOccupancyTypeField", handler_doAddOccupancyTypeField);
router.post("/doUpdateOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doUpdateOccupancyTypeField); router.post("/doUpdateOccupancyTypeField", handler_doUpdateOccupancyTypeField);
router.post("/doMoveOccupancyTypeFieldUp", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeFieldUp); router.post("/doMoveOccupancyTypeFieldUp", handler_doMoveOccupancyTypeFieldUp);
router.post("/doMoveOccupancyTypeFieldDown", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeFieldDown); router.post("/doMoveOccupancyTypeFieldDown", handler_doMoveOccupancyTypeFieldDown);
router.post("/doDeleteOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doDeleteOccupancyTypeField); router.post("/doDeleteOccupancyTypeField", handler_doDeleteOccupancyTypeField);
router.get("/lotTypes", permissionHandlers.adminGetHandler, handler_lotTypes); router.get("/lotTypes", handler_lotTypes);
router.post("/doAddLotType", permissionHandlers.adminPostHandler, handler_doAddLotType); router.post("/doAddLotType", handler_doAddLotType);
router.post("/doUpdateLotType", permissionHandlers.adminPostHandler, handler_doUpdateLotType); router.post("/doUpdateLotType", handler_doUpdateLotType);
router.post("/doMoveLotTypeUp", permissionHandlers.adminPostHandler, handler_doMoveLotTypeUp); router.post("/doMoveLotTypeUp", handler_doMoveLotTypeUp);
router.post("/doMoveLotTypeDown", permissionHandlers.adminPostHandler, handler_doMoveLotTypeDown); router.post("/doMoveLotTypeDown", handler_doMoveLotTypeDown);
router.post("/doDeleteLotType", permissionHandlers.adminPostHandler, handler_doDeleteLotType); router.post("/doDeleteLotType", handler_doDeleteLotType);
router.post("/doAddLotTypeField", permissionHandlers.adminPostHandler, handler_doAddLotTypeField); router.post("/doAddLotTypeField", handler_doAddLotTypeField);
router.post("/doUpdateLotTypeField", permissionHandlers.adminPostHandler, handler_doUpdateLotTypeField); router.post("/doUpdateLotTypeField", handler_doUpdateLotTypeField);
router.post("/doMoveLotTypeFieldUp", permissionHandlers.adminPostHandler, handler_doMoveLotTypeFieldUp); router.post("/doMoveLotTypeFieldUp", handler_doMoveLotTypeFieldUp);
router.post("/doMoveLotTypeFieldDown", permissionHandlers.adminPostHandler, handler_doMoveLotTypeFieldDown); router.post("/doMoveLotTypeFieldDown", handler_doMoveLotTypeFieldDown);
router.post("/doDeleteLotTypeField", permissionHandlers.adminPostHandler, handler_doDeleteLotTypeField); router.post("/doDeleteLotTypeField", handler_doDeleteLotTypeField);
router.get("/tables", permissionHandlers.adminGetHandler, handler_tables); router.get("/tables", handler_tables);
router.post("/doAddWorkOrderType", permissionHandlers.adminPostHandler, handler_doAddWorkOrderType); router.post("/doAddWorkOrderType", handler_doAddWorkOrderType);
router.post("/doUpdateWorkOrderType", permissionHandlers.adminPostHandler, handler_doUpdateWorkOrderType); router.post("/doUpdateWorkOrderType", handler_doUpdateWorkOrderType);
router.post("/doMoveWorkOrderTypeUp", permissionHandlers.adminPostHandler, handler_doMoveWorkOrderTypeUp); router.post("/doMoveWorkOrderTypeUp", handler_doMoveWorkOrderTypeUp);
router.post("/doMoveWorkOrderTypeDown", permissionHandlers.adminPostHandler, handler_doMoveWorkOrderTypeDown); router.post("/doMoveWorkOrderTypeDown", handler_doMoveWorkOrderTypeDown);
router.post("/doDeleteWorkOrderType", permissionHandlers.adminPostHandler, handler_doDeleteWorkOrderType); router.post("/doDeleteWorkOrderType", handler_doDeleteWorkOrderType);
router.post("/doAddWorkOrderMilestoneType", permissionHandlers.adminPostHandler, handler_doAddWorkOrderMilestoneType); router.post("/doAddWorkOrderMilestoneType", handler_doAddWorkOrderMilestoneType);
router.post("/doUpdateWorkOrderMilestoneType", permissionHandlers.adminPostHandler, handler_doUpdateWorkOrderMilestoneType); router.post("/doUpdateWorkOrderMilestoneType", handler_doUpdateWorkOrderMilestoneType);
router.post("/doMoveWorkOrderMilestoneTypeUp", permissionHandlers.adminPostHandler, handler_doMoveWorkOrderMilestoneTypeUp); router.post("/doMoveWorkOrderMilestoneTypeUp", handler_doMoveWorkOrderMilestoneTypeUp);
router.post("/doMoveWorkOrderMilestoneTypeDown", permissionHandlers.adminPostHandler, handler_doMoveWorkOrderMilestoneTypeDown); router.post("/doMoveWorkOrderMilestoneTypeDown", handler_doMoveWorkOrderMilestoneTypeDown);
router.post("/doDeleteWorkOrderMilestoneType", permissionHandlers.adminPostHandler, handler_doDeleteWorkOrderMilestoneType); router.post("/doDeleteWorkOrderMilestoneType", handler_doDeleteWorkOrderMilestoneType);
router.post("/doAddLotStatus", permissionHandlers.adminPostHandler, handler_doAddLotStatus); router.post("/doAddLotStatus", handler_doAddLotStatus);
router.post("/doUpdateLotStatus", permissionHandlers.adminPostHandler, handler_doUpdateLotStatus); router.post("/doUpdateLotStatus", handler_doUpdateLotStatus);
router.post("/doMoveLotStatusUp", permissionHandlers.adminPostHandler, handler_doMoveLotStatusUp); router.post("/doMoveLotStatusUp", handler_doMoveLotStatusUp);
router.post("/doMoveLotStatusDown", permissionHandlers.adminPostHandler, handler_doMoveLotStatusDown); router.post("/doMoveLotStatusDown", handler_doMoveLotStatusDown);
router.post("/doDeleteLotStatus", permissionHandlers.adminPostHandler, handler_doDeleteLotStatus); router.post("/doDeleteLotStatus", handler_doDeleteLotStatus);
router.post("/doAddLotOccupantType", permissionHandlers.adminPostHandler, handler_doAddLotOccupantType); router.post("/doAddLotOccupantType", handler_doAddLotOccupantType);
router.post("/doUpdateLotOccupantType", permissionHandlers.adminPostHandler, handler_doUpdateLotOccupantType); router.post("/doUpdateLotOccupantType", handler_doUpdateLotOccupantType);
router.post("/doMoveLotOccupantTypeUp", permissionHandlers.adminPostHandler, handler_doMoveLotOccupantTypeUp); router.post("/doMoveLotOccupantTypeUp", handler_doMoveLotOccupantTypeUp);
router.post("/doMoveLotOccupantTypeDown", permissionHandlers.adminPostHandler, handler_doMoveLotOccupantTypeDown); router.post("/doMoveLotOccupantTypeDown", handler_doMoveLotOccupantTypeDown);
router.post("/doDeleteLotOccupantType", permissionHandlers.adminPostHandler, handler_doDeleteLotOccupantType); router.post("/doDeleteLotOccupantType", handler_doDeleteLotOccupantType);
router.get("/cleanup", permissionHandlers.adminGetHandler, handler_cleanup); router.get("/cleanup", handler_cleanup);
router.post("/doCleanupDatabase", permissionHandlers.adminPostHandler, handler_doCleanupDatabase); router.post("/doCleanupDatabase", handler_doCleanupDatabase);
export default router; export default router;

View File

@ -1,7 +1,5 @@
import { Router } from "express"; import { Router } from "express";
import * as permissionHandlers from "../handlers/permissions.js";
// Fee Management // Fee Management
import handler_fees from "../handlers/admin-get/fees.js"; import handler_fees from "../handlers/admin-get/fees.js";
@ -89,269 +87,145 @@ export const router = Router();
* Fees * Fees
*/ */
router.get("/fees", permissionHandlers.adminGetHandler, handler_fees); router.get("/fees", handler_fees);
router.post("/doAddFeeCategory", permissionHandlers.adminPostHandler, handler_doAddFeeCategory); router.post("/doAddFeeCategory", handler_doAddFeeCategory);
router.post( router.post("/doUpdateFeeCategory", handler_doUpdateFeeCategory);
"/doUpdateFeeCategory",
permissionHandlers.adminPostHandler,
handler_doUpdateFeeCategory
);
router.post( router.post("/doMoveFeeCategoryUp", handler_doMoveFeeCategoryUp);
"/doMoveFeeCategoryUp",
permissionHandlers.adminPostHandler,
handler_doMoveFeeCategoryUp
);
router.post( router.post("/doMoveFeeCategoryDown", handler_doMoveFeeCategoryDown);
"/doMoveFeeCategoryDown",
permissionHandlers.adminPostHandler,
handler_doMoveFeeCategoryDown
);
router.post( router.post("/doDeleteFeeCategory", handler_doDeleteFeeCategory);
"/doDeleteFeeCategory",
permissionHandlers.adminPostHandler,
handler_doDeleteFeeCategory
);
router.post("/doAddFee", permissionHandlers.adminPostHandler, handler_doAddFee); router.post("/doAddFee", handler_doAddFee);
router.post("/doUpdateFee", permissionHandlers.adminPostHandler, handler_doUpdateFee); router.post("/doUpdateFee", handler_doUpdateFee);
router.post("/doMoveFeeUp", permissionHandlers.adminPostHandler, handler_doMoveFeeUp); router.post("/doMoveFeeUp", handler_doMoveFeeUp);
router.post("/doMoveFeeDown", permissionHandlers.adminPostHandler, handler_doMoveFeeDown); router.post("/doMoveFeeDown", handler_doMoveFeeDown);
router.post("/doDeleteFee", permissionHandlers.adminPostHandler, handler_doDeleteFee); router.post("/doDeleteFee", handler_doDeleteFee);
/* /*
* Occupancy Type Management * Occupancy Type Management
*/ */
router.get("/occupancyTypes", permissionHandlers.adminGetHandler, handler_occupancyTypes); router.get("/occupancyTypes", handler_occupancyTypes);
router.post("/doAddOccupancyType", permissionHandlers.adminPostHandler, handler_doAddOccupancyType); router.post("/doAddOccupancyType", handler_doAddOccupancyType);
router.post( router.post("/doUpdateOccupancyType", handler_doUpdateOccupancyType);
"/doUpdateOccupancyType",
permissionHandlers.adminPostHandler,
handler_doUpdateOccupancyType
);
router.post( router.post("/doMoveOccupancyTypeUp", handler_doMoveOccupancyTypeUp);
"/doMoveOccupancyTypeUp",
permissionHandlers.adminPostHandler,
handler_doMoveOccupancyTypeUp
);
router.post( router.post("/doMoveOccupancyTypeDown", handler_doMoveOccupancyTypeDown);
"/doMoveOccupancyTypeDown",
permissionHandlers.adminPostHandler,
handler_doMoveOccupancyTypeDown
);
router.post( router.post("/doDeleteOccupancyType", handler_doDeleteOccupancyType);
"/doDeleteOccupancyType",
permissionHandlers.adminPostHandler,
handler_doDeleteOccupancyType
);
// Occupancy Type Fields // Occupancy Type Fields
router.post( router.post("/doAddOccupancyTypeField", handler_doAddOccupancyTypeField);
"/doAddOccupancyTypeField",
permissionHandlers.adminPostHandler,
handler_doAddOccupancyTypeField
);
router.post( router.post("/doUpdateOccupancyTypeField", handler_doUpdateOccupancyTypeField);
"/doUpdateOccupancyTypeField",
permissionHandlers.adminPostHandler,
handler_doUpdateOccupancyTypeField
);
router.post( router.post("/doMoveOccupancyTypeFieldUp", handler_doMoveOccupancyTypeFieldUp);
"/doMoveOccupancyTypeFieldUp",
permissionHandlers.adminPostHandler,
handler_doMoveOccupancyTypeFieldUp
);
router.post( router.post("/doMoveOccupancyTypeFieldDown", handler_doMoveOccupancyTypeFieldDown);
"/doMoveOccupancyTypeFieldDown",
permissionHandlers.adminPostHandler,
handler_doMoveOccupancyTypeFieldDown
);
router.post( router.post("/doDeleteOccupancyTypeField", handler_doDeleteOccupancyTypeField);
"/doDeleteOccupancyTypeField",
permissionHandlers.adminPostHandler,
handler_doDeleteOccupancyTypeField
);
/* /*
* Lot Type Management * Lot Type Management
*/ */
router.get("/lotTypes", permissionHandlers.adminGetHandler, handler_lotTypes); router.get("/lotTypes", handler_lotTypes);
router.post("/doAddLotType", permissionHandlers.adminPostHandler, handler_doAddLotType); router.post("/doAddLotType", handler_doAddLotType);
router.post("/doUpdateLotType", permissionHandlers.adminPostHandler, handler_doUpdateLotType); router.post("/doUpdateLotType", handler_doUpdateLotType);
router.post("/doMoveLotTypeUp", permissionHandlers.adminPostHandler, handler_doMoveLotTypeUp); router.post("/doMoveLotTypeUp", handler_doMoveLotTypeUp);
router.post("/doMoveLotTypeDown", permissionHandlers.adminPostHandler, handler_doMoveLotTypeDown); router.post("/doMoveLotTypeDown", handler_doMoveLotTypeDown);
router.post("/doDeleteLotType", permissionHandlers.adminPostHandler, handler_doDeleteLotType); router.post("/doDeleteLotType", handler_doDeleteLotType);
// Lot Type Fields // Lot Type Fields
router.post("/doAddLotTypeField", permissionHandlers.adminPostHandler, handler_doAddLotTypeField); router.post("/doAddLotTypeField", handler_doAddLotTypeField);
router.post( router.post("/doUpdateLotTypeField", handler_doUpdateLotTypeField);
"/doUpdateLotTypeField",
permissionHandlers.adminPostHandler,
handler_doUpdateLotTypeField
);
router.post( router.post("/doMoveLotTypeFieldUp", handler_doMoveLotTypeFieldUp);
"/doMoveLotTypeFieldUp",
permissionHandlers.adminPostHandler,
handler_doMoveLotTypeFieldUp
);
router.post( router.post("/doMoveLotTypeFieldDown", handler_doMoveLotTypeFieldDown);
"/doMoveLotTypeFieldDown",
permissionHandlers.adminPostHandler,
handler_doMoveLotTypeFieldDown
);
router.post( router.post("/doDeleteLotTypeField", handler_doDeleteLotTypeField);
"/doDeleteLotTypeField",
permissionHandlers.adminPostHandler,
handler_doDeleteLotTypeField
);
/* /*
* Config Tables * Config Tables
*/ */
router.get("/tables", permissionHandlers.adminGetHandler, handler_tables); router.get("/tables", handler_tables);
// Config Tables - Work Order Types // Config Tables - Work Order Types
router.post("/doAddWorkOrderType", permissionHandlers.adminPostHandler, handler_doAddWorkOrderType); router.post("/doAddWorkOrderType", handler_doAddWorkOrderType);
router.post( router.post("/doUpdateWorkOrderType", handler_doUpdateWorkOrderType);
"/doUpdateWorkOrderType",
permissionHandlers.adminPostHandler,
handler_doUpdateWorkOrderType
);
router.post( router.post("/doMoveWorkOrderTypeUp", handler_doMoveWorkOrderTypeUp);
"/doMoveWorkOrderTypeUp",
permissionHandlers.adminPostHandler,
handler_doMoveWorkOrderTypeUp
);
router.post( router.post("/doMoveWorkOrderTypeDown", handler_doMoveWorkOrderTypeDown);
"/doMoveWorkOrderTypeDown",
permissionHandlers.adminPostHandler,
handler_doMoveWorkOrderTypeDown
);
router.post( router.post("/doDeleteWorkOrderType", handler_doDeleteWorkOrderType);
"/doDeleteWorkOrderType",
permissionHandlers.adminPostHandler,
handler_doDeleteWorkOrderType
);
// Config Tables - Work Order Milestone Types // Config Tables - Work Order Milestone Types
router.post( router.post(
"/doAddWorkOrderMilestoneType", "/doAddWorkOrderMilestoneType",
permissionHandlers.adminPostHandler,
handler_doAddWorkOrderMilestoneType handler_doAddWorkOrderMilestoneType
); );
router.post( router.post("/doUpdateWorkOrderMilestoneType", handler_doUpdateWorkOrderMilestoneType);
"/doUpdateWorkOrderMilestoneType",
permissionHandlers.adminPostHandler,
handler_doUpdateWorkOrderMilestoneType
);
router.post( router.post("/doMoveWorkOrderMilestoneTypeUp", handler_doMoveWorkOrderMilestoneTypeUp);
"/doMoveWorkOrderMilestoneTypeUp",
permissionHandlers.adminPostHandler,
handler_doMoveWorkOrderMilestoneTypeUp
);
router.post( router.post("/doMoveWorkOrderMilestoneTypeDown", handler_doMoveWorkOrderMilestoneTypeDown);
"/doMoveWorkOrderMilestoneTypeDown",
permissionHandlers.adminPostHandler,
handler_doMoveWorkOrderMilestoneTypeDown
);
router.post( router.post("/doDeleteWorkOrderMilestoneType", handler_doDeleteWorkOrderMilestoneType);
"/doDeleteWorkOrderMilestoneType",
permissionHandlers.adminPostHandler,
handler_doDeleteWorkOrderMilestoneType
);
// Config Tables - Lot Statuses // Config Tables - Lot Statuses
router.post("/doAddLotStatus", permissionHandlers.adminPostHandler, handler_doAddLotStatus); router.post("/doAddLotStatus", handler_doAddLotStatus);
router.post("/doUpdateLotStatus", permissionHandlers.adminPostHandler, handler_doUpdateLotStatus); router.post("/doUpdateLotStatus", handler_doUpdateLotStatus);
router.post("/doMoveLotStatusUp", permissionHandlers.adminPostHandler, handler_doMoveLotStatusUp); router.post("/doMoveLotStatusUp", handler_doMoveLotStatusUp);
router.post( router.post("/doMoveLotStatusDown", handler_doMoveLotStatusDown);
"/doMoveLotStatusDown",
permissionHandlers.adminPostHandler,
handler_doMoveLotStatusDown
);
router.post("/doDeleteLotStatus", permissionHandlers.adminPostHandler, handler_doDeleteLotStatus); router.post("/doDeleteLotStatus", handler_doDeleteLotStatus);
// Config Tables - Lot Occupant Types // Config Tables - Lot Occupant Types
router.post( router.post("/doAddLotOccupantType", handler_doAddLotOccupantType);
"/doAddLotOccupantType",
permissionHandlers.adminPostHandler,
handler_doAddLotOccupantType
);
router.post( router.post("/doUpdateLotOccupantType", handler_doUpdateLotOccupantType);
"/doUpdateLotOccupantType",
permissionHandlers.adminPostHandler,
handler_doUpdateLotOccupantType
);
router.post( router.post("/doMoveLotOccupantTypeUp", handler_doMoveLotOccupantTypeUp);
"/doMoveLotOccupantTypeUp",
permissionHandlers.adminPostHandler,
handler_doMoveLotOccupantTypeUp
);
router.post( router.post("/doMoveLotOccupantTypeDown", handler_doMoveLotOccupantTypeDown);
"/doMoveLotOccupantTypeDown",
permissionHandlers.adminPostHandler,
handler_doMoveLotOccupantTypeDown
);
router.post( router.post("/doDeleteLotOccupantType", handler_doDeleteLotOccupantType);
"/doDeleteLotOccupantType",
permissionHandlers.adminPostHandler,
handler_doDeleteLotOccupantType
);
// Cleanup // Cleanup
router.get("/cleanup", permissionHandlers.adminGetHandler, handler_cleanup); router.get("/cleanup", handler_cleanup);
router.post("/doCleanupDatabase", permissionHandlers.adminPostHandler, handler_doCleanupDatabase); router.post("/doCleanupDatabase", handler_doCleanupDatabase);
export default router; export default router;