mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix: show user-auth provisioners for all organizations (#16350)
This commit is contained in:
@@ -782,10 +782,14 @@ func TestGetProvisionerDaemons(t *testing.T) {
|
||||
pkDaemons, err := orgAdmin.ListProvisionerKeyDaemons(ctx, org.ID)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Len(t, pkDaemons, 1)
|
||||
require.Len(t, pkDaemons, 2)
|
||||
require.Len(t, pkDaemons[0].Daemons, 1)
|
||||
assert.Equal(t, keys[0].ID, pkDaemons[0].Key.ID)
|
||||
assert.Equal(t, keys[0].Name, pkDaemons[0].Key.Name)
|
||||
// user-auth provisioners
|
||||
require.Len(t, pkDaemons[1].Daemons, 0)
|
||||
assert.Equal(t, codersdk.ProvisionerKeyUUIDUserAuth, pkDaemons[1].Key.ID)
|
||||
assert.Equal(t, codersdk.ProvisionerKeyNameUserAuth, pkDaemons[1].Key.Name)
|
||||
|
||||
assert.Equal(t, daemonName, pkDaemons[0].Daemons[0].Name)
|
||||
assert.Equal(t, buildinfo.Version(), pkDaemons[0].Daemons[0].Version)
|
||||
|
||||
@@ -137,6 +137,20 @@ func (api *API) provisionerKeyDaemons(rw http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
sdkKeys := convertProvisionerKeys(pks)
|
||||
|
||||
// For the default organization, we insert three rows for the special
|
||||
// provisioner key types (built-in, user-auth, and psk). We _don't_ insert
|
||||
// those into the database for any other org, but we still need to include the
|
||||
// user-auth key in this list, so we just insert it manually.
|
||||
if !slices.ContainsFunc(sdkKeys, func(key codersdk.ProvisionerKey) bool {
|
||||
return key.ID == codersdk.ProvisionerKeyUUIDUserAuth
|
||||
}) {
|
||||
sdkKeys = append(sdkKeys, codersdk.ProvisionerKey{
|
||||
ID: codersdk.ProvisionerKeyUUIDUserAuth,
|
||||
Name: codersdk.ProvisionerKeyNameUserAuth,
|
||||
Tags: map[string]string{},
|
||||
})
|
||||
}
|
||||
|
||||
daemons, err := api.Database.GetProvisionerDaemonsByOrganization(ctx, database.GetProvisionerDaemonsByOrganizationParams{OrganizationID: organization.ID})
|
||||
if err != nil {
|
||||
httpapi.InternalServerError(rw, err)
|
||||
|
||||
Reference in New Issue
Block a user