summaryrefslogtreecommitdiffstats
path: root/webapp/actions/team_actions.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/actions/team_actions.jsx')
-rw-r--r--webapp/actions/team_actions.jsx38
1 files changed, 38 insertions, 0 deletions
diff --git a/webapp/actions/team_actions.jsx b/webapp/actions/team_actions.jsx
new file mode 100644
index 000000000..2408e55fd
--- /dev/null
+++ b/webapp/actions/team_actions.jsx
@@ -0,0 +1,38 @@
+// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import UserStore from 'stores/user_store.jsx';
+
+import Constants from 'utils/constants.jsx';
+const ActionTypes = Constants.ActionTypes;
+
+import * as AsyncClient from 'utils/async_client.jsx';
+import Client from 'utils/web_client.jsx';
+import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
+
+import {browserHistory} from 'react-router';
+
+export function checkIfTeamExists(teamName, onSuccess, onError) {
+ Client.findTeamByName(teamName, onSuccess, onError);
+}
+
+export function createTeam(team, onSuccess, onError) {
+ Client.createTeam(team,
+ (rteam) => {
+ AsyncClient.getDirectProfiles();
+
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.CREATED_TEAM,
+ team: rteam,
+ member: {team_id: rteam.id, user_id: UserStore.getCurrentId(), roles: 'admin'}
+ });
+
+ browserHistory.push('/' + rteam.name + '/channels/town-square');
+
+ if (onSuccess) {
+ onSuccess(rteam);
+ }
+ },
+ onError
+ );
+}