feat: admin stats DB foundation: last_login, storage_bytes, banner_message #27

Merged
patillacode merged 9 commits from feature/admin-user-stats-and-management into main 2026-05-05 16:32:42 +02:00
Owner
No description provided.
feat: admin stats DB foundation — add last_login, storage_bytes, banner_message
All checks were successful
CI / test (pull_request) Successful in 36s
CI / e2e (pull_request) Successful in 20m39s
d0435f5742
Adds three new nullable/defaulted columns to User via idempotent ALTER TABLE
migrations. Sets last_login on every successful login and signup. Fills test
gaps: robots.txt coverage, last_login assertions, full column checks, and a
legacy-schema migration upgrade test.
feat: admin stats storage recalculation task
All checks were successful
CI / test (pull_request) Successful in 35s
CI / e2e (pull_request) Successful in 8m20s
c9e9864982
Adds scheduled_recalculate_storage that walks each user's uploads directory
and writes the total to user.storage_bytes. Exposed in the admin tasks UI with
a "Run Now" route. Documents all three scheduled tasks in CONFIGURATION.md.
feat: generic user banner system, replaces demo-specific banner
Some checks failed
CI / test (pull_request) Successful in 35s
CI / e2e (pull_request) Has been cancelled
e4aee53cf7
Replaces the hardcoded demo banner (is_demo + countdown JS) with a generic
per-user banner driven by user.banner_message. Admin can set/clear banners
via new endpoints with a 300-char limit. Demo user gets its message seeded
automatically. Refactors scheduler job registration and storage scan into
dedicated helpers.
wip
All checks were successful
CI / test (pull_request) Successful in 35s
CI / e2e (pull_request) Successful in 9m50s
5d5c593cd5
Part 4 of admin stats feature. Admin users table now shows last login,
entry count with days-written %, and storage per user via a LEFT JOIN
query. A modal (reusing the existing modal system) opens per row for
stats detail, banner set/clear with bilingual feedback, and account
deletion. Adds _datefmt and _filesizeformat Jinja2 filters with 100%
test coverage.
fix: match delete/set-banner button sizes, use UI font for modal username
Some checks failed
CI / test (pull_request) Successful in 36s
CI / e2e (pull_request) Has been cancelled
325ad06bbb
patillacode changed title from feat: admin stats DB foundation — add last_login, storage_bytes, banner_message to feat: admin stats DB foundation: last_login, storage_bytes, banner_message 2026-05-05 16:32:31 +02:00
patillacode deleted branch feature/admin-user-stats-and-management 2026-05-05 16:32:42 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
patillacode/piruetas!27
No description provided.