diff options
Diffstat (limited to 'webapp/actions/team_actions.jsx')
-rw-r--r-- | webapp/actions/team_actions.jsx | 38 |
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 + ); +} |