You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
R-Dash_Application/R-Dash/redux/actions/users.ts

36 lines
1.3 KiB

import { Member } from "../../core/Member";
import { Owner } from "../../core/Owner";
import { Team } from "../../core/Team";
import { User } from "../../core/User";
import { WaitingMember } from "../../core/WaitingMember";
import { Fetch_Users } from "../Constants";
import { DtoUserEcurie } from "../dto/dtoUserEcurie";
export const setUsersList = (usersList: User[]) => {
return {
type: Fetch_Users,
payload: usersList,
};
}
export const getUsersList = (team: Team) => {
return async dispatch => {
try {
const usersPromise = await fetch('https://codefirst.iut.uca.fr/containers/enzojolys-r-dash_container/Pilotes');
const usersListJson = await usersPromise.json();
const dto: DtoUserEcurie = usersListJson.map(elt => new DtoUserEcurie(elt["owner"], elt["members"], elt["waitingMember"]));
const usersList: User[] = []
usersList.push(dto.getOwner())
dto.getMembers().forEach(element => {
usersList.push(element);
});
dto.getWaitingMember().forEach(element => {
usersList.push(element)
});
dispatch(setUsersList(usersList));
} catch (error) {
console.log('Error---------', error);
//dispatch(fetchDataRejected(error))
}
}
}