From eea4be9cf13832fee7fd3da02467c06d94342ac5 Mon Sep 17 00:00:00 2001 From: rlacko <rlacko@sch.bme.hu> Date: Tue, 4 Aug 2020 18:04:52 +0200 Subject: [PATCH] Revert "Merge branch 'feature/12-dev-auto-deploy' into 'master'" This reverts merge request !10 --- .gitlab-ci.yml | 86 ------------------------ Dockerfile | 8 --- docker-compose.dev.yml | 37 +++++----- nodemon.json | 2 +- src/index.ts | 34 ++-------- src/middlewares/.gitkeep | 0 src/middlewares/auth/authenticated.ts | 22 +++--- src/middlewares/auth/complete.ts | 60 ++++++++--------- src/middlewares/auth/login.ts | 24 +++---- src/middlewares/auth/logout.ts | 14 ++-- src/middlewares/auth/refreshToken.ts | 18 ----- src/middlewares/news/addNews.ts | 22 ------ src/middlewares/news/deleteNews.ts | 17 ----- src/middlewares/news/getNews.ts | 18 ----- src/middlewares/news/getNewsList.ts | 15 ----- src/middlewares/user/addUser.ts | 29 -------- src/middlewares/user/addWarning.ts | 7 -- src/middlewares/user/deleteUser.ts | 15 ----- src/middlewares/user/deleteWarning.ts | 7 -- src/middlewares/user/getUser.ts | 17 ----- src/middlewares/user/getUsersList.ts | 17 ----- src/middlewares/user/getWarning.ts | 7 -- src/middlewares/user/getWarningsList.ts | 7 -- src/middlewares/user/responseUser.ts | 7 -- src/middlewares/user/responseUserList.ts | 7 -- src/middlewares/user/updateUser.ts | 29 -------- src/middlewares/user/updateWarning.ts | 7 -- src/middlewares/utils/emptyResponse.ts | 7 -- src/models/.gitkeep | 0 src/models/NewsSchema.ts | 31 --------- src/models/ProfileSchema.ts | 31 --------- src/models/WarningSchema.ts | 19 ------ src/models/user.interface.ts | 8 --- src/routes/.gitkeep | 0 src/routes/auth.ts | 6 +- src/routes/news.ts | 35 ---------- src/routes/user.ts | 41 ----------- src/utils/.gitkeep | 0 src/utils/declarations/request.d.ts | 3 - src/utils/declarations/response.d.ts | 15 ----- src/utils/declarations/session.d.ts | 10 --- tsconfig.json | 5 -- 42 files changed, 85 insertions(+), 659 deletions(-) delete mode 100644 .gitlab-ci.yml delete mode 100644 Dockerfile create mode 100644 src/middlewares/.gitkeep delete mode 100644 src/middlewares/auth/refreshToken.ts delete mode 100644 src/middlewares/news/addNews.ts delete mode 100644 src/middlewares/news/deleteNews.ts delete mode 100644 src/middlewares/news/getNews.ts delete mode 100644 src/middlewares/news/getNewsList.ts delete mode 100644 src/middlewares/user/addUser.ts delete mode 100644 src/middlewares/user/addWarning.ts delete mode 100644 src/middlewares/user/deleteUser.ts delete mode 100644 src/middlewares/user/deleteWarning.ts delete mode 100644 src/middlewares/user/getUser.ts delete mode 100644 src/middlewares/user/getUsersList.ts delete mode 100644 src/middlewares/user/getWarning.ts delete mode 100644 src/middlewares/user/getWarningsList.ts delete mode 100644 src/middlewares/user/responseUser.ts delete mode 100644 src/middlewares/user/responseUserList.ts delete mode 100644 src/middlewares/user/updateUser.ts delete mode 100644 src/middlewares/user/updateWarning.ts delete mode 100644 src/middlewares/utils/emptyResponse.ts create mode 100644 src/models/.gitkeep delete mode 100644 src/models/NewsSchema.ts delete mode 100644 src/models/ProfileSchema.ts delete mode 100644 src/models/WarningSchema.ts delete mode 100644 src/models/user.interface.ts create mode 100644 src/routes/.gitkeep delete mode 100644 src/routes/news.ts delete mode 100644 src/routes/user.ts create mode 100644 src/utils/.gitkeep delete mode 100644 src/utils/declarations/request.d.ts delete mode 100644 src/utils/declarations/response.d.ts delete mode 100644 src/utils/declarations/session.d.ts diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 004ce007..00000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,86 +0,0 @@ -stages: - - Build -# - Test - - Docker build - - Deploy - -#services: -# - mongo - -variables: - CONTAINER_IMAGE: 'registry.kszk.bme.hu/bodysch/backend:$CI_COMMIT_REF_NAME' -# MONGODB_TEST_URI: 'mongodb://mongo/bodysch-test' - -Build: - stage: Build - tags: [kszk] - image: node:14 - script: - - npm install - cache: - paths: - - node_modules/ - artifacts: - expire_in: 1 day - paths: - - node_modules/ - -#Test: -# stage: Test -# tags: [kszk] -# image: node:14 -# script: -# - npm test -# artifacts: -# expire_in: 1 week -# paths: -# - junit.xml -# reports: -# junit: junit.xml - -Docker build: - stage: Docker build - tags: [kszk] - only: - - master - - dev - image: - name: gcr.io/kaniko-project/executor:debug - entrypoint: [''] - script: - - echo "{\"auths\":{\"registry.kszk.bme.hu\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CONTAINER_IMAGE - -Deploy dev: - stage: Deploy - tags: [kszk-deploy] # request the custom SSH executor - only: - - dev - script: # your deploy logic - - echo "$REGISTRY_PASSWORD" | docker login registry.kszk.bme.hu --username $REGISTRY_USER --password-stdin - - cp docker-compose.dev.yml /home/kszk-gitlab-deployer/bodysch-dev/ - - cd /home/kszk-gitlab-deployer/bodysch-dev/ - - docker-compose -f docker-compose.dev.yml --no-ansi pull - - docker-compose -f docker-compose.dev.yml up -d - - docker system prune -f - variables: - SSH_HOST: donald.sch.bme.hu # required - SSH_USER: kszk-gitlab-deployer # default: kszk-gitlab-deployer - SSH_PORT: 10122 # default: 22 - -# Deploy prod: -# stage: Deploy -# tags: [kszk-deploy] # request the custom SSH executor -# only: -# - master -# script: # your deploy logic -# - echo "$REGISTRY_PASSWORD" | docker login registry.kszk.bme.hu --username $REGISTRY_USER --password-stdin -# - cp docker-compose.yml /home/kszk-gitlab-deployer/kszkepzes-prod/ -# - cd /home/kszk-gitlab-deployer/kszkepzes-prod/ -# - docker-compose --no-ansi pull -# - docker-compose up -d -# - docker system prune -f -# variables: -# SSH_HOST: donald.sch.bme.hu # required -# SSH_USER: kszk-gitlab-deployer # default: kszk-gitlab-deployer -# SSH_PORT: 10122 # default: 22 diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 4aca2988..00000000 --- a/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM node:14 - -WORKDIR /usr/src/app - -COPY . . - -EXPOSE 3000 -CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index ac74fe35..c711696e 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,21 +1,22 @@ -version: '3.7' -services: - bodysch-backend-dev: - container_name: bodysch-backend-dev - image: registry.kszk.bme.hu/bodysch/backend:dev - restart: always - ports: - - '3030:8000' - links: - - bodysch-mongo-dev - env_file: - - .env +version: "3.7" + +services: + app: + image: node:alpine + volumes: + - ./:/app + working_dir: /app depends_on: - - bodysch-mongo-dev - bodysch-mongo-dev: - container_name: bodysch-mongo-dev + - mongo + environment: + NODE_ENV: development + ports: + - 8000:8000 + command: npm run start-dev + + mongo: image: mongo - volumes: - - ./data:/data/db expose: - - '27017' + - 27017 + volumes: + - ./data/db:/data/db \ No newline at end of file diff --git a/nodemon.json b/nodemon.json index 2220bb3e..4df56ed0 100644 --- a/nodemon.json +++ b/nodemon.json @@ -2,5 +2,5 @@ "watch": ["src"], "ext": "ts", "ignore": ["src/public"], - "exec": "ts-node --files src/index.ts" + "exec": "NODE_ENV=development ts-node src/index.ts" } diff --git a/src/index.ts b/src/index.ts index 39b7a6ce..e880caa5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,34 +1,15 @@ -import "./utils/env"; +import "./utils/env" import express, { Request, Response, NextFunction, Application } from "express"; -import mongoose from "mongoose"; import bodyParser from "body-parser"; import expressSession from "express-session"; -import authRoute from "./routes/auth"; -import newsRoute from "./routes/news"; -import usersRoute from "./routes/user"; - -mongoose - .connect("mongodb://localhost:27017/bodysch", { - useNewUrlParser: true, - useCreateIndex: true, - useUnifiedTopology: true - }) - .then(() => { - console.log("Connected to database"); - }) - .catch(err => { - console.log( - "MongoDB connection error. Please make sure MongoDB is running. " + err - ); - // process.exit(); - }); +import authRoute from './routes/auth'; const app: Application = express(); app.use(bodyParser.json()); // for parsing application/json app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded app.use(expressSession({ - secret: process.env.SESSION_SECRET || "secret", + secret: process.env.SESSION_SECRET || "alma", resave: false, saveUninitialized: true, cookie: { secure: false } @@ -37,20 +18,13 @@ app.use(expressSession({ app.get("/", (req: Request, res: Response) => { let message = "World!"; if(req.session!.user) - message = req.session!.user!.name || "World!"; + message = req.session!.user!.sn || "World!"; res.send( "Hello " + message) }); // Register routes authRoute(app); -// Register routes -newsRoute(app); - -usersRoute(app); - - - app.use((err: any, req: Request, res: Response, next: NextFunction) => { res.status(500).send("Houston, we have a problem!"); diff --git a/src/middlewares/.gitkeep b/src/middlewares/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/middlewares/auth/authenticated.ts b/src/middlewares/auth/authenticated.ts index 139a50d9..d5f7ea0e 100644 --- a/src/middlewares/auth/authenticated.ts +++ b/src/middlewares/auth/authenticated.ts @@ -1,12 +1,12 @@ -import {Request, Response, NextFunction} from "express"; - -const authenticated = () => (req : Request, res : Response, next: NextFunction ) =>{ - if(req.session!.user) - next(); - else{ - res.status(403); - res.json({message: "You have to login to see this page"}); - } -} - +import {Request, Response, NextFunction} from "express"; + +const authenticated = () => (req : Request, res : Response, next: NextFunction ) =>{ + if(req.session!.user) + next(); + else{ + res.status(403); + res.json({message: "You have to login to see this page"}); + } +} + export default authenticated; \ No newline at end of file diff --git a/src/middlewares/auth/complete.ts b/src/middlewares/auth/complete.ts index 98856568..dedc5c8c 100644 --- a/src/middlewares/auth/complete.ts +++ b/src/middlewares/auth/complete.ts @@ -1,33 +1,29 @@ -import { Request, Response } from 'express'; -import {oauth2, scope} from '../../utils/auth' -import axios from "axios"; - - -const complete = () => async (req: Request, res: Response) => { - const tokenConfig = { - code: req.query.code, - scope: scope, - redirect_uri: "" - }; - - try { - const token = await oauth2().authorizationCode.getToken(tokenConfig); - await axios.get(`https://auth.sch.bme.hu/api/profile/?access_token=${token.access_token}`) - .then( (response) => { - req.session!.user = { - id: String(response.data.internal_id), - email: String(response.data.mail), - name: `${response.data.sn} ${response.data.givenName}` , - token, - }; - }) - .catch(function (error) { - console.log(error); - }); - res.redirect('/'); - } catch (error) { - console.log('Access Token Error', error.message); - } -}; - +import { Request, Response } from 'express'; +import {oauth2, scope} from '../../utils/auth' +import axios from "axios"; + + +const complete = () => async (req: Request, res: Response) => { + const tokenConfig = { + code: req.query.code, + scope: scope, + redirect_uri: "" + }; + + try { + const result = await oauth2().authorizationCode.getToken(tokenConfig); + const token = oauth2().accessToken.create(result); + await axios.get(`https://auth.sch.bme.hu/api/profile/?access_token=${token.token.access_token}`) + .then( (response) => { + req.session!.user = response.data; + }) + .catch(function (error) { + console.log(error); + }); + res.redirect('/'); + } catch (error) { + console.log('Access Token Error', error.message); + } +}; + export default complete; \ No newline at end of file diff --git a/src/middlewares/auth/login.ts b/src/middlewares/auth/login.ts index a1efd4d7..356629f1 100644 --- a/src/middlewares/auth/login.ts +++ b/src/middlewares/auth/login.ts @@ -1,13 +1,13 @@ -import { Request, Response } from 'express'; -import {oauth2, scope} from '../../utils/auth' - - -const authorizationUri = oauth2().authorizationCode.authorizeURL({ - scope: scope, -}); - - -const login = () => (req: Request, res: Response) => res.redirect(authorizationUri); - - +import { Request, Response } from 'express'; +import {oauth2, scope} from '../../utils/auth' + + +const authorizationUri = oauth2().authorizationCode.authorizeURL({ + scope: scope, +}); + + +const login = () => (req: Request, res: Response) => res.redirect(authorizationUri); + + export default login; \ No newline at end of file diff --git a/src/middlewares/auth/logout.ts b/src/middlewares/auth/logout.ts index 9367d85f..791772f7 100644 --- a/src/middlewares/auth/logout.ts +++ b/src/middlewares/auth/logout.ts @@ -1,8 +1,8 @@ -import { Request, Response } from 'express'; - -const logout = () => (req : Request, res : Response) =>{ - req.session!.destroy(() => console.log("user logged out.")); - res.redirect("/"); -} - +import { Request, Response } from 'express'; + +const logout = () => (req : Request, res : Response) =>{ + req.session!.destroy(() => console.log("user logged out.")); + res.redirect("/"); +} + export default logout; \ No newline at end of file diff --git a/src/middlewares/auth/refreshToken.ts b/src/middlewares/auth/refreshToken.ts deleted file mode 100644 index 1d857bb1..00000000 --- a/src/middlewares/auth/refreshToken.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Request, Response, NextFunction } from 'express'; -import { oauth2 } from '../../utils/auth' - -const refreshToken = () => async (req: Request, res: Response, next: NextFunction) => { - if (req.session && req.session.user) { - try{ - let accessToken = oauth2().accessToken.create(req.session.user.token); - if (accessToken.expired(Number(process.env.AUTH_TOKEN_EXPIRATION_WINDOW_IN_SECONDS))) { - req.session.user.token = await accessToken.refresh().then(accessToken => accessToken.token); - } - }catch (error) { - console.log('Error refreshing access token: ', error.message); - } - } - next(); -} - -export default refreshToken; \ No newline at end of file diff --git a/src/middlewares/news/addNews.ts b/src/middlewares/news/addNews.ts deleted file mode 100644 index 43c6437f..00000000 --- a/src/middlewares/news/addNews.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Request, Response, NextFunction } from "express"; -import News from "../../models/NewsSchema"; - -const addNews = () => { - return (req: Request, res: Response, next: NextFunction) => { - const news = new News(); - news.title = req.body.title; - news.text = req.body.text; - news.publishedAt = new Date().toDateString(); - - news.save(err => { - if (err) { - } else { - res.status(201); - res.data.newsObject = news; - } - next(); - }); - }; -}; - -export default addNews; diff --git a/src/middlewares/news/deleteNews.ts b/src/middlewares/news/deleteNews.ts deleted file mode 100644 index 7f633037..00000000 --- a/src/middlewares/news/deleteNews.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Request, Response, NextFunction } from "express"; -import News from "../../models/NewsSchema"; - -const deleteNews = () => { - return (req: Request, res: Response, next: NextFunction) => { - News.findByIdAndDelete(req.params.id, (error, result) => { - if (!error) { - res.status(204); - res.json({}); - } else { - console.warn(error); - } - }); - }; -}; - -export default deleteNews; diff --git a/src/middlewares/news/getNews.ts b/src/middlewares/news/getNews.ts deleted file mode 100644 index e48a3d6c..00000000 --- a/src/middlewares/news/getNews.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Request, Response, NextFunction } from "express"; -import News from "../../models/NewsSchema"; - -const getNews = () => { - return (req: Request, res: Response, next: NextFunction) => { - News.findById(req.params.id, (error, result) => { - if (!error) { - res.status(200); - res.data.newsObject = result; - } else { - console.warn(error); - } - next(); - }); - }; -}; - -export default getNews; diff --git a/src/middlewares/news/getNewsList.ts b/src/middlewares/news/getNewsList.ts deleted file mode 100644 index c55aa8a2..00000000 --- a/src/middlewares/news/getNewsList.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Request, Response, NextFunction } from "express"; -import News from "../../models/NewsSchema"; - -const getNewsList = () => { - return (req: Request, res: Response, next: NextFunction) => { - News.find({}, (err, news) => { - if (!err) { - res.data.news = news; - } - next(); - }); - }; -}; - -export default getNewsList; diff --git a/src/middlewares/user/addUser.ts b/src/middlewares/user/addUser.ts deleted file mode 100644 index af47ce6e..00000000 --- a/src/middlewares/user/addUser.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Request, Response, NextFunction } from 'express'; -import Profile, { Role } from "../../models/ProfileSchema"; - -const addUser = () => (req: Request, res: Response, next: NextFunction) => { - const profile = new Profile(); - - const fields = ['studentCardNumber', 'roomNumber', 'picture']; - fields.forEach(field => { - const value = req.body[field] - if(value) - profile.set(field, value); - }); - - profile.external_id = req.session!.user!.id; - profile.role = Role.User; - - profile.save(err => { - if (err) { - res.status(400); - } - else { - res.status(201); - res.data = {profile}; - } - next() - }); -} - -export default addUser; \ No newline at end of file diff --git a/src/middlewares/user/addWarning.ts b/src/middlewares/user/addWarning.ts deleted file mode 100644 index e7eae54e..00000000 --- a/src/middlewares/user/addWarning.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {Request, Response, NextFunction} from 'express'; - -const addWarning = () => (req: Request, res: Response, next: NextFunction) =>{ - res.send("Add warning"); -} - -export default addWarning; \ No newline at end of file diff --git a/src/middlewares/user/deleteUser.ts b/src/middlewares/user/deleteUser.ts deleted file mode 100644 index fe4eb181..00000000 --- a/src/middlewares/user/deleteUser.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Request, Response, NextFunction } from 'express'; -import Profile from '../../models/ProfileSchema'; - -const deletUser = () => (req: Request, res: Response, next: NextFunction) => { - Profile.findByIdAndDelete(req.params.id, (error) => { - if (error) { - res.status(400); - } else { - res.status(204); - } - next(); - }); -} - -export default deletUser; \ No newline at end of file diff --git a/src/middlewares/user/deleteWarning.ts b/src/middlewares/user/deleteWarning.ts deleted file mode 100644 index 90ca8a2d..00000000 --- a/src/middlewares/user/deleteWarning.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {Request, Response, NextFunction} from 'express'; - -const deleteWarning = () => (req: Request, res: Response, next: NextFunction) =>{ - res.send("Delete warning"); -} - -export default deleteWarning; \ No newline at end of file diff --git a/src/middlewares/user/getUser.ts b/src/middlewares/user/getUser.ts deleted file mode 100644 index 0f165ef4..00000000 --- a/src/middlewares/user/getUser.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Request, Response, NextFunction } from 'express'; -import Profile from '../../models/ProfileSchema'; - -const getUser = () => (req: Request, res: Response, next: NextFunction) => { - Profile.findById(req.params.id, (error, profile) => { - if (error) { - console.warn(error); - res.status(400); - } else { - res.status(200); - res.data = { profile }; - } - next(); - }); -} - -export default getUser; \ No newline at end of file diff --git a/src/middlewares/user/getUsersList.ts b/src/middlewares/user/getUsersList.ts deleted file mode 100644 index 5cd7a515..00000000 --- a/src/middlewares/user/getUsersList.ts +++ /dev/null @@ -1,17 +0,0 @@ -import {Request, Response, NextFunction} from 'express'; -import Profile from '../../models/ProfileSchema'; - -const getUsersList = () => (req: Request, res: Response, next: NextFunction) =>{ - Profile.find({}, (err, profiles) =>{ - if(err) { - res.status(400); - } - else{ - res.status(200); - res.data = {profiles} - } - next(); - }) -} - -export default getUsersList; \ No newline at end of file diff --git a/src/middlewares/user/getWarning.ts b/src/middlewares/user/getWarning.ts deleted file mode 100644 index d97d5d25..00000000 --- a/src/middlewares/user/getWarning.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {Request, Response, NextFunction} from 'express'; - -const getWarning = () => (req: Request, res: Response, next: NextFunction) =>{ - res.send("Get warning"); -} - -export default getWarning; \ No newline at end of file diff --git a/src/middlewares/user/getWarningsList.ts b/src/middlewares/user/getWarningsList.ts deleted file mode 100644 index c4cff031..00000000 --- a/src/middlewares/user/getWarningsList.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {Request, Response, NextFunction} from 'express'; - -const getWarningsList = () => (req: Request, res: Response, next: NextFunction) =>{ - res.send("Get warnings"); -} - -export default getWarningsList; \ No newline at end of file diff --git a/src/middlewares/user/responseUser.ts b/src/middlewares/user/responseUser.ts deleted file mode 100644 index 07d6958c..00000000 --- a/src/middlewares/user/responseUser.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Request, Response, NextFunction, response } from 'express'; - -const responseUser = () => (req: Request, res: Response) => { - res.json(res.data.profile); -} - -export default responseUser; \ No newline at end of file diff --git a/src/middlewares/user/responseUserList.ts b/src/middlewares/user/responseUserList.ts deleted file mode 100644 index 364b3c49..00000000 --- a/src/middlewares/user/responseUserList.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Request, Response, NextFunction, response } from 'express'; - -const responseUserList = () => (req: Request, res: Response) => { - res.json(res.data.profiles); -} - -export default responseUserList; \ No newline at end of file diff --git a/src/middlewares/user/updateUser.ts b/src/middlewares/user/updateUser.ts deleted file mode 100644 index 2097af52..00000000 --- a/src/middlewares/user/updateUser.ts +++ /dev/null @@ -1,29 +0,0 @@ -import {Request, Response, NextFunction} from 'express'; -import Profile from '../../models/ProfileSchema'; - -const updateUser = () => (req: Request, res: Response, next: NextFunction) => { - const validFields = ['studentCardNumber', 'roomNumber', 'picture']; - Profile.findOne( - {_id : req.params.id}, - (error, profile) => { - res.status(200); - if (error) { - res.status(400); - } - else { - if(profile){ - validFields.forEach(field => { - const value = req.body[field] - if(value) - profile.set(field, value); - }); - profile.save(); - res.data = {profile}; - } - } - next(); - } - ); -} - -export default updateUser; \ No newline at end of file diff --git a/src/middlewares/user/updateWarning.ts b/src/middlewares/user/updateWarning.ts deleted file mode 100644 index 6ff3f0be..00000000 --- a/src/middlewares/user/updateWarning.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {Request, Response, NextFunction} from 'express'; - -const updateWarning = () => (req: Request, res: Response, next: NextFunction) =>{ - res.send("Update warning"); -} - -export default updateWarning; \ No newline at end of file diff --git a/src/middlewares/utils/emptyResponse.ts b/src/middlewares/utils/emptyResponse.ts deleted file mode 100644 index db1e8cd2..00000000 --- a/src/middlewares/utils/emptyResponse.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Request, Response } from 'express'; - - - -const emptyResponse = () => (req: Request, res: Response) => res.json({}); - -export default emptyResponse; \ No newline at end of file diff --git a/src/models/.gitkeep b/src/models/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/models/NewsSchema.ts b/src/models/NewsSchema.ts deleted file mode 100644 index 36a42fe0..00000000 --- a/src/models/NewsSchema.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Document, Schema, model } from 'mongoose'; - -export interface INews extends Document { - title : string - text : string - /* author : { - // id: IUser["_id"], - userName: string, - }, - editedBy?: { - // id: IUser["_id"], - userName: string, - }, */ - publishedAt: string -} - -const NewsSchema = new Schema({ - title : { type: String, required: true }, - text : { type: String, required: true }, - /* author : { - id: { type: Schema.Types.ObjectId, required: true }, - userName: { type: String, required: true } - }, - editedBy: { - id: { type: Schema.Types.ObjectId, required: true }, - userName: { type: String, required: true } - }, */ - publishedAt: { type: String, required: true }, -}); - -export default model<INews>('News', NewsSchema); \ No newline at end of file diff --git a/src/models/ProfileSchema.ts b/src/models/ProfileSchema.ts deleted file mode 100644 index 9e1aef52..00000000 --- a/src/models/ProfileSchema.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Document, Schema, model } from 'mongoose'; -import { IWarnings, WarningSchema } from './WarningSchema'; -import { Admin } from 'mongodb'; - -export enum Role { - Admin, - Staff, - User, -} - -export interface IProfile extends Document { - external_id: string, - studentCardNumber: string, - roomNumber?: string, - picture: string, - role: Role.Admin | Role.Staff | Role.User, - email?: string, - name?: string, - warnings: [IWarnings] | [], -}; - -const ProfileSchema = new Schema({ - external_id: {type: String, required: true, unique : true, dropDups: true }, - studentCardNumber: {type: String, required: true }, - roomNumber: {type: String}, - picture: {type: String}, - role: {type: String, required: true}, - warnings: [WarningSchema] -}); - -export default model<IProfile>('Profile', ProfileSchema); \ No newline at end of file diff --git a/src/models/WarningSchema.ts b/src/models/WarningSchema.ts deleted file mode 100644 index 8eec29a2..00000000 --- a/src/models/WarningSchema.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Schema } from 'mongoose'; - -export interface IWarnings extends Document{ - text: string, - date: Date, - given_by: { - _id: string, - name: string, - } -} - -export const WarningSchema = new Schema({ - text: {type: String, required: true}, - date: {type: Date, required: true}, - given_by: {required: true, type: { - _id: {type: String, required: true}, - name: {String, required: true}, - }} -}); diff --git a/src/models/user.interface.ts b/src/models/user.interface.ts deleted file mode 100644 index 50df6043..00000000 --- a/src/models/user.interface.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Token } from "simple-oauth2"; - -export interface User{ - email: string, - name: string, - id: string, - token: Token, -} \ No newline at end of file diff --git a/src/routes/.gitkeep b/src/routes/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/routes/auth.ts b/src/routes/auth.ts index a11e4dcb..b930250f 100644 --- a/src/routes/auth.ts +++ b/src/routes/auth.ts @@ -2,9 +2,9 @@ import { Application } from 'express'; import login from '../middlewares/auth/login'; import complete from '../middlewares/auth/complete'; import logout from '../middlewares/auth/logout'; -import authenticated from '../middlewares/auth/authenticated'; +import authenticated from '../middlewares/auth/authenticated' - const authRoute = (app: Application): void => { + const authRout = (app: Application): void => { app.get('/login', login() ); app.get('/complete', complete() ); @@ -12,4 +12,4 @@ import authenticated from '../middlewares/auth/authenticated'; app.get('/logout', authenticated(), logout() ); } -export default authRoute; \ No newline at end of file +export default authRout; \ No newline at end of file diff --git a/src/routes/news.ts b/src/routes/news.ts deleted file mode 100644 index a2a54bf1..00000000 --- a/src/routes/news.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Application, Response } from "express"; -import getNewsListMiddleware from "../middlewares/news/getNewsList"; -import addNews from "../middlewares/news/addNews"; -import getNews from "../middlewares/news/getNews"; -import deleteNews from "../middlewares/news/deleteNews"; - -export default (app: Application): void => { - app.get("/news", getNewsListMiddleware(), (req, res: Response) => { - if (res.data.news) { - res.json(res.data.news); - } else { - throw Error("Cant get the news list"); - } - }); - - app.post("/news", addNews(), (req, res: Response) => { - if (res.data.newsObject) { - res.json(res.data.newsObject); - } else { - throw Error("Cant add news"); - } - }); - - app.get("/news/:id", getNews(), (req, res: Response) => { - if (res.data.newsObject) { - res.json(res.data.newsObject); - } else { - throw Error("Cant get the news"); - } - }); - - app.post("/news/:id"); - - app.delete("/news/:id", deleteNews()); -}; diff --git a/src/routes/user.ts b/src/routes/user.ts deleted file mode 100644 index 4baef2cc..00000000 --- a/src/routes/user.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Application } from 'express'; -import addWarning from "../middlewares/user/addWarning"; -import deleteUser from "../middlewares/user/deleteUser"; -import deleteWarning from "../middlewares/user/deleteWarning"; -import getUser from "../middlewares/user/getUser"; -import getUsersList from "../middlewares/user/getUsersList"; -import getWarning from "../middlewares/user/getWarning"; -import getWarningsList from "../middlewares/user/getWarningsList"; -import updateUser from "../middlewares/user/updateUser"; -import updateWarning from "../middlewares/user/updateWarning"; -import addUser from '../middlewares/user/addUser'; -import authenticated from '../middlewares/auth/authenticated'; -import emptyResponse from '../middlewares/utils/emptyResponse'; -import responseUser from '../middlewares/user/responseUser'; -import responseUserList from '../middlewares/user/responseUserList'; - - - - const usersRoute = (app: Application): void => { - app.get('/users', authenticated(), getUsersList(), responseUserList()); - - app.post('/users', authenticated(), addUser(), responseUser()); - - app.get('/users/:id', getUser(), responseUser() ); - - app.get('/users/:id/warnings', getWarningsList() ); - - app.get('/users/:userId/warnings/:warningId', getWarning() ); - - app.post('/users/:id/warnings', addWarning()); - - app.put('/users/:id', updateUser(), responseUser() ); - - app.put('/users/:userId/warnings/:warningId', updateWarning()); - - app.delete('/users/:id', deleteUser(), emptyResponse()); - - app.delete('/users/:userId/warnings/:warningId', deleteWarning()); -} - -export default usersRoute; \ No newline at end of file diff --git a/src/utils/.gitkeep b/src/utils/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/utils/declarations/request.d.ts b/src/utils/declarations/request.d.ts deleted file mode 100644 index 5875527d..00000000 --- a/src/utils/declarations/request.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare namespace Express { - export interface Request {} -} diff --git a/src/utils/declarations/response.d.ts b/src/utils/declarations/response.d.ts deleted file mode 100644 index 6d004f4f..00000000 --- a/src/utils/declarations/response.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { INews } from "../../models/NewsSchema"; -import { IProfile } from "src/models/ProfileSchema"; - -declare global { - namespace Express { - export interface Response { - data: { - news?: INews[] | null; - newsObject?: INews | null; - profile?: IProfile | null; - profiles?: IProfile[] | null; - }; - } - } -} diff --git a/src/utils/declarations/session.d.ts b/src/utils/declarations/session.d.ts deleted file mode 100644 index 70023005..00000000 --- a/src/utils/declarations/session.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { AccessToken } from "simple-oauth2"; -import { User } from 'src/models/user.interface'; - -declare global { - namespace Express { - export interface Session { - user: User | null; - } - } -} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 8b2d8538..f745dd84 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,4 @@ { - "files": [ - "./src/utils/declarations/response.d.ts", - "./src/utils/declarations/request.d.ts", - "./src/utils/declarations/session.d.ts", - ], "compilerOptions": { "module": "commonjs", "strict": true, -- GitLab