Skip to content

Commit 5be53a9

Browse files
committed
Fix securityScheme overwrite options
1 parent 608e696 commit 5be53a9

File tree

5 files changed

+44
-2
lines changed

5 files changed

+44
-2
lines changed

dist/examples/leagues.raml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ securedBy: [ basic, digest_auth, oauth_2_0, custom_scheme_1, custom_scheme_2 ]
5858
description: |
5959
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sagittis ipsum felis, sed aliquam massa egestas vel. Sed scelerisque leo lorem, a gravida enim congue eget. Sed rutrum quis odio vitae sollicitudin. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc pulvinar arcu at diam pharetra finibus. Curabitur malesuada hendrerit odio id consectetur. Etiam felis augue, malesuada ut turpis vel, tincidunt sodales justo. Donec quam eros, accumsan ut elementum et, euismod placerat ligula. Phasellus consequat velit lacus. Aenean vel massa et sapien molestie imperdiet et id ex. Nulla quis suscipit libero.
6060
post:
61+
securedBy: [ oauth_2_0: { scopes: [ read ] } ]
6162
description: Delete an item by Code.
6263
headers:
6364
header:

dist/scripts/api-console.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1095,6 +1095,7 @@
10951095

10961096
$scope.$on('resetData', function() {
10971097
$scope.currentSchemeType = 'Anonymous';
1098+
$scope.currentScheme = 'Anonymous|anonymous';
10981099
});
10991100

11001101
$scope.cancelRequest = function () {
@@ -2989,14 +2990,33 @@ RAML.Inspector = (function() {
29892990
var securedBy = this.securedBy || [],
29902991
selectedSchemes = {};
29912992

2993+
var overwrittenSchemes = {};
2994+
2995+
securedBy.map(function(el) {
2996+
if (typeof el === 'object') {
2997+
var key = Object.keys(el)[0];
2998+
2999+
overwrittenSchemes[key] = el[key];
3000+
securedBy.push(key);
3001+
}
3002+
});
3003+
29923004
securedBy = securedBy.filter(function(name) {
29933005
return name !== null && typeof name !== 'object';
29943006
});
29953007

29963008
securitySchemes.forEach(function(scheme) {
29973009
securedBy.forEach(function(name) {
29983010
if (scheme[name]) {
2999-
selectedSchemes[name] = scheme[name];
3011+
selectedSchemes[name] = jQuery.extend(true, {}, scheme[name]);
3012+
}
3013+
});
3014+
});
3015+
3016+
Object.keys(overwrittenSchemes).map(function (key) {
3017+
Object.keys(overwrittenSchemes[key]).map(function (prop) {
3018+
if (selectedSchemes[key].settings) {
3019+
selectedSchemes[key].settings[prop] = overwrittenSchemes[key][prop];
30003020
}
30013021
});
30023022
});

src/app/directives/sidebar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@
175175

176176
$scope.$on('resetData', function() {
177177
$scope.currentSchemeType = 'Anonymous';
178+
$scope.currentScheme = 'Anonymous|anonymous';
178179
});
179180

180181
$scope.cancelRequest = function () {

src/assets/examples/leagues.raml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ securedBy: [ basic, digest_auth, oauth_2_0, custom_scheme_1, custom_scheme_2 ]
5858
description: |
5959
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sagittis ipsum felis, sed aliquam massa egestas vel. Sed scelerisque leo lorem, a gravida enim congue eget. Sed rutrum quis odio vitae sollicitudin. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc pulvinar arcu at diam pharetra finibus. Curabitur malesuada hendrerit odio id consectetur. Etiam felis augue, malesuada ut turpis vel, tincidunt sodales justo. Donec quam eros, accumsan ut elementum et, euismod placerat ligula. Phasellus consequat velit lacus. Aenean vel massa et sapien molestie imperdiet et id ex. Nulla quis suscipit libero.
6060
post:
61+
securedBy: [ oauth_2_0: { scopes: [ read ] } ]
6162
description: Delete an item by Code.
6263
headers:
6364
header:

src/common/inspector/method.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,33 @@
7272
var securedBy = this.securedBy || [],
7373
selectedSchemes = {};
7474

75+
var overwrittenSchemes = {};
76+
77+
securedBy.map(function(el) {
78+
if (typeof el === 'object') {
79+
var key = Object.keys(el)[0];
80+
81+
overwrittenSchemes[key] = el[key];
82+
securedBy.push(key);
83+
}
84+
});
85+
7586
securedBy = securedBy.filter(function(name) {
7687
return name !== null && typeof name !== 'object';
7788
});
7889

7990
securitySchemes.forEach(function(scheme) {
8091
securedBy.forEach(function(name) {
8192
if (scheme[name]) {
82-
selectedSchemes[name] = scheme[name];
93+
selectedSchemes[name] = jQuery.extend(true, {}, scheme[name]);
94+
}
95+
});
96+
});
97+
98+
Object.keys(overwrittenSchemes).map(function (key) {
99+
Object.keys(overwrittenSchemes[key]).map(function (prop) {
100+
if (selectedSchemes[key].settings) {
101+
selectedSchemes[key].settings[prop] = overwrittenSchemes[key][prop];
83102
}
84103
});
85104
});

0 commit comments

Comments
 (0)