Compare commits
15 Commits
Backend/Pa
...
master
Author | SHA1 | Date |
---|---|---|
![]() |
964f0e2ba8 | 2 years ago |
![]() |
a3d83b19fd | 2 years ago |
![]() |
448ad0f5dd | 2 years ago |
![]() |
2d684c1640 | 2 years ago |
![]() |
ecf486f435 | 2 years ago |
![]() |
f3f41a2b94 | 2 years ago |
|
7dfc7e0482 | 2 years ago |
|
724f63e605 | 2 years ago |
![]() |
47fc46c04c | 2 years ago |
![]() |
474a58b51a | 2 years ago |
![]() |
0329133e1a | 2 years ago |
|
b643be8199 | 2 years ago |
![]() |
b6ee229a50 | 2 years ago |
![]() |
4754741fab | 2 years ago |
|
782a5aa86c | 2 years ago |
After Width: | Height: | Size: 527 B |
After Width: | Height: | Size: 594 B |
After Width: | Height: | Size: 419 B |
After Width: | Height: | Size: 587 B |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
|||||||
|
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';
|
||||||
|
//export const server_link = "https://codefirst.iut.uca.fr/containers/enzojolys-r-dash_container";
|
||||||
|
export const server_link = "https://r-dash.azurewebsites.net";
|
@ -0,0 +1,74 @@
|
|||||||
|
import { Alert } from "react-native";
|
||||||
|
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, server_link } 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://r-dash.azurewebsites.net/File?' + "pseudoPilote=test_PILOTE" + "&Email=test@gmail.com" + "&password=test123" + "&nameSession=test_SESSION" + "&nameCircuit=test_CIRCUIT" + "&typeSession=Unknown", {
|
||||||
|
// method: 'POST',
|
||||||
|
// body: formData
|
||||||
|
// });
|
||||||
|
// const data = await response.json();
|
||||||
|
// return data;
|
||||||
|
// } catch (error) {
|
||||||
|
// console.log('Error---------', error);
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
|
||||||
|
export const addXlsFile = (file: File, pseudoPilote: string, email: string, password: string, nameSession: string, nameCircuit: string, typeSession: string) => {
|
||||||
|
return async dispatch => {
|
||||||
|
try {
|
||||||
|
const formData = new FormData();
|
||||||
|
formData.append('file', file);
|
||||||
|
const response = await fetch(
|
||||||
|
server_link+`/File?pseudoPilote=${pseudoPilote}&Email=${email}&password=${password}&nameSession=${nameSession}&nameCircuit=${nameCircuit}&typeSession=${typeSession}`,
|
||||||
|
{
|
||||||
|
method: 'POST',
|
||||||
|
body: formData
|
||||||
|
}
|
||||||
|
);
|
||||||
|
const data = await response.json();
|
||||||
|
return data;
|
||||||
|
} catch (error) {
|
||||||
|
console.log('Error - POST FILE', error);
|
||||||
|
Alert.alert('Error', 'An error occured while adding a session. (server might be down)');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
export const getSessionsList = () => {
|
||||||
|
return async dispatch => {
|
||||||
|
try {
|
||||||
|
const sessionsPromise = await fetch(server_link+'/FullSession');
|
||||||
|
const sessionsListJson = await sessionsPromise.json();
|
||||||
|
const sessionsList: Session[] = sessionsListJson.map(elt => {
|
||||||
|
const laps: Lap[] = elt["tours"].map(lap => {
|
||||||
|
const points: Point[] = lap["points"].map(point => {
|
||||||
|
const geo = new Geocalisation(point["longitude"], point["latitude"]);
|
||||||
|
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["numero"], points, lap["temps"]);
|
||||||
|
});
|
||||||
|
return new Session(elt["name"], laps, elt["type"]);
|
||||||
|
});
|
||||||
|
dispatch(setSessionsList(sessionsList));
|
||||||
|
} catch (error) {
|
||||||
|
console.log('Error -- GET SESSIONS', error);
|
||||||
|
Alert.alert('Error', 'An error occured while getting sessions. (server might be down)');
|
||||||
|
//dispatch(fetchDataRejected(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,23 +1,45 @@
|
|||||||
import { Team } from "../../core/Team";
|
import { Team } from "../../core/Team";
|
||||||
import { Fetch_Teams } from "../Constants";
|
import { FETCH_TEAMS, ADD_TEAM, server_link } from "../Constants";
|
||||||
|
|
||||||
export const setCitiesList = (citiesList: Team[]) => {
|
export const setTeamsList = (teamsList: Team[]) => {
|
||||||
return {
|
return {
|
||||||
type: Fetch_Teams,
|
type: FETCH_TEAMS,
|
||||||
payload: citiesList,
|
payload: teamsList,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getCitiesList = () => {
|
export const addNewTeam = (newTeam: Team) => {
|
||||||
return async dispatch => {
|
return async dispatch => {
|
||||||
try {
|
try {
|
||||||
const citiesPromise = await fetch('https://iut-weather-api.azurewebsites.net/');
|
const response = await fetch(server_link + '/Ecuries?' + "Email=test@gmail.com" + "&password=test123" + "&pseudoPilote=test_PILOTE", {
|
||||||
const citiesListJson = await citiesPromise.json();
|
method: 'POST',
|
||||||
const citiesList: Team[] = citiesListJson.map(elt => new Localisation(elt["name"], elt["latitude"], elt["longitude"]));
|
headers: {
|
||||||
dispatch(setCitiesList(citiesList));
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify(newTeam)
|
||||||
|
});
|
||||||
|
const team = await response.json();
|
||||||
|
dispatch({
|
||||||
|
type: ADD_TEAM,
|
||||||
|
payload: team
|
||||||
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('Error---------', error);
|
console.log('Error---------', error);
|
||||||
//dispatch(fetchDataRejected(error))
|
//dispatch(fetchDataRejected(error))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const getTeamsList = () => {
|
||||||
|
return async dispatch => {
|
||||||
|
try {
|
||||||
|
const teamsPromise = await fetch(server_link+'/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(server_link+'/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