add admin admin settings

This commit is contained in:
2023-08-28 04:31:58 +02:00
parent 4b84c475b8
commit 0958ff21b6
15 changed files with 524 additions and 28 deletions

View File

@@ -83,4 +83,6 @@
</form>
</div>
<ErrorToast timeout={2000} bind:show={showError} bind:this={errorToastElement} />
<ErrorToast timeout={2000} bind:show={showError} bind:this={errorToastElement}>
<span>Nutzername oder Passwort falsch</span>
</ErrorToast>

View File

@@ -3,6 +3,7 @@ import { Admin } from '$lib/server/database';
import { env as publicEnv } from '$env/dynamic/public';
import { env } from '$env/dynamic/private';
import { addSession } from '$lib/server/session';
import { Permissions } from '$lib/permissions';
export const POST = (async ({ request, cookies }) => {
const data = await request.formData();
@@ -11,7 +12,7 @@ export const POST = (async ({ request, cookies }) => {
if (username == null || password == null) {
return new Response(null, {
status: 403
status: 401
});
}
@@ -21,7 +22,7 @@ export const POST = (async ({ request, cookies }) => {
username == env.ADMIN_USER &&
password == env.ADMIN_PASSWORD
) {
cookies.set('session', addSession(), {
cookies.set('session', addSession(new Permissions(Permissions.allPermissions())), {
path: `${publicEnv.PUBLIC_BASE_PATH}/admin`,
maxAge: 60 * 60 * 24 * 90,
httpOnly: true,
@@ -32,7 +33,7 @@ export const POST = (async ({ request, cookies }) => {
const user = await Admin.findOne({ where: { username: username } });
if (user && user.validatePassword(password)) {
cookies.set('session', addSession(), {
cookies.set('session', addSession(user.permissions), {
path: `${publicEnv.PUBLIC_BASE_PATH}/admin`,
maxAge: 60 * 60 * 24 * 90,
httpOnly: true,
@@ -41,7 +42,7 @@ export const POST = (async ({ request, cookies }) => {
return new Response();
} else {
return new Response(null, {
status: 403
status: 401
});
}
}) satisfies RequestHandler;