ui: [BUGFIX] Ensure we use the ns query param name when requesting permissions (#10608)

Previously when namespaces were enabled, we weren't requesting permission for the actively selected namespace, and instead always checking the permissions for the default namespace.

This commit ensures we request permissions for the actively selected namespace.
This commit is contained in:
John Cowen 2021-07-15 12:19:07 +01:00 committed by GitHub
parent 4a92f2d428
commit 0762da3a62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 3 deletions

3
.changelog/10608.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:bug
ui: **(Enterprise only)** Ensure permissions are checked based on the actively selected namespace
```

View File

@ -7,7 +7,7 @@ export default class PermissionAdapter extends Adapter {
requestForAuthorize(request, { dc, ns, resources = [], index }) {
// the authorize endpoint is slightly different to all others in that it
// ignores an ns parameter, but accepts a Namespace property on each
// resource. Here we hide this different from the rest of the app as
// resource. Here we hide this difference from the rest of the app as
// currently we never need to ask for permissions/resources for multiple
// different namespaces in one call so here we use the ns param and add
// this to the resources instead of passing through on the queryParameter

View File

@ -21,7 +21,7 @@ export default class DcRoute extends Route {
// When disabled nspaces is [], so nspace is undefined
const permissions = await this.permissionsRepo.findAll({
dc: params.dc,
nspace: get(nspace || {}, 'Name'),
ns: get(nspace || {}, 'Name'),
});
// the model here is actually required for the entire application
// but we need to wait until we are in this route so we know what the dc

View File

@ -28,7 +28,7 @@ export default class SettingsRoute extends Route {
typeof app.permissions === 'undefined'
? await this.permissionsRepo.findAll({
dc: dc.Name,
nspace: nspace.Name,
ns: nspace.Name,
})
: app.permissions;