fix(auth): allow admins to change any username including their own
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m6s
ci / ts / ts (packages + web) (push) Successful in 2m59s
ci / api / api (push) Successful in 49s
ci / db / db (push) Successful in 1m17s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m25s

This commit is contained in:
mrleo1nid committed 2026-10-21 17:33:19 +03:00
1 parent b0cbd0f149
commit c34272d508
16 files changed
+431 -266

No files matched your search

@@ -293,7 +293,18 @@ func (s *MemStore) LockActiveAdmins(ctx context.Context) (int, error) { return s
// UpdateUser реализует auth.Store.
func (s *MemStore) UpdateUser(ctx context.Context, id uuid.UUID, upd auth.UserUpdate) (auth.User, error) {
if upd.Username != nil {
unlock := s.lock()
taken := s.usernameTaken(*upd.Username, id)
unlock()
if taken {
return auth.User{}, auth.ErrUsernameTaken
}
}
err := s.update(id, func(u *auth.User) {
if upd.Username != nil {
u.Username = *upd.Username
}
if upd.DisplayName != nil {
u.DisplayName = *upd.DisplayName
}