tyep fixes

This commit is contained in:
cirroskais 2024-04-27 04:10:05 -04:00
parent 15df6f4401
commit a5dc9b32be
No known key found for this signature in database
GPG key ID: 5FC73EBF2678E33D
6 changed files with 38 additions and 12 deletions

16
src/app.d.ts vendored Normal file
View file

@ -0,0 +1,16 @@
declare global {
namespace App {
interface Error {
status: number;
message: string;
}
interface Locals {
user: User;
}
interface PageData {}
// interface PageState {}
// interface Platform {}
}
}
export {};

View file

@ -15,18 +15,17 @@ const PUBLIC_RESOURCES = [
export async function handle({ event, resolve }) { export async function handle({ event, resolve }) {
const { cookies, locals } = event; const { cookies, locals } = event;
const session = await getSession(cookies.get(COOKIE)); const session = await getSession(cookies.get(COOKIE));
const user = session?.user;
if (user) { if (session && session.user) {
locals.user = { locals.user = {
id: user?.id, id: session.user.id,
username: user?.username, username: session.user.username,
email: user?.email email: session.user.email
}; };
} } else {
if (event.route.id) {
if (event.route.id) { if (event.route.id.includes('(app)')) return redirect(303, '/');
if (event.route.id.includes('(app)') && !user) return redirect(303, '/'); }
} }
return await resolve(event); return await resolve(event);

View file

@ -1,3 +1,9 @@
export const COOKIE = '.FILE-UPLOADER-SESSION'; export const COOKIE = '.FILE-UPLOADER-SESSION';
export const MAIL_WHITELIST = ['gmail.com', 'outlook.com', 'madhouselabs.net', 'dfuser.xyz']; export const MAIL_WHITELIST = [
'gmail.com',
'outlook.com',
'madhouselabs.net',
'dfuser.xyz',
'liloandstit.ch'
];

5
src/lib/types/user.d.ts vendored Normal file
View file

@ -0,0 +1,5 @@
interface User {
id: number;
username: string;
email: string;
}

View file

@ -1,6 +1,6 @@
<script> <script>
import { user } from '$lib/stores'; import { user } from '$lib/stores';
import ThemeSwitcher from '$lib/components/ThemeSwitcher.svelte';
import Button from '$lib/components/Inputs/Button.svelte'; import Button from '$lib/components/Inputs/Button.svelte';
import ButtonText from '$lib/components/Inputs/ButtonText.svelte'; import ButtonText from '$lib/components/Inputs/ButtonText.svelte';

View file

@ -1,4 +1,4 @@
/** @type {import('@sveltejs/kit').Load} */ /** @type {import('@sveltejs/kit').ServerLoad} */
export const load = async ({ locals }) => { export const load = async ({ locals }) => {
return { return {
user: locals.user user: locals.user