memberHasRole, membersWithRole

This commit is contained in:
abalabahaha
2016-01-29 17:02:40 -08:00
parent 2c8747995a
commit ee2172c1d5
8 changed files with 83 additions and 58 deletions

View File

@@ -397,6 +397,20 @@ var Client = (function (_EventEmitter) {
return this.addMemberToRole(member, role, callback);
};
// def addUserToRole
Client.prototype.memberHasRole = function memberHasRole(member, role) {
return this.internal.memberHasRole(member, role);
};
// def addUserToRole
Client.prototype.userHasRole = function userHasRole(member, role) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
return this.memberHasRole(member, role, callback);
};
// def removeMemberFromRole
Client.prototype.removeMemberFromRole = function removeMemberFromRole(member, role) {
@@ -413,38 +427,6 @@ var Client = (function (_EventEmitter) {
return this.removeMemberFromRole(member, role, callback);
};
// def addMemberToRole
Client.prototype.addMemberToRoles = function addMemberToRoles(member, roles) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
return this.internal.addMemberToRoles(member, roles).then(dataCallback(callback), errorCallback(callback));
};
// def addUserToRole
Client.prototype.addUserToRoles = function addUserToRoles(member, roles) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
return this.addMemberToRoles(member, roles, callback);
};
// def removeMemberFromRole
Client.prototype.removeMemberFromRoles = function removeMemberFromRoles(member, roles) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
return this.internal.removeMemberFromRoles(member, roles).then(dataCallback(callback), errorCallback(callback));
};
// def removeUserFromRole
Client.prototype.removeUserFromRoles = function removeUserFromRoles(member, roles) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
return this.removeMemberFromRoles(member, roles, callback);
};
// def createInvite
Client.prototype.createInvite = function createInvite(chanServ, options) {

View File

@@ -801,7 +801,7 @@ var InternalClient = (function () {
member = this.resolver.resolveUser(member);
if (!member) {
return Promise.reject(new Error("member not in server"));
return Promise.reject(new Error("user not found"));
}
if (!Array.isArray(roles) || roles.length === 0) {
@@ -833,13 +833,25 @@ var InternalClient = (function () {
});
};
InternalClient.prototype.memberHasRole = function memberHasRole(member, role) {
member = this.resolver.resolveUser(member);
if (!member) {
throw new Error("user not found");
}
return !!role.server.rolesOf(member).find(function (r) {
return r.id == role.id;
});
};
//def removeMemberFromRole
InternalClient.prototype.removeMemberFromRole = function removeMemberFromRole(member, roles) {
member = this.resolver.resolveUser(member);
if (!member) {
return Promise.reject(new Error("member not in server"));
return Promise.reject(new Error("user not found"));
}
if (!Array.isArray(roles) || roles.length === 0) {