WIP: Working homepage with Login and logout

This commit is contained in:
Pablu23
2025-10-08 12:31:16 +02:00
parent d9a946d9ca
commit 1f3813ea78
6 changed files with 191 additions and 134 deletions

View File

@@ -1,46 +1,8 @@
import { db } from "$lib/server/db";
import { sessionsTable, usersTable } from "$lib/server/db/schema";
import { eq } from "drizzle-orm";
import { redirect, type Actions } from "@sveltejs/kit";
import type { PageServerLoad } from "./$types";
export const load: PageServerLoad = async ({ locals }) => {
let allUsers = null;
if (locals.user.isLoggedIn) {
allUsers = await db.select().from(usersTable);
}
return {
user: locals.user,
users: allUsers ?? []
}
return {
user: locals.user,
}
};
export const actions = {
logout: async ({ locals, cookies }) => {
const sessionId = cookies.get('session_id');
if (!sessionId) {
redirect(307, "/error")
}
await db.delete(sessionsTable).where(eq(sessionsTable.id, sessionId))
cookies.delete('session_id', { path: "/" });
locals.user.isLoggedIn = false;
locals.user.email = null;
locals.user.username = null;
return { success: true };
},
deleteUsers: async ({ locals, fetch }) => {
await fetch("/api/deleteUsers");
locals.user.isLoggedIn = false;
locals.user.email = null;
locals.user.username = null;
return { success: true }
}
} satisfies Actions;