Add rest api endpoints to list members in a channel

pull/7793/head
Bradley Hilton 9 years ago
parent 4f3c9d43d9
commit 25792e619b
No known key found for this signature in database
GPG Key ID: 0666B2C24C43C358
  1. 22
      packages/rocketchat-api/server/v1/channels.js
  2. 21
      packages/rocketchat-api/server/v1/groups.js
  3. 22
      packages/rocketchat-api/server/v1/im.js

@ -417,6 +417,28 @@ RocketChat.API.v1.addRoute('channels.list.joined', { authRequired: true }, {
}
});
RocketChat.API.v1.addRoute('channels.members', { authRequired: true }, {
get() {
const findResult = findChannelByIdOrName({ params: this.requestParams(), checkedArchived: false });
const { offset, count } = this.getPaginationItems();
const { sort } = this.parseJsonQuery();
const members = RocketChat.models.Rooms.processQueryOptionsOnResult(Array.from(findResult.usernames), {
sort: sort ? sort : -1,
skip: offset,
limit: count
});
return RocketChat.API.v1.success({
members,
count: members.length,
offset,
total: findResult.usernames.length
});
}
});
RocketChat.API.v1.addRoute('channels.messages', { authRequired: true }, {
get() {
const findResult = findChannelByIdOrName({ params: this.requestParams(), checkedArchived: false });

@ -335,6 +335,27 @@ RocketChat.API.v1.addRoute('groups.list', { authRequired: true }, {
}
});
RocketChat.API.v1.addRoute('groups.members', { authRequired: true }, {
get() {
const findResult = findPrivateGroupByIdOrName({ params: this.requestParams(), userId: this.userId });
const { offset, count } = this.getPaginationItems();
const { sort } = this.parseJsonQuery();
const members = RocketChat.models.Rooms.processQueryOptionsOnResult(Array.from(findResult._room.usernames), {
sort: sort ? sort : -1,
skip: offset,
limit: count
});
return RocketChat.API.v1.success({
members,
count: members.length,
offset,
total: findResult._room.usernames
});
}
});
RocketChat.API.v1.addRoute('groups.messages', { authRequired: true }, {
get() {
const findResult = findPrivateGroupByIdOrName({ params: this.requestParams(), userId: this.userId });

@ -121,6 +121,28 @@ RocketChat.API.v1.addRoute(['dm.history', 'im.history'], { authRequired: true },
}
});
RocketChat.API.v1.addRoute(['dm.members', 'im.members'], { authRequired: true }, {
get() {
const findResult = findDirectMessageRoom(this.requestParams(), this.user);
const { offset, count } = this.getPaginationItems();
const { sort } = this.parseJsonQuery();
const members = RocketChat.models.Rooms.processQueryOptionsOnResult(Array.from(findResult.room.usernames), {
sort: sort ? sort : -1,
skip: offset,
limit: count
});
return RocketChat.API.v1.success({
members,
count: members.length,
offset,
total: findResult.room.usernames
});
}
});
RocketChat.API.v1.addRoute(['dm.messages', 'im.messages'], { authRequired: true }, {
get() {
const findResult = findDirectMessageRoom(this.requestParams(), this.user);

Loading…
Cancel
Save