Major bug fix

This commit is contained in:
AndrewTrieu
2023-03-10 16:41:57 +02:00
parent 4c8e7e8588
commit 0fab2411ee
19 changed files with 965 additions and 19 deletions

View File

@@ -0,0 +1,18 @@
const restrictedPaths = ["/quiz", "/topics"];
const authMiddleware = async (state, next) => {
const user = await state.session.get("user");
if (
!user &&
restrictedPaths.some((path) =>
context.request.url.pathname.startsWith(path)
)
) {
context.response.redirect("/auth/login");
} else {
await next();
}
};
export { authMiddleware };

View File

@@ -1,4 +1,4 @@
const errorMiddleware = async (context, next) => {
const errorMiddleware = async (next) => {
try {
await next();
} catch (e) {

View File

@@ -1,11 +1,19 @@
import { configure, renderFile } from "../deps.js";
const renderMiddleware = async (context, next) => {
configure({
views: `${Deno.cwd()}/views/`,
});
configure({
views: `${Deno.cwd()}/views/`,
});
const renderMiddleware = async (context, next) => {
context.render = async (file, data) => {
if (!data) {
data = {};
}
if (context.user) {
data.user = context.user;
}
context.response.headers.set("Content-Type", "text/html; charset=utf-8");
context.response.body = await renderFile(file, data);
};

View File

@@ -0,0 +1,14 @@
import * as authService from "../services/authService.js";
const userMiddleware = async (context, next) => {
const user = await context.state.session.get("user");
if (user) {
const userFromDatabase = await authService.findUser(user.email);
context.user = userFromDatabase[0];
}
await next();
};
export { userMiddleware };