Skip to content
Snippets Groups Projects
Commit 5c428ef3 authored by Rafael László's avatar Rafael László :speech_balloon:
Browse files

add user routes to separate files

parent 7cf1678b
Branches
No related tags found
2 merge requests!29version 0.9,!28API and Schema rework
......@@ -3,17 +3,12 @@ import "./utils/env";
import { ErrorHandler, handleError } from "./middlewares/utils/ErrorHandler";
import express, { Application, NextFunction, Request, Response } from "express";
import authRoute from "./routes/auth";
import bodyParser from "body-parser";
import expressSession from "express-session";
import filesRoute from "./routes/files";
import mongoose from "mongoose";
import morgan from "morgan";
import multer from "multer";
import newsRoute from "./routes/news";
import notificationsRoute from "./routes/notifications";
import termsRoute from "./routes/terms";
import usersRoute from "./routes/user";
import { setRouters } from "./routes/setRouters";
mongoose
.connect("mongodb://localhost:27017/bodysch", {
......@@ -61,21 +56,9 @@ app.use((req: Request, res: Response, next: NextFunction) => {
next();
});
// Register routes
const prefix = "/api/v1";
authRoute(prefix, app);
setRouters(app);
filesRoute(`${prefix}/files`, app);
newsRoute(`${prefix}/news`, app);
notificationsRoute(`${prefix}/notifications`, app);
termsRoute(`${prefix}/terms`, app);
usersRoute(`${prefix}/users`, app);
app.use((err: any, req: Request, res: Response, next: NextFunction) => {
app.use((err: any, req: Request, res: Response) => {
if (err instanceof ErrorHandler) return handleError(err, res);
if (
err instanceof mongoose.Error.CastError ||
......
import { Application } from "express";
import authRoute from "./auth";
import filesRoute from "./files";
import newsRoute from "./news";
import notificationsRoute from "./notifications";
import termsRoute from "./terms";
import userMembershipRoute from "./users/membership";
import userWarningsRoute from "./users/warning";
import usersRoute from "./users/user";
const prefix = "/api/v1";
export const setRouters = (app: Application): void => {
authRoute(prefix, app);
filesRoute(`${prefix}/files`, app);
newsRoute(`${prefix}/news`, app);
notificationsRoute(`${prefix}/notifications`, app);
termsRoute(`${prefix}/terms`, app);
usersRoute(`${prefix}/users`, app);
userMembershipRoute(`${prefix}/users`, app);
userWarningsRoute(`${prefix}/users`, app);
};
import { Application } from "express";
import getUserTermMemberships from "../../middlewares/term/getUserTermMemberships";
import isAdmin from "../../middlewares/auth/isAdmin";
import isRegistered from "../../middlewares/auth/isRegistered";
import responseTermsList from "../../middlewares/term/responseTermsList";
import setOwnUserId from "../../middlewares/user/setOwnUserId";
const userMembershipRoute = (prefix: string, app: Application): void => {
/**
* Get list of User Term memberships
* Role: ADMIN
*/
app.get(
`${prefix}/user/:userId/terms`,
isRegistered(),
isAdmin(),
getUserTermMemberships(),
responseTermsList()
);
/**
* Get list of own Term memberships
* Role: NORMAL
*/
app.get(
`${prefix}/me/terms`,
isRegistered(),
setOwnUserId(),
getUserTermMemberships(),
responseTermsList()
);
};
export default userMembershipRoute;
import { Application } from "express";
import acceptPicture from "../middlewares/user/acceptPicture";
import addWarning from "../middlewares/user/warning/addWarning";
import createdResponse from "../middlewares/utils/createdResponse";
import deleteFile from "../middlewares/files/deleteFile";
import deleteUser from "../middlewares/user/deleteUser";
import deleteWarning from "../middlewares/user/warning/deleteWarning";
import example from "../middlewares/example";
import getFieldValue from "../middlewares/utils/getFieldValue";
import getUser from "../middlewares/user/getUser";
import getUserTermMemberships from "../middlewares/term/getUserTermMemberships";
import getUserWarningsList from "../middlewares/user/warning/getUserWarningsList";
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 responseWarningsList from "../middlewares/user/warning/responseWarningsList";
import setOwnUserId from "../middlewares/user/setOwnUserId";
import updateTermMember from "../middlewares/term/updateTermMember";
import updateUser from "../middlewares/user/updateUser";
import updateWarning from "../middlewares/user/warning/updateWarning";
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";
const usersRoute = (prefix: string, app: Application): void => {
/**
......@@ -199,63 +192,6 @@ const usersRoute = (prefix: string, app: Application): void => {
getUserTermMemberships(),
responseTermsList()
);
/**
* Add new warning
* Role: Admin
*/
app.post(
`${prefix}/user/:userId/warnings`,
isRegistered(),
isAdmin(),
addWarning([{ name: "text", required: true }]),
noContentResponse()
);
/**
* Get user warnings
* Role: Admin
*/
app.get(
`${prefix}/user/:userId/warnings`,
isRegistered(),
isAdmin(),
getUserWarningsList(),
responseWarningsList()
);
/**
* Get Own warnings
* Role: Normal
*/
app.get(
`${prefix}/me/warnings`,
isRegistered(),
setOwnUserId(),
getUserWarningsList(),
responseWarningsList()
);
/**
* Delete Warning
* Role: Admin
*/
app.delete(
`${prefix}/user/:userId/warning/:warningId`,
isRegistered(),
isAdmin(),
deleteWarning(),
noContentResponse()
);
/**
* Update Warning
* Role: Admin
*/
app.put(
`${prefix}/user/:userId/warning/:warningId`,
isRegistered(),
isAdmin(),
updateWarning(["text"]),
noContentResponse()
);
};
export default usersRoute;
import { Application } from "express";
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";
const userWarningsRoute = (prefix: string, app: Application): void => {
/**
* Add new warning
* Role: Admin
*/
app.post(
`${prefix}/user/:userId/warnings`,
isRegistered(),
isAdmin(),
addWarning([{ name: "text", required: true }]),
noContentResponse()
);
/**
* Get user warnings
* Role: Admin
*/
app.get(
`${prefix}/user/:userId/warnings`,
isRegistered(),
isAdmin(),
getUserWarningsList(),
responseWarningsList()
);
/**
* Get Own warnings
* Role: Normal
*/
app.get(
`${prefix}/me/warnings`,
isRegistered(),
setOwnUserId(),
getUserWarningsList(),
responseWarningsList()
);
/**
* Delete Warning
* Role: Admin
*/
app.delete(
`${prefix}/user/:userId/warning/:warningId`,
isRegistered(),
isAdmin(),
deleteWarning(),
noContentResponse()
);
/**
* Update Warning
* Role: Admin
*/
app.put(
`${prefix}/user/:userId/warning/:warningId`,
isRegistered(),
isAdmin(),
updateWarning(["text"]),
noContentResponse()
);
};
export default userWarningsRoute;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment