Skip to content

Commit 3c27b2c

Browse files
author
OpenShift Bot
authored
Merge pull request #2173 from benjaminapetersen/bpetersen/trello/api-groups/can-i-do-any-builds
Merged by openshift-bot
2 parents 9b009d6 + ca32dea commit 3c27b2c

File tree

2 files changed

+24
-21
lines changed

2 files changed

+24
-21
lines changed

app/scripts/filters/canI.js

+13-6
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,19 @@
22

33
angular
44
.module('openshiftConsole')
5-
.filter('canIDoAny', function(canIFilter) {
6-
var resourceRulesMap = {
5+
.filter('canIDoAny', function(APIService, canIFilter) {
6+
// Top level keys are representing pages.
7+
// Within each page may one or more resources.
8+
// canIDoAny returns truthy if the user passes the canIFilter
9+
// for at least one of the resources and verbs listed in the page.
10+
var pageRulesMap = {
711
'buildConfigs': [
812
{group: '', resource: 'buildconfigs', verbs: ['delete', 'update']},
913
{group: '', resource: 'buildconfigs/instantiate', verbs: ['create']}
1014
],
1115
'builds': [
12-
{group: '', resource: 'builds/clone', verbs: ['create']},
13-
{group: '', resource: 'builds', verbs: ['delete', 'update']}
16+
_.assign({}, APIService.getPreferredVersion('builds/clone'), {verbs: ['create']}),
17+
_.assign({}, APIService.getPreferredVersion('builds'), {verbs: ['delete', 'update']})
1418
],
1519
'configmaps': [
1620
{group: '', resource: 'configmaps', verbs: ['update', 'delete']}
@@ -58,12 +62,15 @@ angular
5862
'projects': [
5963
{group: '', resource: 'projects', verbs: ['delete', 'update']}
6064
],
65+
// FIXME: inconsistent case (camel)
6166
'statefulsets': [
6267
{group: 'apps', resource: 'statefulsets', verbs: ['update', 'delete']}
6368
]
6469
};
65-
return function(resource) {
66-
return _.some(resourceRulesMap[resource], function(rule) {
70+
71+
// the primary key is the page name, NOT the actual resource, though they appear to match.
72+
return function(pageName) {
73+
return _.some(pageRulesMap[pageName], function(rule) {
6774
return _.some(rule.verbs, function(verb) {
6875
return canIFilter({resource: rule.resource, group: rule.group}, verb);
6976
});

dist/scripts/scripts.js

+11-15
Original file line numberDiff line numberDiff line change
@@ -15225,8 +15225,8 @@ r = _.get(t(n, a), "message");
1522515225
}
1522615226
return r;
1522715227
};
15228-
} ]), angular.module("openshiftConsole").filter("canIDoAny", [ "canIFilter", function(e) {
15229-
var t = {
15228+
} ]), angular.module("openshiftConsole").filter("canIDoAny", [ "APIService", "canIFilter", function(e, t) {
15229+
var n = {
1523015230
buildConfigs: [ {
1523115231
group: "",
1523215232
resource: "buildconfigs",
@@ -15236,15 +15236,11 @@ group: "",
1523615236
resource: "buildconfigs/instantiate",
1523715237
verbs: [ "create" ]
1523815238
} ],
15239-
builds: [ {
15240-
group: "",
15241-
resource: "builds/clone",
15239+
builds: [ _.assign({}, e.getPreferredVersion("builds/clone"), {
1524215240
verbs: [ "create" ]
15243-
}, {
15244-
group: "",
15245-
resource: "builds",
15241+
}), _.assign({}, e.getPreferredVersion("builds"), {
1524615242
verbs: [ "delete", "update" ]
15247-
} ],
15243+
}) ],
1524815244
configmaps: [ {
1524915245
group: "",
1525015246
resource: "configmaps",
@@ -15337,12 +15333,12 @@ resource: "statefulsets",
1533715333
verbs: [ "update", "delete" ]
1533815334
} ]
1533915335
};
15340-
return function(n) {
15341-
return _.some(t[n], function(t) {
15342-
return _.some(t.verbs, function(n) {
15343-
return e({
15344-
resource: t.resource,
15345-
group: t.group
15336+
return function(e) {
15337+
return _.some(n[e], function(e) {
15338+
return _.some(e.verbs, function(n) {
15339+
return t({
15340+
resource: e.resource,
15341+
group: e.group
1534615342
}, n);
1534715343
});
1534815344
});

0 commit comments

Comments
 (0)