Forked from
KSZK / DevTeam / kszkepzes / old / kszkepzes-frontend
193 commits behind the upstream repository.
-
Rafael László authoredRafael László authored
auth.js 2.24 KiB
import axios from './session';
import { GET_USERDATA, PROFILE_CHANGE, GROUP_CHANGE, GET_DEADLINE } from './types';
export const getUserData = () => (
async (dispatch) => {
try {
const user = await axios.get('/api/v1/profiles/me');
const {
id,
join_date: joinDate,
nick,
motivation_about: motivationAbout,
motivation_profession: motivationProfession,
motivation_exercise: motivationExercise,
full_name,
signed,
groups,
role,
} = user.data;
let permission;
switch (role) {
case 'Applicant':
permission = 1;
break;
case 'Student':
permission = 2;
break;
case 'Staff':
permission = 3;
break;
default:
permission = 0;
break;
}
dispatch({
type: GET_USERDATA,
payload: {
id, joinDate, nick, motivationAbout, motivationProfession, motivationExercise, full_name, signed, groups, role, permission
},
});
} catch (e) {
console.log(e);
}
}
);
export const getDeadline = () => (
async (dispatch) => {
try {
const response = await axios.get('/api/v1/profiles/deadline');
dispatch({
type: GET_DEADLINE,
payload: response.data,
});
} catch (e) {
console.log(e);
}
}
);
export const textChange = ({ target: { name, value } }) => (
(dispatch) => {
dispatch({ type: PROFILE_CHANGE, payload: value, target: name });
}
);
export const groupChange = groups => (
dispatch => (dispatch({ type: GROUP_CHANGE, payload: groups }))
);
export const submitRegistration = ({
nick, groups, signed, motivationAbout, motivationProfession, motivationExercise, id,
}) => (
async () => {
try {
const response = await axios.patch(`/api/v1/profiles/${id}/`, {
nick,
groups,
signed,
motivation_about: motivationAbout,
motivation_profession: motivationProfession,
motivation_exercise: motivationExercise,
});
if (response.data.id === id) {
alert('Sikeres mentés!');
} else {
alert('Mentés nem sikerült!');
}
} catch (e) {
console.log(e);
}
}
);