setup and invite

This commit is contained in:
Julian Krauser 2024-08-25 13:36:19 +02:00
parent 03e0f90279
commit 7df7cf2697
23 changed files with 515 additions and 43 deletions

View file

@ -1,5 +1,5 @@
import express from "express";
import { login, logout, refresh, register } from "../controller/authController";
import { login, logout, refresh } from "../controller/authController";
var router = express.Router({ mergeParams: true });
@ -15,8 +15,4 @@ router.post("/refresh", async (req, res) => {
await refresh(req, res);
});
router.post("/register", async (req, res) => {
await register(req, res);
});
export default router;

View file

@ -1,10 +1,12 @@
import express from "express";
import type { Express } from "express";
import cors from "cors";
import type { Express } from "express";
import errorHandler from "../middleware/errorHandler";
import allowSetup from "../middleware/allowSetup";
import authenticate from "../middleware/authenticate";
import errorHandler from "../middleware/errorHandler";
import setup from "./setup";
import auth from "./auth";
export default (app: Express) => {
@ -18,6 +20,7 @@ export default (app: Express) => {
app.use(cors());
app.options("*", cors());
app.use("/setup", allowSetup, setup);
app.use("/auth", auth);
app.use(authenticate);
app.use("/secured", (req, res) => {

28
src/routes/setup.ts Normal file
View file

@ -0,0 +1,28 @@
import express from "express";
import { isSetup } from "../controller/setupController";
import { finishInvite, inviteUser, verifyInvite } from "../controller/inviteController";
import ParamaterPassCheckHelper from "../helpers/parameterPassCheckHelper";
var router = express.Router({ mergeParams: true });
router.get("/", async (req, res) => {
await isSetup(req, res);
});
router.post("/verify", ParamaterPassCheckHelper.requiredIncludedMiddleware(["mail", "token"]), async (req, res) => {
await verifyInvite(req, res);
});
router.post(
"/",
ParamaterPassCheckHelper.requiredIncludedMiddleware(["username", "mail", "firstname", "lastname"]),
async (req, res) => {
await inviteUser(req, res);
}
);
router.put("/", ParamaterPassCheckHelper.requiredIncludedMiddleware(["mail", "token", "totp"]), async (req, res) => {
await finishInvite(req, res);
});
export default router;