summaryrefslogtreecommitdiffstats
path: root/webapp/utils/async_client.jsx
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2016-04-05 09:29:01 -0400
committerChristopher Speller <crspeller@gmail.com>2016-04-05 09:29:01 -0400
commitb3edd32aee47a0b123870de58664600acc17087b (patch)
tree41840177672480ff428f279437a5a08a6eccaeb6 /webapp/utils/async_client.jsx
parentc12d997f248c143b7746d07a3c2ce9b58a3ecd5e (diff)
downloadchat-b3edd32aee47a0b123870de58664600acc17087b.tar.gz
chat-b3edd32aee47a0b123870de58664600acc17087b.tar.bz2
chat-b3edd32aee47a0b123870de58664600acc17087b.zip
PLT-1750 Moved slash commands to backstage
* Added slash commands to InstalledIntegrations page * Reset installed integration type filter if there is no longer any integrations of the selected type * Added pages to backstage to add slash commands * Cleaned up internationalization for slash commands * Added ability to regen slash command tokens from backstage * Removed Integrations tab from UserSettings
Diffstat (limited to 'webapp/utils/async_client.jsx')
-rw-r--r--webapp/utils/async_client.jsx77
1 files changed, 77 insertions, 0 deletions
diff --git a/webapp/utils/async_client.jsx b/webapp/utils/async_client.jsx
index db0b2258c..5b0c221ae 100644
--- a/webapp/utils/async_client.jsx
+++ b/webapp/utils/async_client.jsx
@@ -1258,3 +1258,80 @@ export function regenOutgoingHookToken(id) {
}
);
}
+
+export function listTeamCommands() {
+ if (isCallInProgress('listTeamCommands')) {
+ return;
+ }
+
+ callTracker.listTeamCommands = utils.getTimestamp();
+
+ client.listTeamCommands(
+ (data) => {
+ callTracker.listTeamCommands = 0;
+
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.RECEIVED_COMMANDS,
+ commands: data
+ });
+ },
+ (err) => {
+ callTracker.listTeamCommands = 0;
+ dispatchError(err, 'listTeamCommands');
+ }
+ );
+}
+
+export function addCommand(command, success, error) {
+ client.addCommand(
+ command,
+ (data) => {
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.RECEIVED_COMMAND,
+ command: data
+ });
+
+ if (success) {
+ success();
+ }
+ },
+ (err) => {
+ if (error) {
+ error(err);
+ } else {
+ dispatchError(err, 'addCommand');
+ }
+ }
+ );
+}
+
+export function deleteCommand(id) {
+ client.deleteCommand(
+ {id},
+ () => {
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.REMOVED_COMMAND,
+ id
+ });
+ },
+ (err) => {
+ dispatchError(err, 'deleteCommand');
+ }
+ );
+}
+
+export function regenCommandToken(id) {
+ client.regenCommandToken(
+ {id},
+ (data) => {
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.UPDATED_COMMAND,
+ command: data
+ });
+ },
+ (err) => {
+ dispatchError(err, 'regenCommandToken');
+ }
+ );
+}
+