Add files via upload

This commit is contained in:
Kosztyk 2026-01-12 22:21:04 +02:00 committed by GitHub
parent 59b2fd19c9
commit 8baa7c2c55
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 77 additions and 99 deletions

View file

@ -76,7 +76,7 @@ export const root = new Elysia().use(userService).get(
// fallback: treat as normal user if role missing
user = { ...verifiedUser, id: verifiedUser.id, role: "user" };
} else {
user = verifiedUser as ({ id: string; role: string } & JWTPayloadSpec);
user = verifiedUser as { id: string; role: string } & JWTPayloadSpec;
}
}

View file

@ -266,8 +266,8 @@ export const user = new Elysia()
} catch (e) {
try {
db.exec("ROLLBACK");
} catch (rollbackErr) {
console.warn("[user/register] ROLLBACK failed:", rollbackErr);
} catch {
// ignore rollback errors
}
throw e;
}
@ -357,9 +357,7 @@ export const user = new Elysia()
.post(
"/login",
async function handler({ body, set, redirect, jwt, cookie: { auth } }) {
const existingUser = db.query("SELECT * FROM users WHERE email = ?").as(User).get(
body.email,
);
const existingUser = db.query("SELECT * FROM users WHERE email = ?").as(User).get(body.email);
if (!existingUser) {
set.status = 403;
@ -535,11 +533,7 @@ export const user = new Elysia()
</label>
<label class="flex flex-col gap-1">
Role
<select
name="newUserRole"
class="rounded-sm bg-neutral-800 p-3"
required
>
<select name="newUserRole" class="rounded-sm bg-neutral-800 p-3" required>
<option value="user">Normal user</option>
<option value="admin">Admin</option>
</select>
@ -583,15 +577,8 @@ export const user = new Elysia()
<td>
<div class="flex items-center gap-6">
{/* Edit / details icon */}
<form
method="get"
action={`${WEBROOT}/account/edit-user`}
>
<input
type="hidden"
name="userId"
value={String(u.id)}
/>
<form method="get" action={`${WEBROOT}/account/edit-user`}>
<input type="hidden" name="userId" value={String(u.id)} />
<button
type="submit"
class={`
@ -684,9 +671,7 @@ export const user = new Elysia()
if (!tokenUser) {
return redirect(`${WEBROOT}/login`, 302);
}
const existingUser = db.query("SELECT * FROM users WHERE id = ?").as(User).get(
tokenUser.id,
);
const existingUser = db.query("SELECT * FROM users WHERE id = ?").as(User).get(tokenUser.id);
if (!existingUser) {
if (auth?.value) {
@ -875,11 +860,7 @@ export const user = new Elysia()
</label>
<label class="flex flex-col gap-1">
Role
<select
name="role"
class="rounded-sm bg-neutral-800 p-3 capitalize"
required
>
<select name="role" class="rounded-sm bg-neutral-800 p-3 capitalize" required>
<option value="user" selected={targetUser.role === "user"}>
Normal user
</option>
@ -900,10 +881,7 @@ export const user = new Elysia()
</label>
</fieldset>
<div class="flex flex-row gap-4">
<a
href={`${WEBROOT}/account`}
class="w-full btn-secondary text-center"
>
<a href={`${WEBROOT}/account`} class="w-full btn-secondary text-center">
Cancel
</a>
<button type="submit" class="w-full btn-primary">
@ -984,9 +962,10 @@ export const user = new Elysia()
}
if (fields.length > 0) {
db.query(
`UPDATE users SET ${fields.map((f) => `${f}=?`).join(", ")} WHERE id=?`,
).run(...values, targetId);
db.query(`UPDATE users SET ${fields.map((f) => `${f}=?`).join(", ")} WHERE id=?`).run(
...values,
targetId,
);
}
return redirect(`${WEBROOT}/account`, 302);
@ -1078,4 +1057,3 @@ export const user = new Elysia()
cookie: "session",
},
);