The last-admin guard was only enforced in the --now branch of 'user delete'. The default scheduled path called user.RequestDeletion without the guard, letting an operator schedule deletion of the last reachable admin via the CLI; the cron flow would then confirm and execute it, violating the invariant the HTTP admin API already enforces. |
||
|---|---|---|
| .. | ||
| cmd.go | ||
| doctor.go | ||
| dump.go | ||
| healthcheck.go | ||
| migrate.go | ||
| repair.go | ||
| repair_file_mime_types.go | ||
| repair_orphan_positions.go | ||
| repair_projects.go | ||
| repair_task_positions.go | ||
| restore.go | ||
| testmail.go | ||
| user.go | ||
| version.go | ||
| web.go | ||