From c6ca1b607c8a34983f077a7b113d3e9b501dcba8 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Thu, 16 Jun 2022 17:03:00 +0300 Subject: [PATCH] Service accounts: hide API keys only if all keys migrated (#50925) --- pkg/api/index.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/api/index.go b/pkg/api/index.go index 9804dc02222..ca072bb5ccc 100644 --- a/pkg/api/index.go +++ b/pkg/api/index.go @@ -286,8 +286,10 @@ func (hs *HTTPServer) getNavTree(c *models.ReqContext, hasEditPerm bool, prefs * }) } - apiKeysHidden, _, _ := hs.kvStore.Get(c.Req.Context(), c.OrgId, "serviceaccounts", "hideApiKeys") - if hasAccess(ac.ReqOrgAdmin, apiKeyAccessEvaluator) && apiKeysHidden != "1" { + hideApiKeys, _, _ := hs.kvStore.Get(c.Req.Context(), c.OrgId, "serviceaccounts", "hideApiKeys") + apiKeys := hs.SQLStore.GetAllAPIKeys(c.Req.Context(), c.OrgId) + apiKeysHidden := hideApiKeys == "1" && len(apiKeys) == 0 + if hasAccess(ac.ReqOrgAdmin, apiKeyAccessEvaluator) && !apiKeysHidden { configNodes = append(configNodes, &dtos.NavLink{ Text: "API keys", Id: "apikeys",