51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
'use strict';
|
|
|
|
SwaggerUi.Collections.AuthsCollection = Backbone.Collection.extend({
|
|
add: function (model) {
|
|
var args = Array.prototype.slice.call(arguments);
|
|
|
|
if (Array.isArray(model)) {
|
|
args[0] = _.map(model, function(val) {
|
|
return this.handleOne(val);
|
|
}, this);
|
|
} else {
|
|
args[0] = this.handleOne(model);
|
|
}
|
|
|
|
Backbone.Collection.prototype.add.apply(this, args);
|
|
},
|
|
|
|
handleOne: function (model) {
|
|
var result = model;
|
|
|
|
if (! (model instanceof Backbone.Model) ) {
|
|
switch (model.type) {
|
|
case 'oauth2':
|
|
result = new SwaggerUi.Models.Oauth2Model(model);
|
|
break;
|
|
case 'basic':
|
|
result = new SwaggerUi.Models.BasicAuthModel(model);
|
|
break;
|
|
case 'apiKey':
|
|
result = new SwaggerUi.Models.ApiKeyAuthModel(model);
|
|
break;
|
|
default:
|
|
result = new Backbone.Model(model);
|
|
}
|
|
}
|
|
|
|
return result;
|
|
},
|
|
|
|
isValid: function () {
|
|
return this.length === this.where({ valid: true }).length;
|
|
},
|
|
|
|
isAuthorized: function () {
|
|
return this.length === this.where({ isLogout: true }).length;
|
|
},
|
|
|
|
isPartiallyAuthorized: function () {
|
|
return this.where({ isLogout: true }).length > 0;
|
|
}
|
|
}); |