v3: added customizable site emoji (logo), small visual tweaks
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 41s

This commit is contained in:
2026-06-29 15:12:25 +02:00
parent aab5b5bfd5
commit f171027673
18 changed files with 342 additions and 78 deletions

View File

@@ -0,0 +1,23 @@
import type { DatabaseSync } from "node:sqlite";
// Idempotent: safe to run against a fresh db (already created from schema.sql
// with password_reset_tokens) or an existing one that predates the table.
export function up(db: DatabaseSync): void {
const tables = new Set(
(db.prepare(
`SELECT name FROM sqlite_master WHERE type = 'table';`,
).all() as { name: string }[]).map((r) => r.name),
);
if (!tables.has("password_reset_tokens")) {
db.exec(
`CREATE TABLE password_reset_tokens (
token TEXT PRIMARY KEY,
user_id TEXT NOT NULL,
expires_at TEXT NOT NULL,
used_at TEXT,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);`,
);
}
}