From 61137c9bb9d6f1437591c3cfdfb95921c9a44f6b Mon Sep 17 00:00:00 2001 From: alrwasheda <alrwasheda@zedat.fu-berlin.de> Date: Sun, 28 Nov 2021 23:06:38 +0100 Subject: [PATCH] Point (3) Leander-Comment: 1)config gathers env-vars. 2)seqConnection connect to db. 3)db_init initilizes tables --- server/src/db/config.ts | 24 +++--- server/src/db/models/Boat.ts | 2 +- server/src/db/models/CheckIn.ts | 3 +- server/src/db/models/Customer.ts | 7 +- server/src/db/models/Worker.ts | 3 +- server/src/db/seqConnection.ts | 10 +++ server/src/routes.ts | 144 +++++++++++++++---------------- server/src/server.ts | 3 +- 8 files changed, 100 insertions(+), 96 deletions(-) create mode 100644 server/src/db/seqConnection.ts diff --git a/server/src/db/config.ts b/server/src/db/config.ts index 151a843..52d0cf7 100644 --- a/server/src/db/config.ts +++ b/server/src/db/config.ts @@ -1,21 +1,17 @@ import { Dialect, Sequelize } from "sequelize"; -const dbName = process.env.DB_NAME; -const dbUser = process.env.DB_USER; -const dbHost = process.env.DB_HOST; -const dbDriver = process.env.DB_DRIVER as Dialect; -const dbPassword = process.env.DB_PASSWORD; +const envVars = { + dbName : process.env.DB_NAME, + dbUser : process.env.DB_USER, + dbHost : process.env.DB_HOST, + dbDriver : process.env.DB_DRIVER as Dialect, + dbPassword : process.env.DB_PASSWORD, +} -if (!dbName || !dbUser || !dbHost || !dbDriver || !dbPassword) { +if (!envVars.dbName || !envVars.dbUser || !envVars.dbHost || !envVars.dbDriver || !envVars.dbPassword) { console.error(`Error while reading DB Environment variables! Is maybe the .env file missing? -DB Name: "${dbName}", Host: "${dbHost}", User: "${dbUser}", DB Driver(e.g. postgres): "${dbDriver}"`); +DB Name: "${envVars.dbName}", Host: "${envVars.dbHost}", User: "${envVars.dbUser}", DB Driver(e.g. postgres): "${envVars.dbDriver}"`); process.exit(9); } -const sequelizeConnection = new Sequelize(dbName, dbUser, dbPassword, { - host: dbHost, - dialect: dbDriver, - logging: false, -}); - -export default sequelizeConnection; +export default envVars; \ No newline at end of file diff --git a/server/src/db/models/Boat.ts b/server/src/db/models/Boat.ts index 2dcd291..b67160a 100644 --- a/server/src/db/models/Boat.ts +++ b/server/src/db/models/Boat.ts @@ -1,4 +1,4 @@ -import sequelizeConnection from "../config"; +import sequelizeConnection from "../seqConnection"; import { DataTypes, Model, Optional } from "sequelize"; interface BoatAttributes { diff --git a/server/src/db/models/CheckIn.ts b/server/src/db/models/CheckIn.ts index f2b99d9..5c3290c 100644 --- a/server/src/db/models/CheckIn.ts +++ b/server/src/db/models/CheckIn.ts @@ -1,5 +1,4 @@ -import sequelizeConnection from "../config"; -import { DataTypes, Model, Optional } from "sequelize"; +import sequelizeConnection from "../seqConnection";import { DataTypes, Model, Optional } from "sequelize"; interface CheckInAttributes { id: number; diff --git a/server/src/db/models/Customer.ts b/server/src/db/models/Customer.ts index 49de900..77d843d 100644 --- a/server/src/db/models/Customer.ts +++ b/server/src/db/models/Customer.ts @@ -1,5 +1,4 @@ -import sequelizeConnection from "../config"; -import { DataTypes, Model, Optional } from "sequelize"; +import sequelizeConnection from "../seqConnection";import { DataTypes, Model, Optional } from "sequelize"; interface CustomerAttributes { id: number; @@ -7,8 +6,8 @@ interface CustomerAttributes { lastName: string; email: string; } -export interface CustomerInput extends Optional<CustomerAttributes, "id"> {} -export interface CustomerOutput extends Required<CustomerAttributes> {} +export interface CustomerInput extends Optional<CustomerAttributes, "id"> { } +export interface CustomerOutput extends Required<CustomerAttributes> { } class Customer extends Model<CustomerAttributes> implements CustomerAttributes { public id!: number; public firstName!: string; diff --git a/server/src/db/models/Worker.ts b/server/src/db/models/Worker.ts index 6ba033c..a616985 100644 --- a/server/src/db/models/Worker.ts +++ b/server/src/db/models/Worker.ts @@ -1,5 +1,4 @@ -import sequelizeConnection from "../config"; -import { DataTypes, Model, Optional } from "sequelize"; +import sequelizeConnection from "../seqConnection";import { DataTypes, Model, Optional } from "sequelize"; interface WorkerAttributes { email: string; diff --git a/server/src/db/seqConnection.ts b/server/src/db/seqConnection.ts new file mode 100644 index 0000000..6852ed8 --- /dev/null +++ b/server/src/db/seqConnection.ts @@ -0,0 +1,10 @@ +import envVars from "./config"; +import { Sequelize } from "sequelize"; + +const sequelizeConnection = new Sequelize(envVars.dbName, envVars.dbUser, envVars.dbPassword, { + host: envVars.dbHost, + dialect: envVars.dbDriver, + logging: false, +}); + +export default sequelizeConnection; \ No newline at end of file diff --git a/server/src/routes.ts b/server/src/routes.ts index 1188bc5..2f88542 100644 --- a/server/src/routes.ts +++ b/server/src/routes.ts @@ -1,77 +1,77 @@ -import * as express from "express"; -import { UserService } from "./db/models/User"; -import { VehicleTypeService } from "./db/models/VehicleTypes"; +// import * as express from "express"; +// import { UserService } from "./db/models/User"; +// import { VehicleTypeService } from "./db/models/VehicleTypes"; -const router = express.Router(); +// const router = express.Router(); -// Vehicle Type -router.get("/api/vehicleType/:id", async (req, res) => { - const id = Number(req.params.id); - const result = await VehicleTypeService.getById(id); - return res.status(200).send(result); -}); -router.post("/api/vehicleType/", async (req, res) => { - const payload = req.body; - const result = await VehicleTypeService.create(payload); - return res.status(200).send(result); -}); -router.put("/api/vehicleType/:id", async (req, res) => { - const id = Number(req.params.id); - const payload = req.body; - const result = await VehicleTypeService.update(id, payload); - return res.status(201).send(result); -}); -router.delete("/api/vehicleType/:id", async (req, res) => { - const id = Number(req.params.id); - const result = await VehicleTypeService.deleteById(id); - return res.status(204).send({ - success: result, - }); -}); -router.get("/api/vehicleType/", async (req, res) => { - const results = await VehicleTypeService.getAll(); - return res.status(200).send(results); -}); +// // Vehicle Type +// router.get("/api/vehicleType/:id", async (req, res) => { +// const id = Number(req.params.id); +// const result = await VehicleTypeService.getById(id); +// return res.status(200).send(result); +// }); +// router.post("/api/vehicleType/", async (req, res) => { +// const payload = req.body; +// const result = await VehicleTypeService.create(payload); +// return res.status(200).send(result); +// }); +// router.put("/api/vehicleType/:id", async (req, res) => { +// const id = Number(req.params.id); +// const payload = req.body; +// const result = await VehicleTypeService.update(id, payload); +// return res.status(201).send(result); +// }); +// router.delete("/api/vehicleType/:id", async (req, res) => { +// const id = Number(req.params.id); +// const result = await VehicleTypeService.deleteById(id); +// return res.status(204).send({ +// success: result, +// }); +// }); +// router.get("/api/vehicleType/", async (req, res) => { +// const results = await VehicleTypeService.getAll(); +// return res.status(200).send(results); +// }); -// USER -router.get("/api/user/:id", async (req, res) => { - const id = Number(req.params.id); - const result = await UserService.getById(id); - return res.status(200).send(result); -}); -router.post("/api/user/", async (req, res) => { - const payload = req.body; - const result = await UserService.create(payload); - return res.status(200).send(result); -}); -router.put("/api/user/:id", async (req, res) => { - const id = Number(req.params.id); - const payload = req.body; - const result = await UserService.update(id, payload); - return res.status(201).send(result); -}); -router.delete("/api/user/:id", async (req, res) => { - const id = Number(req.params.id); - const result = await UserService.deleteById(id); - return res.status(204).send({ - success: result, - }); -}); -router.get("/api/user/", async (req, res) => { - const results = await UserService.getAll(); - return res.status(200).send(results); -}); +// // USER +// router.get("/api/user/:id", async (req, res) => { +// const id = Number(req.params.id); +// const result = await UserService.getById(id); +// return res.status(200).send(result); +// }); +// router.post("/api/user/", async (req, res) => { +// const payload = req.body; +// const result = await UserService.create(payload); +// return res.status(200).send(result); +// }); +// router.put("/api/user/:id", async (req, res) => { +// const id = Number(req.params.id); +// const payload = req.body; +// const result = await UserService.update(id, payload); +// return res.status(201).send(result); +// }); +// router.delete("/api/user/:id", async (req, res) => { +// const id = Number(req.params.id); +// const result = await UserService.deleteById(id); +// return res.status(204).send({ +// success: result, +// }); +// }); +// router.get("/api/user/", async (req, res) => { +// const results = await UserService.getAll(); +// return res.status(200).send(results); +// }); -// Other TODO -/* -router.get('/api/login', (req, res) => { - console.log(req.body) - res.json({'success': true, data: []}); -}); - */ -router.post("/api/logEntry", (req, res) => { - console.log(req.body); - res.json({ success: true }); -}); +// // Other TODO +// /* +// router.get('/api/login', (req, res) => { +// console.log(req.body) +// res.json({'success': true, data: []}); +// }); +// */ +// router.post("/api/logEntry", (req, res) => { +// console.log(req.body); +// res.json({ success: true }); +// }); -export default router; +// export default router; diff --git a/server/src/server.ts b/server/src/server.ts index feb841c..a23a5bf 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -11,6 +11,7 @@ let init = async () => { //app.use(apiRouter); const port = process.env.PORT || 4000; app.listen(port, () => console.log(`Server listening on port: ${port}`)); + app.get("/",(req, res) => res.send("hello in server")) }; -init().then(() => {}); +init().then(() => { }); -- GitLab