diff options
Diffstat (limited to 'webapp/utils/async_client.jsx')
-rw-r--r-- | webapp/utils/async_client.jsx | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/webapp/utils/async_client.jsx b/webapp/utils/async_client.jsx index cd38be811..d47e45eb9 100644 --- a/webapp/utils/async_client.jsx +++ b/webapp/utils/async_client.jsx @@ -138,6 +138,35 @@ export function getMyChannelMembers() { }); } +export function getMyChannelMembersForTeam(teamId) { + return new Promise((resolve, reject) => { + if (isCallInProgress(`getMyChannelMembers${teamId}`)) { + resolve(); + return; + } + + callTracker[`getMyChannelMembers${teamId}`] = utils.getTimestamp(); + + Client.getMyChannelMembersForTeam( + teamId, + (data) => { + callTracker[`getMyChannelMembers${teamId}`] = 0; + + AppDispatcher.handleServerAction({ + type: ActionTypes.RECEIVED_MY_CHANNEL_MEMBERS, + members: data + }); + resolve(); + }, + (err) => { + callTracker[`getMyChannelMembers${teamId}`] = 0; + dispatchError(err, 'getMyChannelMembersForTeam'); + reject(); + } + ); + }); +} + export function viewChannel(channelId = ChannelStore.getCurrentId(), prevChannelId = '', time = 0) { if (channelId == null || !Client.teamId) { return; |