'use strict'; var roles = require('../data/roles.js'); var propertyFilter = ['__v', '_id', '_user', 'updub', 'downdub', 'userid', 'roleid', 'roomid', 'ot_token']; function UserModel(data) { this.id = data.userid; this.role = data.roleid ? data.roleid._id : null; this.created = data._user.created; this.username = data._user.username; this.profileImage = data._user.profileImage; for (var key in data) { if (data.hasOwnProperty(key) && propertyFilter.indexOf(key) === -1) this[key] = data[key]; } this.dub = undefined; } UserModel.prototype.set = function(attrs) { for (var key in attrs) { if (attrs.hasOwnProperty(key) && propertyFilter.indexOf(key) === -1) this[key] = attrs[key]; } }; UserModel.prototype.hasPermission = function(perm) { if (this.role && roles[this.role] && roles[this.role].rights.indexOf(perm) !== -1) return true; return false; }; module.exports = UserModel;