commit
0329133e1a
@ -0,0 +1,5 @@
|
||||
export const FETCH_USERS = 'FETCH_USERS';
|
||||
export const FETCH_TEAMS = 'FETCH_TEAMS';
|
||||
export const FETCH_SESSIONS = 'FETCH_SESSIONS';
|
||||
export const ADD_TEAM = 'ADD_TEAM';
|
||||
export const ADD_FILE = 'ADD_FILE';
|
@ -0,0 +1,51 @@
|
||||
import { Geocalisation } from "../../core/Geocalisation";
|
||||
import { Lap } from "../../core/Lap";
|
||||
import { Point } from "../../core/Point";
|
||||
import { Session } from "../../core/Session";
|
||||
import { User } from "../../core/User";
|
||||
import { FETCH_SESSIONS } from "../Constants";
|
||||
|
||||
export const setSessionsList = (sessionsList: Session[]) => {
|
||||
return {
|
||||
type: FETCH_SESSIONS,
|
||||
payload: sessionsList,
|
||||
};
|
||||
}
|
||||
|
||||
export const addXlsFile = async (file: File) => {
|
||||
try {
|
||||
const formData = new FormData();
|
||||
formData.append('file', file);
|
||||
const response = await fetch('https://codefirst.iut.uca.fr/containers/enzojolys-r-dash_container/upload', {
|
||||
method: 'POST',
|
||||
body: formData
|
||||
});
|
||||
const data = await response.json();
|
||||
return data;
|
||||
} catch (error) {
|
||||
console.log('Error---------', error);
|
||||
}
|
||||
};
|
||||
|
||||
export const getSessionsList = (user: User) => {
|
||||
return async dispatch => {
|
||||
try {
|
||||
const sessionsPromise = await fetch('https://codefirst.iut.uca.fr/containers/enzojolys-r-dash_container/Sessions/'+user.getUsername);
|
||||
const sessionsListJson = await sessionsPromise.json();
|
||||
const sessionsList: Session[] = sessionsListJson.map(elt => {
|
||||
const laps: Lap[] = elt.laps.map(lap => {
|
||||
const points: Point[] = lap.points.map(point => {
|
||||
const geo = new Geocalisation(point.geo.latitude, point.geo.longitude);
|
||||
return new Point(geo, point.timer, point.distance, point.nGear, point.pBrakeF, point.aSteer, point.rPedal, point.gLong, point.gLat, point.vCar);
|
||||
});
|
||||
return new Lap(lap.number, points, lap.time);
|
||||
});
|
||||
return new Session(elt.name, laps, elt.type);
|
||||
});
|
||||
dispatch(setSessionsList(sessionsList));
|
||||
} catch (error) {
|
||||
console.log('Error---------', error);
|
||||
//dispatch(fetchDataRejected(error))
|
||||
}
|
||||
}
|
||||
}
|
@ -1,23 +1,45 @@
|
||||
import { Team } from "../../core/Team";
|
||||
import { Fetch_Teams } from "../Constants";
|
||||
import { FETCH_TEAMS, ADD_TEAM } from "../Constants";
|
||||
|
||||
export const setCitiesList = (citiesList: Team[]) => {
|
||||
export const setTeamsList = (teamsList: Team[]) => {
|
||||
return {
|
||||
type: Fetch_Teams,
|
||||
payload: citiesList,
|
||||
type: FETCH_TEAMS,
|
||||
payload: teamsList,
|
||||
};
|
||||
}
|
||||
|
||||
export const getCitiesList = () => {
|
||||
export const addNewTeam = (newTeam: Team) => {
|
||||
return async dispatch => {
|
||||
try {
|
||||
const citiesPromise = await fetch('https://iut-weather-api.azurewebsites.net/');
|
||||
const citiesListJson = await citiesPromise.json();
|
||||
const citiesList: Team[] = citiesListJson.map(elt => new Localisation(elt["name"], elt["latitude"], elt["longitude"]));
|
||||
dispatch(setCitiesList(citiesList));
|
||||
const response = await fetch('https://codefirst.iut.uca.fr/containers/enzojolys-r-dash_container/Ecuries', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(newTeam)
|
||||
});
|
||||
const team = await response.json();
|
||||
dispatch({
|
||||
type: ADD_TEAM,
|
||||
payload: team
|
||||
});
|
||||
} catch (error) {
|
||||
console.log('Error---------', error);
|
||||
//dispatch(fetchDataRejected(error))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const getTeamsList = () => {
|
||||
return async dispatch => {
|
||||
try {
|
||||
const teamsPromise = await fetch('https://codefirst.iut.uca.fr/containers/enzojolys-r-dash_container/Ecuries');
|
||||
const teamsListJson = await teamsPromise.json();
|
||||
const teamsList: Team[] = teamsListJson.map(elt => new Team(elt["name"], elt["owner"], elt["users"], elt["logo"]));
|
||||
dispatch(setTeamsList(teamsList));
|
||||
} catch (error) {
|
||||
console.log('Error---------', error);
|
||||
//dispatch(fetchDataRejected(error))
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
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/'+team);
|
||||
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))
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
import { Member } from "../../core/Member";
|
||||
import { Owner } from "../../core/Owner";
|
||||
import { WaitingMember } from "../../core/WaitingMember";
|
||||
|
||||
export class DtoUserEcurie {
|
||||
private owner: Owner;
|
||||
private members: Member[];
|
||||
private waitingMember: WaitingMember[];
|
||||
|
||||
constructor(owner: Owner, members: Member[], waitingMember: WaitingMember[]) {
|
||||
this.owner = owner;
|
||||
this.members = members;
|
||||
this.waitingMember = waitingMember;
|
||||
}
|
||||
|
||||
getOwner() {
|
||||
return this.owner;
|
||||
}
|
||||
setOwner(owner: Owner) {
|
||||
this.owner = owner;
|
||||
}
|
||||
|
||||
getMembers() {
|
||||
return this.members;
|
||||
}
|
||||
setMembers(members: Member[]) {
|
||||
this.members = members;
|
||||
}
|
||||
|
||||
getWaitingMember() {
|
||||
return this.waitingMember;
|
||||
}
|
||||
setWaitingMember(waitingMember: WaitingMember[]) {
|
||||
this.waitingMember = waitingMember;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in new issue