update session structure
This commit is contained in:
@ -1,11 +1,16 @@
|
||||
import type { PageServerLoad } from './$types';
|
||||
import { Admin } from '$lib/server/database';
|
||||
import { getSession } from '$lib/server/session';
|
||||
import { Permissions } from '$lib/permissions';
|
||||
|
||||
export const load: PageServerLoad = async ({ cookies }) => {
|
||||
const admins = await Admin.findAll({ attributes: { exclude: ['password'] } });
|
||||
let admins: Admin[] = [];
|
||||
if (getSession(cookies, { permissions: [Permissions.AdminRead] }) != null) {
|
||||
admins = await Admin.findAll({ attributes: { exclude: ['password'] } });
|
||||
}
|
||||
|
||||
return {
|
||||
admins: JSON.parse(JSON.stringify(admins)),
|
||||
permissions: getSession(cookies.get('session') || '')!.value
|
||||
permissions: getSession(cookies.get('session') || '')!.permissions.value
|
||||
};
|
||||
};
|
||||
|
@ -5,7 +5,7 @@ import { Admin } from '$lib/server/database';
|
||||
import { env as publicEnv } from '$env/dynamic/public';
|
||||
|
||||
export const POST = (async ({ request, cookies }) => {
|
||||
if (getSession(cookies, [Permissions.AdminWrite]) == null) {
|
||||
if (getSession(cookies, { permissions: [Permissions.AdminWrite] }) == null) {
|
||||
return new Response(null, {
|
||||
status: 401
|
||||
});
|
||||
@ -34,7 +34,7 @@ export const POST = (async ({ request, cookies }) => {
|
||||
}) satisfies RequestHandler;
|
||||
|
||||
export const PATCH = (async ({ request, cookies }) => {
|
||||
if (getSession(cookies, [Permissions.AdminWrite]) == null) {
|
||||
if (getSession(cookies, { permissions: [Permissions.AdminWrite] }) == null) {
|
||||
return new Response(null, {
|
||||
status: 401
|
||||
});
|
||||
@ -52,7 +52,7 @@ export const PATCH = (async ({ request, cookies }) => {
|
||||
const updatePayload: { [key: string]: any } = {};
|
||||
if (data['username']) updatePayload.username = data['username'];
|
||||
if (data['password']) updatePayload.password = data['password'];
|
||||
if (data['permissions']) updatePayload.permissions = data['permissions'];
|
||||
if (data['permissions']) updatePayload.permissions = new Permissions(data['permissions']);
|
||||
|
||||
let user = await Admin.findOne({ where: { id: id } });
|
||||
if (!user) {
|
||||
@ -74,7 +74,7 @@ export const PATCH = (async ({ request, cookies }) => {
|
||||
}) satisfies RequestHandler;
|
||||
|
||||
export const DELETE = (async ({ request, cookies }) => {
|
||||
if (getSession(cookies, [Permissions.AdminWrite]) == null) {
|
||||
if (getSession(cookies, { permissions: [Permissions.AdminWrite] }) == null) {
|
||||
return new Response(null, {
|
||||
status: 401
|
||||
});
|
||||
|
Reference in New Issue
Block a user