All files / src/controllers/security profile.js

100% Statements 9/9
100% Branches 7/7
100% Functions 4/4
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30              60x 60x 60x       3x             2x 1x   2x       1x    
class Profile {
  /**
   *
   * @param {Kuzzle} kuzzle
   * @param {Object} data
   */
  constructor (kuzzle, _id = null, policies = []) {
    this._kuzzle = kuzzle;
    this._id = _id;
    this.policies = policies;
  }
 
  get kuzzle () {
    return this._kuzzle;
  }
 
  /**
   * @returns {Promise<[Role]>}
   */
  getRoles (options = {}) {
    if (!this.policies || this.policies.length === 0) {
      return Promise.resolve([]);
    }
    return this.kuzzle.security.mGetRoles(this.policies.map(policy => policy.roleId), options);
  }
}
 
module.exports = Profile;