Users¶
Manage player and admin accounts (users table, auth_method=local_password).
| URL | /admin/users |
| REST | GET/POST /api/users · GET/PATCH/DELETE /api/users/{id} (admin Bearer) |
Workflow¶
- Open Manage → Users.
- Search (email, name, or user id), filter Admins / non-admins, sort
columns, and paginate — backed by
GET /api/users?q=&is_admin=&sort_by=&…. Deep link from match detail Followers:/admin/users?followed_match_id=<internal_match_id>(filter chip + clear). - New user — email, password, first name (required); optional username (login also works with email alone), last name, postal code, date of birth; Daily follow limit (default 3; empty = unrestricted); Match follow timezone (IANA picker for the follow-quota day window only; default / blank → UTC); Notify on issuance / Notify on resolve (push notification prefs; default on — global Admin → Push Notifications gates still apply as master switches); optional Admin.
- Edit — change profile, reset password (leave blank to keep), toggle admin, adjust follow limit / match follow timezone / notify prefs.
- Activate / Deactivate — sets
is_active(preferred over hard delete when answers exist). Save does not change active state.
Migrated legacy public_users rows keep their ids/answers but have no password
until an admin sets one (or a new account is created via
POST /api/auth/register).
Seed a bootstrap admin locally: