vikunja/pkg/user
kolaente af8beb5758 fix(user): skip last-admin guard when target is already unreachable
GuardLastAdmin counted only active, non-deletion-scheduled admins, but gated only on target.IsAdmin. Demoting or deleting an already-disabled or deletion-scheduled admin would then be blocked whenever exactly one active admin remained, even though removing a user who isn't in the reachable set can't reduce the count. Return early when the target isn't part of the counted set.
2026-04-20 18:55:06 +00:00
..
caldav_token.go
db.go
delete.go
error.go feat(user): extract last-admin guard and close invariant gaps 2026-04-20 18:55:06 +00:00
events.go
is_admin_test.go feat(user): extract last-admin guard and close invariant gaps 2026-04-20 18:55:06 +00:00
listeners.go
main_test.go
notifications.go
test.go
token.go
totp.go fix(security): persist TOTP lockout across login rollback 2026-04-09 16:08:26 +00:00
totp_test.go test(user): cover TOTP lockout persistence and password-reset unlock 2026-04-09 16:08:26 +00:00
update_email.go
update_email_test.go
user.go fix(user): skip last-admin guard when target is already unreachable 2026-04-20 18:55:06 +00:00
user_claims_test.go feat(user): extract last-admin guard and close invariant gaps 2026-04-20 18:55:06 +00:00
user_create.go
user_email_confirm.go
user_email_confirm_test.go
user_password_reset.go
user_test.go
users_project.go fix: add ORDER BY to ListUsers query for deterministic ordering 2026-03-27 23:05:04 +00:00
validator.go