2017-08-03 22:03:15 +08:00
|
|
|
import axios from "axios";
|
|
|
|
import _ from "lodash";
|
|
|
|
import { TEAMS_PATH, CHANGE_TEAM_PATH } from "../../app/routes";
|
|
|
|
import { GET_LIST_OF_TEAMS, SET_CURRENT_TEAM } from "./types";
|
|
|
|
|
|
|
|
function addTeamsData(data) {
|
|
|
|
return {
|
|
|
|
type: GET_LIST_OF_TEAMS,
|
|
|
|
payload: data
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function setCurrentUser(user) {
|
|
|
|
return {
|
2017-08-07 19:51:22 +08:00
|
|
|
user,
|
|
|
|
type: SET_CURRENT_TEAM
|
2017-08-03 22:03:15 +08:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getTeamsList() {
|
|
|
|
return dispatch => {
|
|
|
|
axios
|
|
|
|
.get(TEAMS_PATH, { withCredentials: true })
|
|
|
|
.then(response => {
|
|
|
|
let teams = response.data;
|
|
|
|
dispatch(addTeamsData(teams));
|
|
|
|
let current_team = _.find(teams, team => team.current_team);
|
|
|
|
dispatch(setCurrentUser(current_team));
|
|
|
|
})
|
|
|
|
.catch(error => {
|
|
|
|
console.log("get Teams Error: ", error);
|
|
|
|
});
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function changeTeam(team_id) {
|
|
|
|
return dispatch => {
|
|
|
|
axios
|
|
|
|
.post(CHANGE_TEAM_PATH, { team_id }, { withCredentials: true })
|
|
|
|
.then(response => {
|
|
|
|
let teams = response.data;
|
|
|
|
dispatch(addTeamsData(teams));
|
|
|
|
let current_team = _.find(teams, team => team.current_team);
|
|
|
|
dispatch(setCurrentUser(current_team));
|
|
|
|
})
|
|
|
|
.catch(error => {
|
|
|
|
console.log("get Teams Error: ", error);
|
|
|
|
});
|
|
|
|
};
|
|
|
|
}
|