update
This commit is contained in:
44
backend/app/spenden.py
Normal file
44
backend/app/spenden.py
Normal file
@@ -0,0 +1,44 @@
|
||||
"""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
|
||||
Reference in New Issue
Block a user