Files
horror/backend/app/spenden.py
2026-10-07 15:41:41 +02:00

45 lines
1.2 KiB
Python

"""Der Spendenbaum: wer schon einmal etwas überwiesen hat.
Ein Blatt je Person, ohne Betrag. Der Host trägt ein und nimmt weg.
"""
from datetime import datetime, timezone
from .db import connect
SCHEMA = """
CREATE TABLE IF NOT EXISTS spenden (
user_id INTEGER PRIMARY KEY,
created_at TEXT NOT NULL
);
"""
def init():
with connect() as conn:
conn.executescript(SCHEMA)
def alle():
"""Die Blätter, das neueste zuerst."""
with connect() as conn:
rows = conn.execute(
"SELECT s.user_id, u.name, s.created_at FROM spenden s "
"JOIN users u ON u.id = s.user_id ORDER BY s.created_at DESC, s.user_id DESC"
).fetchall()
return [dict(r) for r in rows]
def eintragen(user_id):
"""Ein zweites Mal ändert nichts — ein Blatt je Person."""
with connect() as conn:
conn.execute(
"INSERT OR IGNORE INTO spenden (user_id, created_at) VALUES (?, ?)",
(user_id, datetime.now(timezone.utc).isoformat(timespec="seconds")),
)
def entfernen(user_id):
with connect() as conn:
return conn.execute("DELETE FROM spenden WHERE user_id = ?", (user_id,)).rowcount > 0