From 6f36861653e66dddebdad27691be41dbd86bdf61 Mon Sep 17 00:00:00 2001 From: elit04 <elit04@fu-berlin.de> Date: Thu, 13 Jan 2022 12:29:40 -0500 Subject: [PATCH] createLogEntry in separate file --- server/src/controllers/auth.controllers.ts | 43 ----------------- .../createLogEntryControllers.controllers.ts | 46 +++++++++++++++++++ server/src/routes/auth.routes.ts | 15 ------ .../src/routes/createLogEntryRoutes.routes.ts | 22 +++++++++ server/src/server.ts | 3 ++ 5 files changed, 71 insertions(+), 58 deletions(-) create mode 100644 server/src/controllers/createLogEntryControllers.controllers.ts create mode 100644 server/src/routes/createLogEntryRoutes.routes.ts diff --git a/server/src/controllers/auth.controllers.ts b/server/src/controllers/auth.controllers.ts index d96f5a7..073964f 100644 --- a/server/src/controllers/auth.controllers.ts +++ b/server/src/controllers/auth.controllers.ts @@ -2,8 +2,6 @@ import bcrypt from "bcrypt"; import { Request, Response } from "express"; import jwt from "jsonwebtoken"; import Employee from "../db/models/Employee"; -import CheckIn from "../db/models/CheckIn"; -import Boat from "../db/models/Boat"; import envVars from "../config"; //log in @@ -42,49 +40,8 @@ const authLoginController = async (req: Request, res: Response) => { } }; -//create log entry -const createLogEntry = async (req: Request, res: Response) => { - - try{ - - const logEntry = req.body; - - const boatid = Boat.findByPk(logEntry.boatID); - - //get status of boat - const bootAvailability = (await boatid).status; - - - //if boat is not available => it's locked - if(!(bootAvailability === true)) { - return res.status(409).json({ success: false, error: "BoatLocked" }); - }; - - - const newLogEntry = await CheckIn.create(logEntry); - - return res.status(201).json({ - success: true, - account: { - startTime: newLogEntry.startTime, - estimatedEndTime: newLogEntry.estimatedEndTime, - email: newLogEntry.email, - firstName: newLogEntry.firstName, - lastName: newLogEntry.lastName, - additionalClients: newLogEntry.additionalClients, - boatID: newLogEntry.boatID, - }, - }); - } catch (error) { - console.error(error.message); - return res.status(500).json({ success: false, error: "serverError" }); - } -}; - - const authControllers = { authLoginController, - createLogEntry, }; diff --git a/server/src/controllers/createLogEntryControllers.controllers.ts b/server/src/controllers/createLogEntryControllers.controllers.ts new file mode 100644 index 0000000..dc45b89 --- /dev/null +++ b/server/src/controllers/createLogEntryControllers.controllers.ts @@ -0,0 +1,46 @@ +import { Request, Response } from "express"; +import CheckIn from "../db/models/CheckIn"; +import Boat from "../db/models/Boat"; + +//create log entry +const createLogEntry = async (req: Request, res: Response) => { + + try{ + + const logEntry = req.body; + const boatid = Boat.findByPk(logEntry.boatID); + + //get status of boat + const bootAvailability = (await boatid).status; + + //if boat is not available => it's locked + if(!(bootAvailability === true)) { + return res.status(409).json({ success: false, error: "BoatLocked" }); + }; + + const newLogEntry = await CheckIn.create(logEntry); + + return res.status(201).json({ + success: true, + account: { + startTime: newLogEntry.startTime, + estimatedEndTime: newLogEntry.estimatedEndTime, + email: newLogEntry.email, + firstName: newLogEntry.firstName, + lastName: newLogEntry.lastName, + additionalClients: newLogEntry.additionalClients, + boatID: newLogEntry.boatID, + }, + }); + } catch (error) { + console.error(error.message); + return res.status(500).json({ success: false, error: "serverError" }); + } +}; + +const createLogEntryControllers = { + createLogEntry, +}; + + +export default createLogEntryControllers; \ No newline at end of file diff --git a/server/src/routes/auth.routes.ts b/server/src/routes/auth.routes.ts index 51b9094..f6601bc 100644 --- a/server/src/routes/auth.routes.ts +++ b/server/src/routes/auth.routes.ts @@ -14,19 +14,4 @@ authRouter.post( authControllers.authLoginController ); -//create new log entry route -authRouter.post( - "/api/logentry/", - //isISO8601() checks if string is a valid date+time - body("startTime").isISO8601(), - body("estimatedEndTime").isISO8601(), - body("email").isEmail().normalizeEmail(), - body("firstName").not().isEmpty(), - body("lastName").not().isEmpty(), - body("boatID").isUUID(), - handleValidationResult, - authControllers.createLogEntry -); - - export default authRouter; diff --git a/server/src/routes/createLogEntryRoutes.routes.ts b/server/src/routes/createLogEntryRoutes.routes.ts new file mode 100644 index 0000000..30dae54 --- /dev/null +++ b/server/src/routes/createLogEntryRoutes.routes.ts @@ -0,0 +1,22 @@ +import { Router } from "express"; +import { body } from "express-validator"; +import handleValidationResult from "../middleware/handleValidationResult"; +import createLogEntryControllers from "../controllers/createLogEntryControllers.controllers"; + +const entryRouter = Router(); + +//create new log entry route +entryRouter.post( + "/api/logentry/", + //isISO8601() checks if string is a valid date+time + body("startTime").isISO8601(), + body("estimatedEndTime").isISO8601(), + body("email").isEmail().normalizeEmail(), + body("firstName").not().isEmpty(), + body("lastName").not().isEmpty(), + body("boatID").isUUID(), + handleValidationResult, + createLogEntryControllers.createLogEntry + ); + + export default entryRouter; \ No newline at end of file diff --git a/server/src/server.ts b/server/src/server.ts index 5618c28..250925e 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -12,6 +12,8 @@ import authRouter from "./routes/auth.routes"; import boatsRouter from "./routes/boatRoutes.routes"; import userRouter from "./routes/user.routes"; import boatTypeRouter from "./routes/boatTypeRoutes.routes"; +import entryRouter from "./routes/createLogEntryRoutes.routes"; + let init = async () => { //DB @@ -30,6 +32,7 @@ let init = async () => { app.use("/", boatsRouter); app.use("/", userRouter); app.use("/", boatTypeRouter); + app.use("/", entryRouter); //DB-information section await showAllDBs(sequelize); await showTables(sequelize); -- GitLab