From 3e22cafd77fd76c55bd66a1afb0f9d0dab186686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20L=C3=A1szl=C3=B3?= <rlacko99@gmail.com> Date: Tue, 5 Jan 2021 17:11:25 +0100 Subject: [PATCH] better sort imports, fix dotenv problem, add files api plan --- package-lock.json | 32 ++----- package.json | 2 +- src/index.ts | 8 +- src/middlewares/auth/complete.ts | 6 +- src/middlewares/auth/isAdmin.ts | 1 + src/middlewares/auth/login.ts | 5 +- src/middlewares/auth/refreshToken.ts | 1 + src/middlewares/files/card/getUserCard.ts | 3 +- .../files/card/responseCardImage.ts | 1 + src/middlewares/files/card/uploadCardImage.ts | 3 +- src/middlewares/files/createFile.ts | 5 +- src/middlewares/files/deleteFile.ts | 3 +- src/middlewares/files/imageFilter.ts | 2 +- src/middlewares/files/sendFile.ts | 3 +- src/middlewares/files/updateTermCardBg.ts | 3 +- src/middlewares/news/addNews.ts | 3 +- src/middlewares/news/deleteNews.ts | 1 + src/middlewares/news/getNewsList.ts | 1 + src/middlewares/news/getOneNews.ts | 1 + src/middlewares/news/updateNews.ts | 2 +- src/middlewares/term/addMember.ts | 3 +- src/middlewares/term/addTerm.ts | 1 + src/middlewares/term/deleteTerm.ts | 1 + src/middlewares/term/filterMembersByState.ts | 1 + src/middlewares/term/getTerm.ts | 1 + src/middlewares/term/getTermMembers.ts | 1 + src/middlewares/term/getTermsList.ts | 1 + .../term/getUserTermMemberships.ts | 1 + src/middlewares/user/acceptPicture.ts | 1 + src/middlewares/user/deleteUser.ts | 1 + src/middlewares/user/getUser.ts | 1 + src/middlewares/user/getUsersList.ts | 3 +- .../user/notice/addNoticeToUser.ts | 3 +- src/middlewares/user/notice/deleteNotice.ts | 1 + .../user/notice/getUserNoticeNum.ts | 1 + src/middlewares/user/notice/getUserNotices.ts | 1 + .../user/notice/markNoticeAsSeen.ts | 1 + src/middlewares/user/registerOwnUser.ts | 1 + src/middlewares/user/rejectPicture.ts | 1 + src/middlewares/user/warning/addWarning.ts | 3 +- src/middlewares/user/warning/deleteWarning.ts | 1 + .../user/warning/getUserWarningsList.ts | 1 + src/middlewares/utils/validateFields.ts | 2 +- src/models/CounterSchema.ts | 2 +- src/models/FileSchema.ts | 2 +- src/models/NewsSchema.ts | 2 +- src/models/ProfileSchema.ts | 2 +- src/models/TermSchema.ts | 2 +- src/models/user.interface.ts | 2 +- src/routes/files.ts | 83 ++++++++++++++----- src/routes/news.ts | 8 +- src/routes/setErrorHandler.ts | 3 +- src/routes/setRouters.ts | 6 +- src/routes/terms.ts | 18 ++-- src/routes/users/membership.ts | 2 +- src/routes/users/notice.ts | 6 +- src/routes/users/user.ts | 20 ++--- src/routes/users/warning.ts | 8 +- 58 files changed, 176 insertions(+), 108 deletions(-) diff --git a/package-lock.json b/package-lock.json index ee8a43b8..cb959ebd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1253,11 +1253,11 @@ "dev": true }, "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { - "follow-redirects": "1.5.10" + "follow-redirects": "^1.10.0" } }, "babel-jest": { @@ -2640,27 +2640,9 @@ } }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" }, "for-in": { "version": "1.0.2", diff --git a/package.json b/package.json index 1461ed00..c0674e34 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dependencies": { "@types/express-session": "^1.17.3", "@types/simple-oauth2": "^2.5.4", - "axios": "^0.19.2", + "axios": "^0.21.1", "body-parser": "^1.19.0", "dotenv": "^8.2.0", "express": "^4.17.1", diff --git a/src/index.ts b/src/index.ts index 270ff0cf..6d24c07a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,10 +1,12 @@ -import bodyParser from "body-parser"; +import "./utils/env"; + import express, { Application, NextFunction, Request, Response } from "express"; + +import bodyParser from "body-parser"; import expressSession from "express-session"; import mongoose from "mongoose"; import morgan from "morgan"; -import { setRouters } from "./routes/setRouters"; -import "./utils/env"; +import setRouters from "./routes/setRouters"; mongoose .connect("mongodb://localhost:27017/bodysch", { diff --git a/src/middlewares/auth/complete.ts b/src/middlewares/auth/complete.ts index fdb80989..a8b1364c 100644 --- a/src/middlewares/auth/complete.ts +++ b/src/middlewares/auth/complete.ts @@ -1,9 +1,9 @@ -import axios from "axios"; import { NextFunction, Request, Response } from "express"; -import Profile from "../../models/ProfileSchema"; import { oauth2, scope } from "../../utils/auth"; -import { authschResponse } from "../../utils/types/authschResponse"; +import Profile from "../../models/ProfileSchema"; +import { authschResponse } from "../../utils/types/authschResponse"; +import axios from "axios"; /** * Called after authentication. diff --git a/src/middlewares/auth/isAdmin.ts b/src/middlewares/auth/isAdmin.ts index 403ca9ff..b1b58d95 100644 --- a/src/middlewares/auth/isAdmin.ts +++ b/src/middlewares/auth/isAdmin.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import { Role } from "../../models/ProfileSchema"; /** diff --git a/src/middlewares/auth/login.ts b/src/middlewares/auth/login.ts index 15fad1eb..a9158a25 100644 --- a/src/middlewares/auth/login.ts +++ b/src/middlewares/auth/login.ts @@ -8,7 +8,10 @@ const authorizationUri = oauth2().authorizationCode.authorizeURL({ /** * Redirects to the authorization URL */ -const login = () => (req: Request, res: Response) => +const login = () => (req: Request, res: Response) => { + console.log(authorizationUri); + console.log(process.env.AUTH_ID); res.redirect(authorizationUri); +}; export default login; diff --git a/src/middlewares/auth/refreshToken.ts b/src/middlewares/auth/refreshToken.ts index 97c8a661..bc7303be 100644 --- a/src/middlewares/auth/refreshToken.ts +++ b/src/middlewares/auth/refreshToken.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import { oauth2 } from "../../utils/auth"; /** diff --git a/src/middlewares/files/card/getUserCard.ts b/src/middlewares/files/card/getUserCard.ts index 05bff3eb..e1e35121 100644 --- a/src/middlewares/files/card/getUserCard.ts +++ b/src/middlewares/files/card/getUserCard.ts @@ -1,7 +1,8 @@ import { NextFunction, Request, Response } from "express"; -import fs from "fs"; + import Card from "../../../models/CardSchema"; import File from "../../../models/FileSchema"; +import fs from "fs"; /** * Generate Entry card svg from Users data and card diff --git a/src/middlewares/files/card/responseCardImage.ts b/src/middlewares/files/card/responseCardImage.ts index 88bb1149..a5a52bb2 100644 --- a/src/middlewares/files/card/responseCardImage.ts +++ b/src/middlewares/files/card/responseCardImage.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import File from "../../../models/FileSchema"; /** diff --git a/src/middlewares/files/card/uploadCardImage.ts b/src/middlewares/files/card/uploadCardImage.ts index 6283f8a7..10fe5b55 100644 --- a/src/middlewares/files/card/uploadCardImage.ts +++ b/src/middlewares/files/card/uploadCardImage.ts @@ -1,7 +1,8 @@ import { NextFunction, Request, Response } from "express"; -import fs from "fs"; + import CardImage from "../../../models/CardImageSchema"; import File from "../../../models/FileSchema"; +import fs from "fs"; /** * Upload a new Card background Image diff --git a/src/middlewares/files/createFile.ts b/src/middlewares/files/createFile.ts index d780aa7d..7f46cc14 100644 --- a/src/middlewares/files/createFile.ts +++ b/src/middlewares/files/createFile.ts @@ -1,7 +1,8 @@ import { NextFunction, Request, Response } from "express"; -import fs from "fs"; -import File from "../../models/FileSchema"; + import { ErrorHandler } from "../utils/ErrorHandler"; +import File from "../../models/FileSchema"; +import fs from "fs"; /** * Upload a new profile picture diff --git a/src/middlewares/files/deleteFile.ts b/src/middlewares/files/deleteFile.ts index 97f42310..e1965145 100644 --- a/src/middlewares/files/deleteFile.ts +++ b/src/middlewares/files/deleteFile.ts @@ -1,6 +1,7 @@ import { NextFunction, Request, Response } from "express"; -import fs from "fs"; + import File from "../../models/FileSchema"; +import fs from "fs"; /** * Deletes the file if exists. Careful, doesn't remove reference! diff --git a/src/middlewares/files/imageFilter.ts b/src/middlewares/files/imageFilter.ts index 6fa72dd6..4e5d8885 100644 --- a/src/middlewares/files/imageFilter.ts +++ b/src/middlewares/files/imageFilter.ts @@ -1,5 +1,5 @@ -import { FileFilterCallback } from "multer"; import { ErrorHandler } from "../utils/ErrorHandler"; +import { FileFilterCallback } from "multer"; /** * multer imageFilter that only lets png or jpeg to be uploaded diff --git a/src/middlewares/files/sendFile.ts b/src/middlewares/files/sendFile.ts index 9ca90e36..4103093f 100644 --- a/src/middlewares/files/sendFile.ts +++ b/src/middlewares/files/sendFile.ts @@ -1,6 +1,7 @@ import { NextFunction, Request, Response } from "express"; -import File from "../../models/FileSchema"; + import { ErrorHandler } from "../utils/ErrorHandler"; +import File from "../../models/FileSchema"; /** * Return the file with id = res.data.value diff --git a/src/middlewares/files/updateTermCardBg.ts b/src/middlewares/files/updateTermCardBg.ts index 882046d5..0872f1e0 100644 --- a/src/middlewares/files/updateTermCardBg.ts +++ b/src/middlewares/files/updateTermCardBg.ts @@ -1,7 +1,8 @@ import { NextFunction, Request, Response } from "express"; -import fs from "fs"; + import File from "../../models/FileSchema"; import Term from "../../models/TermSchema"; +import fs from "fs"; /** * Upload a new profile picture diff --git a/src/middlewares/news/addNews.ts b/src/middlewares/news/addNews.ts index b2095a86..f41e11dd 100644 --- a/src/middlewares/news/addNews.ts +++ b/src/middlewares/news/addNews.ts @@ -1,5 +1,6 @@ -import { NextFunction, Request, Response } from "express"; import News, { INews } from "../../models/NewsSchema"; +import { NextFunction, Request, Response } from "express"; + import { validateFields } from "../utils/validateFields"; /** diff --git a/src/middlewares/news/deleteNews.ts b/src/middlewares/news/deleteNews.ts index 6ac7e621..e9925c9a 100644 --- a/src/middlewares/news/deleteNews.ts +++ b/src/middlewares/news/deleteNews.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import News from "../../models/NewsSchema"; const deleteNews = () => async ( diff --git a/src/middlewares/news/getNewsList.ts b/src/middlewares/news/getNewsList.ts index fc9a7ff3..9e1f1f88 100644 --- a/src/middlewares/news/getNewsList.ts +++ b/src/middlewares/news/getNewsList.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import News from "../../models/NewsSchema"; /** diff --git a/src/middlewares/news/getOneNews.ts b/src/middlewares/news/getOneNews.ts index 36c0e4c9..7de7cbfc 100644 --- a/src/middlewares/news/getOneNews.ts +++ b/src/middlewares/news/getOneNews.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import News from "../../models/NewsSchema"; /** diff --git a/src/middlewares/news/updateNews.ts b/src/middlewares/news/updateNews.ts index 1191321f..156491e8 100644 --- a/src/middlewares/news/updateNews.ts +++ b/src/middlewares/news/updateNews.ts @@ -1,5 +1,5 @@ -import { NextFunction, Request, Response } from "express"; import News, { INews } from "../../models/NewsSchema"; +import { NextFunction, Request, Response } from "express"; /** * Update a News Object diff --git a/src/middlewares/term/addMember.ts b/src/middlewares/term/addMember.ts index 65a82453..e5f86027 100644 --- a/src/middlewares/term/addMember.ts +++ b/src/middlewares/term/addMember.ts @@ -1,7 +1,8 @@ import { NextFunction, Request, Response } from "express"; -import Counter from "../../models/CounterSchema"; import Term, { CardState, IMember, MemberState } from "../../models/TermSchema"; +import Counter from "../../models/CounterSchema"; + /** * Add a new Term */ diff --git a/src/middlewares/term/addTerm.ts b/src/middlewares/term/addTerm.ts index 550ca563..26676ad0 100644 --- a/src/middlewares/term/addTerm.ts +++ b/src/middlewares/term/addTerm.ts @@ -1,5 +1,6 @@ import { NextFunction, Request, Response } from "express"; import Term, { ITerm } from "../../models/TermSchema"; + import { validateFields } from "../utils/validateFields"; /** diff --git a/src/middlewares/term/deleteTerm.ts b/src/middlewares/term/deleteTerm.ts index 6cd779f1..95e4a942 100644 --- a/src/middlewares/term/deleteTerm.ts +++ b/src/middlewares/term/deleteTerm.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import File from "../../models/FileSchema"; import Term from "../../models/TermSchema"; diff --git a/src/middlewares/term/filterMembersByState.ts b/src/middlewares/term/filterMembersByState.ts index 2755309d..ec2d580d 100644 --- a/src/middlewares/term/filterMembersByState.ts +++ b/src/middlewares/term/filterMembersByState.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import { MemberState } from "../../models/TermSchema"; const convertState = (state: string) => { diff --git a/src/middlewares/term/getTerm.ts b/src/middlewares/term/getTerm.ts index 48881be1..31ce1163 100644 --- a/src/middlewares/term/getTerm.ts +++ b/src/middlewares/term/getTerm.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Term from "../../models/TermSchema"; /** diff --git a/src/middlewares/term/getTermMembers.ts b/src/middlewares/term/getTermMembers.ts index bad9dfb3..79ffe98c 100644 --- a/src/middlewares/term/getTermMembers.ts +++ b/src/middlewares/term/getTermMembers.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Term from "../../models/TermSchema"; const getTermMembers = () => async ( diff --git a/src/middlewares/term/getTermsList.ts b/src/middlewares/term/getTermsList.ts index c2bcb2eb..430e87d9 100644 --- a/src/middlewares/term/getTermsList.ts +++ b/src/middlewares/term/getTermsList.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Term from "../../models/TermSchema"; /** diff --git a/src/middlewares/term/getUserTermMemberships.ts b/src/middlewares/term/getUserTermMemberships.ts index 57f0693e..49868f37 100644 --- a/src/middlewares/term/getUserTermMemberships.ts +++ b/src/middlewares/term/getUserTermMemberships.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Term from "../../models/TermSchema"; const getUserTermMemberships = () => async ( diff --git a/src/middlewares/user/acceptPicture.ts b/src/middlewares/user/acceptPicture.ts index 44d62423..15d8bf05 100644 --- a/src/middlewares/user/acceptPicture.ts +++ b/src/middlewares/user/acceptPicture.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../models/ProfileSchema"; /** diff --git a/src/middlewares/user/deleteUser.ts b/src/middlewares/user/deleteUser.ts index 6cecb1da..460cb038 100644 --- a/src/middlewares/user/deleteUser.ts +++ b/src/middlewares/user/deleteUser.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../models/ProfileSchema"; /** diff --git a/src/middlewares/user/getUser.ts b/src/middlewares/user/getUser.ts index 164483d5..de494e0f 100644 --- a/src/middlewares/user/getUser.ts +++ b/src/middlewares/user/getUser.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../models/ProfileSchema"; /** diff --git a/src/middlewares/user/getUsersList.ts b/src/middlewares/user/getUsersList.ts index 57dd0f06..2761145c 100644 --- a/src/middlewares/user/getUsersList.ts +++ b/src/middlewares/user/getUsersList.ts @@ -1,7 +1,8 @@ import { NextFunction, Request, Response } from "express"; -import { FilterQuery } from "mongoose"; import Profile, { IProfile } from "../../models/ProfileSchema"; +import { FilterQuery } from "mongoose"; + /** * -> All Profiles to res.data.profiles */ diff --git a/src/middlewares/user/notice/addNoticeToUser.ts b/src/middlewares/user/notice/addNoticeToUser.ts index 77776b1e..0d46e29e 100644 --- a/src/middlewares/user/notice/addNoticeToUser.ts +++ b/src/middlewares/user/notice/addNoticeToUser.ts @@ -1,6 +1,7 @@ import { NextFunction, Request, Response } from "express"; -import { Types } from "mongoose"; import Profile, { INotice } from "../../../models/ProfileSchema"; + +import { Types } from "mongoose"; import { validateFields } from "../../utils/validateFields"; const addNoticeToUser = ( diff --git a/src/middlewares/user/notice/deleteNotice.ts b/src/middlewares/user/notice/deleteNotice.ts index 3a2e3163..a820add2 100644 --- a/src/middlewares/user/notice/deleteNotice.ts +++ b/src/middlewares/user/notice/deleteNotice.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../../models/ProfileSchema"; const deleteNotice = () => async ( diff --git a/src/middlewares/user/notice/getUserNoticeNum.ts b/src/middlewares/user/notice/getUserNoticeNum.ts index 7209076b..51616818 100644 --- a/src/middlewares/user/notice/getUserNoticeNum.ts +++ b/src/middlewares/user/notice/getUserNoticeNum.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../../models/ProfileSchema"; const getUserNoticeNum = () => async ( diff --git a/src/middlewares/user/notice/getUserNotices.ts b/src/middlewares/user/notice/getUserNotices.ts index a3b6d457..5907fe27 100644 --- a/src/middlewares/user/notice/getUserNotices.ts +++ b/src/middlewares/user/notice/getUserNotices.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../../models/ProfileSchema"; const getUserNotices = () => async ( diff --git a/src/middlewares/user/notice/markNoticeAsSeen.ts b/src/middlewares/user/notice/markNoticeAsSeen.ts index bd6c1f8c..fd322d07 100644 --- a/src/middlewares/user/notice/markNoticeAsSeen.ts +++ b/src/middlewares/user/notice/markNoticeAsSeen.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../../models/ProfileSchema"; const markNoticeAsSeen = () => async ( diff --git a/src/middlewares/user/registerOwnUser.ts b/src/middlewares/user/registerOwnUser.ts index 16cabc35..0cb88f89 100644 --- a/src/middlewares/user/registerOwnUser.ts +++ b/src/middlewares/user/registerOwnUser.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../models/ProfileSchema"; import { validateFields } from "../utils/validateFields"; diff --git a/src/middlewares/user/rejectPicture.ts b/src/middlewares/user/rejectPicture.ts index b788dff9..22202962 100644 --- a/src/middlewares/user/rejectPicture.ts +++ b/src/middlewares/user/rejectPicture.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../models/ProfileSchema"; /** diff --git a/src/middlewares/user/warning/addWarning.ts b/src/middlewares/user/warning/addWarning.ts index 0cfdd33d..a9b98589 100644 --- a/src/middlewares/user/warning/addWarning.ts +++ b/src/middlewares/user/warning/addWarning.ts @@ -1,6 +1,7 @@ import { NextFunction, Request, Response } from "express"; -import { Types } from "mongoose"; import Profile, { IWarning } from "../../../models/ProfileSchema"; + +import { Types } from "mongoose"; import { validateFields } from "../../utils/validateFields"; const addWarning = ( diff --git a/src/middlewares/user/warning/deleteWarning.ts b/src/middlewares/user/warning/deleteWarning.ts index e51b071c..49d613be 100644 --- a/src/middlewares/user/warning/deleteWarning.ts +++ b/src/middlewares/user/warning/deleteWarning.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../../models/ProfileSchema"; const deleteWarning = () => async ( diff --git a/src/middlewares/user/warning/getUserWarningsList.ts b/src/middlewares/user/warning/getUserWarningsList.ts index 8ad40428..80945dc6 100644 --- a/src/middlewares/user/warning/getUserWarningsList.ts +++ b/src/middlewares/user/warning/getUserWarningsList.ts @@ -1,4 +1,5 @@ import { NextFunction, Request, Response } from "express"; + import Profile from "../../../models/ProfileSchema"; const getUserWarnings = () => async ( diff --git a/src/middlewares/utils/validateFields.ts b/src/middlewares/utils/validateFields.ts index 0b0d9214..97700272 100644 --- a/src/middlewares/utils/validateFields.ts +++ b/src/middlewares/utils/validateFields.ts @@ -1,5 +1,5 @@ -import { Request } from "express"; import { ErrorHandler } from "./ErrorHandler"; +import { Request } from "express"; interface IValidateFields { fields: { diff --git a/src/models/CounterSchema.ts b/src/models/CounterSchema.ts index 0a2d4d7a..40a88964 100644 --- a/src/models/CounterSchema.ts +++ b/src/models/CounterSchema.ts @@ -1,4 +1,4 @@ -import { Document, model, Schema } from "mongoose"; +import { Document, Schema, model } from "mongoose"; export interface ICounter extends Document { _id: string; diff --git a/src/models/FileSchema.ts b/src/models/FileSchema.ts index 020c7b14..268514c6 100644 --- a/src/models/FileSchema.ts +++ b/src/models/FileSchema.ts @@ -1,4 +1,4 @@ -import { Document, model, Schema } from "mongoose"; +import { Document, Schema, model } from "mongoose"; export interface IFile extends Document { path: string; diff --git a/src/models/NewsSchema.ts b/src/models/NewsSchema.ts index adec5e6f..72d32c23 100644 --- a/src/models/NewsSchema.ts +++ b/src/models/NewsSchema.ts @@ -1,4 +1,4 @@ -import { Document, model, Schema } from "mongoose"; +import { Document, Schema, model } from "mongoose"; export interface INews extends Document { title: string; diff --git a/src/models/ProfileSchema.ts b/src/models/ProfileSchema.ts index 8aa926f3..011a4a4d 100644 --- a/src/models/ProfileSchema.ts +++ b/src/models/ProfileSchema.ts @@ -1,4 +1,4 @@ -import { Document, model, Schema } from "mongoose"; +import { Document, Schema, model } from "mongoose"; export enum Role { Admin = "ADMIN", diff --git a/src/models/TermSchema.ts b/src/models/TermSchema.ts index 3b1367cb..a71858c1 100644 --- a/src/models/TermSchema.ts +++ b/src/models/TermSchema.ts @@ -1,4 +1,4 @@ -import { Document, model, Schema } from "mongoose"; +import { Document, Schema, model } from "mongoose"; export enum MemberState { Accepted = "ACCEPTED", diff --git a/src/models/user.interface.ts b/src/models/user.interface.ts index 51a8e7b1..2981e326 100644 --- a/src/models/user.interface.ts +++ b/src/models/user.interface.ts @@ -1,5 +1,5 @@ -import { Token } from "simple-oauth2"; import { Role } from "./ProfileSchema"; +import { Token } from "simple-oauth2"; export interface User { email: string; diff --git a/src/routes/files.ts b/src/routes/files.ts index f548cc2b..e9d0591a 100644 --- a/src/routes/files.ts +++ b/src/routes/files.ts @@ -1,19 +1,19 @@ import { Application } from "express"; -import multer from "multer"; -import isAdmin from "../middlewares/auth/isAdmin"; -import isRegistered from "../middlewares/auth/isRegistered"; -import example from "../middlewares/example"; import createFile from "../middlewares/files/createFile"; +import createdResponse from "../middlewares/utils/createdResponse"; +import example from "../middlewares/example"; +import getFieldValue from "../middlewares/utils/getFieldValue"; +import getTerm from "../middlewares/term/getTerm"; +import getUser from "../middlewares/user/getUser"; import { imageFilter } from "../middlewares/files/imageFilter"; import { imageStorage } from "../middlewares/files/imageStorage"; +import isAdmin from "../middlewares/auth/isAdmin"; +import isRegistered from "../middlewares/auth/isRegistered"; +import multer from "multer"; import sendFile from "../middlewares/files/sendFile"; +import setOwnUserId from "../middlewares/user/setOwnUserId"; import updateProfilePicture from "../middlewares/files/updateProfilePicture"; import updateTermCardBg from "../middlewares/files/updateTermCardBg"; -import getTerm from "../middlewares/term/getTerm"; -import getUser from "../middlewares/user/getUser"; -import setOwnUserId from "../middlewares/user/setOwnUserId"; -import createdResponse from "../middlewares/utils/createdResponse"; -import getFieldValue from "../middlewares/utils/getFieldValue"; const profilePictureUpload = multer({ storage: imageStorage("uploads/profile_pictures/"), @@ -25,19 +25,62 @@ const CardImageUpload = multer({ fileFilter: imageFilter, }); -// GetOwnPicture -// GetOwnAcceptedPicture -// GetUserPicture (userId) -// GetUserAcceptedPicture (userId) -// UploadOwnPicture -// Get Staff Member Picture (userId) -// Get User Accepted Picture (id) -// Get Card SVG (userId, termId) -// UpdateTermCardImage (termId) -// Get Term Card Image (termId) -// Future: OwnTermCardPreview(termId) +// TODO in Future: OwnTermCardPreview(termId) const filesRoute = (prefix: string, app: Application): void => { + /** + * Get Own New Profile picture + * Role: Normal + */ + app.get( + `${prefix}/me/picture/new`, + isRegistered(), + setOwnUserId(), + getUser("_id newPicture"), + getFieldValue("profile", "newPicture"), + sendFile() + ); + /** + * Get Own Accepted Profile picture + * Role: Normal + */ + app.get(`${prefix}/me/picture/accepted`, example()); + /** + * Get a Users New Profile picture + * Role: Admin + */ + app.get(`${prefix}/user/:userId/picture/new`, example()); + /** + * Get a Users Accepted Profile picture + * Role: Admin + */ + app.get(`${prefix}/user/:userId/picture/accepted`, example()); + /** + * Upload Own New Profile picture + * Role: Normal + */ + app.post(`${prefix}/me/picture/new`, example()); + /** + * Get Staff members picture + * Role: Normal + */ + app.get(`${prefix}/staff/:userId/picture`, example()); + /** + * Get Card SVG of User + * Role: Admin + */ + app.get(`${prefix}/term/:termId/user/:userId/card`, example()); + /** + * Get Term Card Image + * Role: Admin + */ + app.get(`${prefix}/term/:termId/card`, example()); + /** + * Upload Term Card Image + * Role: Admin + */ + app.post(`${prefix}/term/:termId/card`, example()); + // Get a users profile picture app.get( `${prefix}/user/:userId/picture`, diff --git a/src/routes/news.ts b/src/routes/news.ts index 2ff0944c..77fb7aa8 100644 --- a/src/routes/news.ts +++ b/src/routes/news.ts @@ -1,15 +1,15 @@ import { Application } from "express"; -import isAdmin from "../middlewares/auth/isAdmin"; -import isRegistered from "../middlewares/auth/isRegistered"; import addNews from "../middlewares/news/addNews"; +import createdResponse from "../middlewares/utils/createdResponse"; import deleteNews from "../middlewares/news/deleteNews"; import getNewsList from "../middlewares/news/getNewsList"; import getOneNews from "../middlewares/news/getOneNews"; +import isAdmin from "../middlewares/auth/isAdmin"; +import isRegistered from "../middlewares/auth/isRegistered"; +import noContentResponse from "../middlewares/utils/noContentResponse"; import responseNews from "../middlewares/news/responseNews"; import responseOneNews from "../middlewares/news/responseOneNews"; import updateNews from "../middlewares/news/updateNews"; -import createdResponse from "../middlewares/utils/createdResponse"; -import noContentResponse from "../middlewares/utils/noContentResponse"; const newsRoute = (prefix: string, app: Application): void => { /** diff --git a/src/routes/setErrorHandler.ts b/src/routes/setErrorHandler.ts index e3c43f96..00f4f365 100644 --- a/src/routes/setErrorHandler.ts +++ b/src/routes/setErrorHandler.ts @@ -1,7 +1,8 @@ import { Application, NextFunction, Request, Response } from "express"; +import { ErrorHandler, handleError } from "../middlewares/utils/ErrorHandler"; + import { Error as MongooseError } from "mongoose"; import multer from "multer"; -import { ErrorHandler, handleError } from "../middlewares/utils/ErrorHandler"; const setErrorHandler = (app: Application): void => { app.use((err: any, req: Request, res: Response, next: NextFunction) => { diff --git a/src/routes/setRouters.ts b/src/routes/setRouters.ts index 50d46c61..e7032938 100644 --- a/src/routes/setRouters.ts +++ b/src/routes/setRouters.ts @@ -6,12 +6,12 @@ import setErrorHandler from "./setErrorHandler"; import termsRoute from "./terms"; import userMembershipRoute from "./users/membership"; import userNotificeRoute from "./users/notice"; -import usersRoute from "./users/user"; import userWarningsRoute from "./users/warning"; +import usersRoute from "./users/user"; const prefix = "/api/v1"; -export const setRouters = (app: Application): void => { +const setRouters = (app: Application): void => { authRoute(prefix, app); filesRoute(`${prefix}/files`, app); @@ -27,3 +27,5 @@ export const setRouters = (app: Application): void => { setErrorHandler(app); }; + +export default setRouters; diff --git a/src/routes/terms.ts b/src/routes/terms.ts index 3c3d4385..8a22bf5a 100644 --- a/src/routes/terms.ts +++ b/src/routes/terms.ts @@ -1,25 +1,25 @@ import { Application } from "express"; -import isAdmin from "../middlewares/auth/isAdmin"; -import isRegistered from "../middlewares/auth/isRegistered"; -import deleteFile from "../middlewares/files/deleteFile"; import addMember from "../middlewares/term/addMember"; import addTerm from "../middlewares/term/addTerm"; +import createdEmptyResponse from "../middlewares/utils/createdEmptyResponse"; +import createdResponse from "../middlewares/utils/createdResponse"; +import deleteFile from "../middlewares/files/deleteFile"; import deleteTerm from "../middlewares/term/deleteTerm"; +import getFieldValue from "../middlewares/utils/getFieldValue"; import getTerm from "../middlewares/term/getTerm"; import getTermMembers from "../middlewares/term/getTermMembers"; import getTermsList from "../middlewares/term/getTermsList"; +import getUser from "../middlewares/user/getUser"; +import isAdmin from "../middlewares/auth/isAdmin"; import isNotMember from "../middlewares/term/isNotMember"; +import isRegistered from "../middlewares/auth/isRegistered"; +import noContentResponse from "../middlewares/utils/noContentResponse"; import responseMembersList from "../middlewares/term/responseMembersList"; import responseTerm from "../middlewares/term/responseTerm"; import responseTermsList from "../middlewares/term/responseTermsList"; +import setOwnUserId from "../middlewares/user/setOwnUserId"; import updateTerm from "../middlewares/term/updateTerm"; import updateTermMember from "../middlewares/term/updateTermMember"; -import getUser from "../middlewares/user/getUser"; -import setOwnUserId from "../middlewares/user/setOwnUserId"; -import createdEmptyResponse from "../middlewares/utils/createdEmptyResponse"; -import createdResponse from "../middlewares/utils/createdResponse"; -import getFieldValue from "../middlewares/utils/getFieldValue"; -import noContentResponse from "../middlewares/utils/noContentResponse"; const termsRoute = (prefix: string, app: Application): void => { /** diff --git a/src/routes/users/membership.ts b/src/routes/users/membership.ts index df9242fd..0a57b9d1 100644 --- a/src/routes/users/membership.ts +++ b/src/routes/users/membership.ts @@ -1,7 +1,7 @@ import { Application } from "express"; +import getUserTermMemberships from "../../middlewares/term/getUserTermMemberships"; import isAdmin from "../../middlewares/auth/isAdmin"; import isRegistered from "../../middlewares/auth/isRegistered"; -import getUserTermMemberships from "../../middlewares/term/getUserTermMemberships"; import responseTermsList from "../../middlewares/term/responseTermsList"; import setOwnUserId from "../../middlewares/user/setOwnUserId"; diff --git a/src/routes/users/notice.ts b/src/routes/users/notice.ts index 607a7770..a3401a4b 100644 --- a/src/routes/users/notice.ts +++ b/src/routes/users/notice.ts @@ -1,15 +1,15 @@ import { Application } from "express"; -import isRegistered from "../../middlewares/auth/isRegistered"; -import example from "../../middlewares/example"; import addNoticeToUser from "../../middlewares/user/notice/addNoticeToUser"; import deleteNotice from "../../middlewares/user/notice/deleteNotice"; +import example from "../../middlewares/example"; import getUserNoticeNum from "../../middlewares/user/notice/getUserNoticeNum"; import getUserNotices from "../../middlewares/user/notice/getUserNotices"; +import isRegistered from "../../middlewares/auth/isRegistered"; import markNoticeAsSeen from "../../middlewares/user/notice/markNoticeAsSeen"; +import noContentResponse from "../../middlewares/utils/noContentResponse"; import responseNoticesList from "../../middlewares/user/notice/responseNoticesList"; import responseNoticesNum from "../../middlewares/user/notice/responseNoticesNum"; import setOwnUserId from "../../middlewares/user/setOwnUserId"; -import noContentResponse from "../../middlewares/utils/noContentResponse"; const userNotificeRoute = (prefix: string, app: Application): void => { /** diff --git a/src/routes/users/user.ts b/src/routes/users/user.ts index 402a84a9..b54277fd 100644 --- a/src/routes/users/user.ts +++ b/src/routes/users/user.ts @@ -1,24 +1,24 @@ import { Application } from "express"; -import isAdmin from "../../middlewares/auth/isAdmin"; -import isLoggedIn from "../../middlewares/auth/isLoggedIn"; -import isNotRegistered from "../../middlewares/auth/isNotRegistered"; -import isRegistered from "../../middlewares/auth/isRegistered"; -import deleteFile from "../../middlewares/files/deleteFile"; -import getUserTermMemberships from "../../middlewares/term/getUserTermMemberships"; -import responseTermsList from "../../middlewares/term/responseTermsList"; import acceptPicture from "../../middlewares/user/acceptPicture"; +import createdResponse from "../../middlewares/utils/createdResponse"; +import deleteFile from "../../middlewares/files/deleteFile"; import deleteUser from "../../middlewares/user/deleteUser"; +import getFieldValue from "../../middlewares/utils/getFieldValue"; import getUser from "../../middlewares/user/getUser"; +import getUserTermMemberships from "../../middlewares/term/getUserTermMemberships"; import getUsersList from "../../middlewares/user/getUsersList"; +import isAdmin from "../../middlewares/auth/isAdmin"; +import isLoggedIn from "../../middlewares/auth/isLoggedIn"; +import isNotRegistered from "../../middlewares/auth/isNotRegistered"; +import isRegistered from "../../middlewares/auth/isRegistered"; +import noContentResponse from "../../middlewares/utils/noContentResponse"; import registerOwnUser from "../../middlewares/user/registerOwnUser"; import rejectPicture from "../../middlewares/user/rejectPicture"; +import responseTermsList from "../../middlewares/term/responseTermsList"; import responseUser from "../../middlewares/user/responseUser"; import responseUsersList from "../../middlewares/user/responseUsersList"; import setOwnUserId from "../../middlewares/user/setOwnUserId"; import updateUser from "../../middlewares/user/updateUser"; -import createdResponse from "../../middlewares/utils/createdResponse"; -import getFieldValue from "../../middlewares/utils/getFieldValue"; -import noContentResponse from "../../middlewares/utils/noContentResponse"; const usersRoute = (prefix: string, app: Application): void => { /** diff --git a/src/routes/users/warning.ts b/src/routes/users/warning.ts index 934d315a..3f4cb21c 100644 --- a/src/routes/users/warning.ts +++ b/src/routes/users/warning.ts @@ -1,13 +1,13 @@ import { Application } from "express"; -import isAdmin from "../../middlewares/auth/isAdmin"; -import isRegistered from "../../middlewares/auth/isRegistered"; -import setOwnUserId from "../../middlewares/user/setOwnUserId"; import addWarning from "../../middlewares/user/warning/addWarning"; import deleteWarning from "../../middlewares/user/warning/deleteWarning"; import getUserWarningsList from "../../middlewares/user/warning/getUserWarningsList"; +import isAdmin from "../../middlewares/auth/isAdmin"; +import isRegistered from "../../middlewares/auth/isRegistered"; +import noContentResponse from "../../middlewares/utils/noContentResponse"; import responseWarningsList from "../../middlewares/user/warning/responseWarningsList"; +import setOwnUserId from "../../middlewares/user/setOwnUserId"; import updateWarning from "../../middlewares/user/warning/updateWarning"; -import noContentResponse from "../../middlewares/utils/noContentResponse"; const userWarningsRoute = (prefix: string, app: Application): void => { /** -- GitLab