allow for api key auth in upload endpoint
This commit is contained in:
parent
fa8d7b4223
commit
e130fcd4c3
1 changed files with 17 additions and 3 deletions
|
@ -1,7 +1,18 @@
|
||||||
import { COOKIE } from '$lib/config';
|
import { COOKIE } from '$lib/config';
|
||||||
import type { Cookies } from '@sveltejs/kit';
|
import type { Cookies } from '@sveltejs/kit';
|
||||||
import { getSession } from './database';
|
import { getSession, getUserApiKey } from './database';
|
||||||
import type { User, UserSettings } from '@prisma/client';
|
import type { Role, UserSettings } from '@prisma/client';
|
||||||
|
|
||||||
|
interface User {
|
||||||
|
id: number;
|
||||||
|
username: string;
|
||||||
|
email: string;
|
||||||
|
password: string;
|
||||||
|
role: Role;
|
||||||
|
createdAt: Date;
|
||||||
|
lastSeen: Date;
|
||||||
|
maxUploadMB: number;
|
||||||
|
}
|
||||||
|
|
||||||
interface UserAndMaybeSettings extends User {
|
interface UserAndMaybeSettings extends User {
|
||||||
settings: UserSettings | null;
|
settings: UserSettings | null;
|
||||||
|
@ -14,7 +25,10 @@ export async function authenticate(request: Request, cookies: Cookies) {
|
||||||
let user: UserAndMaybeSettings | false = false;
|
let user: UserAndMaybeSettings | false = false;
|
||||||
|
|
||||||
if (bearer && !cookie) {
|
if (bearer && !cookie) {
|
||||||
return false;
|
const key = await getUserApiKey(bearer);
|
||||||
|
if (key) {
|
||||||
|
user = key.user;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cookie && !bearer) {
|
if (cookie && !bearer) {
|
||||||
|
|
Loading…
Reference in a new issue