feat: Fortschritts-Tracking – user_daily_activity, Tagesziel & GET /auth/stats
- Neue Tabelle user_daily_activity (Tagesverlauf) + Spalte daily_goal_ep - POST /auth/progress schreibt Tagesaktivität mit - GET /auth/me liefert daily_goal_ep - Neuer GET /auth/stats: Tagesverlauf, Tagesziel, Totals, echte Skills je answer_type - Neuer PUT /auth/goal zum Setzen des Tagesziels Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -534,6 +534,21 @@ async function migrate() {
|
||||
FOR EACH ROW EXECUTE FUNCTION update_last_seen_at()
|
||||
`);
|
||||
|
||||
// user_daily_activity — Tagesverlauf für Streak-Kalender, Wochengraph, Tagesziel
|
||||
await query(`
|
||||
CREATE TABLE IF NOT EXISTS user_daily_activity (
|
||||
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
activity_date DATE NOT NULL,
|
||||
ep_earned INTEGER NOT NULL DEFAULT 0,
|
||||
cards_done INTEGER NOT NULL DEFAULT 0,
|
||||
correct_count INTEGER NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (user_id, activity_date)
|
||||
)
|
||||
`);
|
||||
|
||||
// Tagesziel (EP/Tag) auf dem App-Profil
|
||||
await query(`ALTER TABLE users_public ADD COLUMN IF NOT EXISTS daily_goal_ep INTEGER NOT NULL DEFAULT 30`).catch(() => {});
|
||||
|
||||
// audios
|
||||
await query(`
|
||||
CREATE TABLE IF NOT EXISTS audios (
|
||||
|
||||
Reference in New Issue
Block a user