From 6ec908b76dc6deb496054d9218c1fb9e4e3b7cd8 Mon Sep 17 00:00:00 2001 From: Johannes Batzill Date: Fri, 29 Sep 2023 21:11:29 +0000 Subject: [PATCH] [MISC] Fix Admin Status Removal (#637) --- app/api/controller/user/update_admin.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/api/controller/user/update_admin.go b/app/api/controller/user/update_admin.go index f848b0da8..7b89d852c 100644 --- a/app/api/controller/user/update_admin.go +++ b/app/api/controller/user/update_admin.go @@ -44,18 +44,17 @@ func (c *Controller) UpdateAdmin(ctx context.Context, session *auth.Session, } // Fail if the user being updated is the only admin in DB. - if !request.Admin && user.Admin { + if user.Admin && !request.Admin { admUsrCount, err := c.principalStore.CountUsers(ctx, &types.UserFilter{Admin: true}) if err != nil { return nil, fmt.Errorf("failed to check admin user count: %w", err) } - if admUsrCount == 1 { + if admUsrCount <= 1 { return nil, usererror.BadRequest("system requires at least one admin user") } - - return user, nil } + user.Admin = request.Admin user.Updated = time.Now().UnixMilli()