UNPKG

@corellium/corellium-api

Version:

Supported nodejs library for interacting with the Corellium service and VMs

66 lines (57 loc) 1.27 kB
'use strict' /** * Instances of this class are returned from {@link Corellium#roles}. * They should not be created using the constructor. * @hideconstructor */ class Role { constructor (client, info) { this.client = client this.info = info } /** The project name for which the role grants permissions. * * @return {string} */ get project () { return this.info.name } /** The type of permissions granted. Either admin or user. * * @return {string} */ get type () { return this.info.label } /** The object getting the permissions. Either a user or a team. * * @return {Promise<User>} * @return {Promise<Team>} */ get grantee () { if (this.info.user) { return this.client.getUser(this.info.user) } else { return this.client.getTeam(this.info.team) } } /** Is the object getting the permissions a user? * * @return {boolean} */ get isUser () { return !!this.info.user } /** Is the object getting the permissions a team? * * @return {boolean} */ get isTeam () { return !!this.info.team } /** Deletes the role */ async destroy () { await this.client.destroyRole(this) } } module.exports = Role