bb0f4bfa62
* Fix wrapping when too many hosts are shown (#207) * Update npm packages, fixes CVE-2019-10757 * Revert some breaking packages * Major overhaul - Docker buildx support in CI - Cypress API Testing in CI - Restructured folder layout (insert clean face meme) - Added Swagger documentation and validate API against that (to be completed) - Use common base image for all supported archs, which includes updated nginx with ipv6 support - Updated certbot and changes required for it - Large amount of Hosts names will wrap in UI - Updated packages for frontend - Version bump 2.1.0 * Updated documentation * Fix JWT expire time going crazy. Now set to 1day * Backend JS formatting rules * Remove v1 importer, I doubt anyone is using v1 anymore * Added backend formatting rules and enforce them in Jenkins builds * Fix CI, doesn't need a tty * Thanks bcrypt. Why can't you just be normal. * Cleanup after syntax check Co-authored-by: Marcelo Castagna <margaale@users.noreply.github.com>
55 lines
1.3 KiB
JavaScript
55 lines
1.3 KiB
JavaScript
const _ = require('underscore');
|
|
const Backbone = require('backbone');
|
|
|
|
const model = Backbone.Model.extend({
|
|
idAttribute: 'id',
|
|
|
|
defaults: function () {
|
|
return {
|
|
id: undefined,
|
|
name: '',
|
|
nickname: '',
|
|
email: '',
|
|
is_disabled: false,
|
|
roles: [],
|
|
permissions: null
|
|
};
|
|
},
|
|
|
|
/**
|
|
* @returns {Boolean}
|
|
*/
|
|
isAdmin: function () {
|
|
return _.indexOf(this.get('roles'), 'admin') !== -1;
|
|
},
|
|
|
|
/**
|
|
* Checks if the perm has either `view` or `manage` value
|
|
*
|
|
* @param {String} item
|
|
* @returns {Boolean}
|
|
*/
|
|
canView: function (item) {
|
|
let permissions = this.get('permissions');
|
|
return permissions !== null && typeof permissions[item] !== 'undefined' && ['view', 'manage'].indexOf(permissions[item]) !== -1;
|
|
},
|
|
|
|
/**
|
|
* Checks if the perm has `manage` value
|
|
*
|
|
* @param {String} item
|
|
* @returns {Boolean}
|
|
*/
|
|
canManage: function (item) {
|
|
let permissions = this.get('permissions');
|
|
return permissions !== null && typeof permissions[item] !== 'undefined' && permissions[item] === 'manage';
|
|
}
|
|
});
|
|
|
|
module.exports = {
|
|
Model: model,
|
|
Collection: Backbone.Collection.extend({
|
|
model: model
|
|
})
|
|
};
|