From 15b97837f71746ca81ef6534258b936dba6412c6 Mon Sep 17 00:00:00 2001 From: anperederi Date: Thu, 14 Dec 2023 13:20:34 +0100 Subject: [PATCH] update paul's branch with database link on search user --- .gitignore | 1 + .../src/app/controller/AthleteController.php | 79 +++++-- .../src/data/core/database/AthleteEntity.php | 9 - .../src/data/core/database/AthleteGateway.php | 54 ++--- .../src/data/core/database/AthleteMapper.php | 29 +-- Sources/src/data/core/database/Connexion.php | 24 +- Sources/src/data/core/database/db.sql | 216 ++++++++---------- Sources/src/data/model/User.php | 4 +- Sources/tests/GatewayTest.php | 4 +- Sources/tests/loginDatabase.php | 7 + 10 files changed, 220 insertions(+), 207 deletions(-) create mode 100644 Sources/tests/loginDatabase.php diff --git a/.gitignore b/.gitignore index 7f5f2930..749e45fe 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ dist *.swo .env +loginDatabase.php # Cache file on macOS .DS_Store diff --git a/Sources/src/app/controller/AthleteController.php b/Sources/src/app/controller/AthleteController.php index a7fe71f6..e2df718d 100644 --- a/Sources/src/app/controller/AthleteController.php +++ b/Sources/src/app/controller/AthleteController.php @@ -2,6 +2,7 @@ namespace App\Controller; +use Database\AthleteMapper; use Shared\Validation; use App\Container; use App\Router\Request\IRequest; @@ -26,38 +27,88 @@ class AthleteController extends BaseController $this->preference = new Preferences(); } +// #[Route(path: '/search-user', name: 'search-user', methods: ['GET'])] +// public function searchUser(string $username, IRequest $req): Response +// { +// $taberror = []; +// if(!Validation::val_string($username)){ +// print("Nom invalide."); +// } +// else { +// try { +// $athleteGateway = new AthleteGateway(new Connexion("mysql:host=localhost;dbname=sae_3", "Perederii", "")); +//// $listSearch=$this->container->get(UserManager::class)->searchUsersByName($username); +// $listSearch = $athleteGateway->getAthlete(); +// $map = new AthleteMapper (); +// $athleteEntity = $map->athleteSqlToEntity($listSearch); +// foreach ($athleteEntity as $entity) { +// $users = $map->athleteEntityToModel($entity); +// $listUsers[$i++]=['nom' => $users->getNom(), 'prenom'=>$users->getPrenom(), 'img'=>'john_doe']; +// } +// +// $i=0; +// foreach ($users as $user){ +// echo "

HELLO

"; +// $listUsers[$i++]=['nom' => $user->getNom(), 'prenom'=>$user->getPrenom(), 'img'=>'john_doe', 'username'=>$user->getUsername()]; +// } +// echo "

HEllO

"; +// //$currentUser=$this->container->get(UserManager::class)->getCurrentUser(); +// //$currentUser=$_SESSION['user']; +// $response = $this->render('./page/addfriend.html.twig',[ +// 'css' => $_COOKIE['preferences'], +// 'pp' => "test", +// 'user' => 'johndoe',//$currentUser->getUsername(), +// 'role' => 'Athlete',//$currentUser->getRole(), +// 'users' => $listUsers +// ]); +// } catch (\Throwable $th) { +// throw $th; +// return $this->render("addfriend.html.twig", ['tabError' => $taberror ]); +// } +// } +// return $response; +// +// } + #[Route(path: '/search-user', name: 'search-user', methods: ['GET'])] public function searchUser(string $username, IRequest $req): Response { $taberror = []; - if(!Validation::val_string($username)){ + if (!Validation::val_string($username)) { print("Nom invalide."); - } - else { + } else { try { - $athleteGateway = new AthleteGateway(new Connexion("mysql:host=londres;dbname=dbkemonteiro2;","kemonteiro2","#Phpmyadmin63")); - //$listSearch=$this->container->get(UserManager::class)->searchUsersByName($username); - $listSearch = $athleteGateway->getAthleteByName($username); - $i=0; - foreach ($listSearch as $user){ - $listUsers[$i++]=['nom' => $user->getNom(), 'prenom'=>$user->getPrenom(), 'img'=>'john_doe', 'username'=>$user->getUsername()]; + $athleteGateway = new AthleteGateway(new Connexion("pgsql:host=localhost;dbname=sae_3", "Perederii", "")); + $listSearch = $athleteGateway->getAthlete($username); + $map = new AthleteMapper(); + $athleteEntity = $map->athleteSqlToEntity($listSearch); + + $listUsers = []; + $i = 0; + foreach ($athleteEntity as $entity) { + $user = $map->athleteEntityToModel($entity); + $listUsers[$i] = ['idathlete' => number_format($user->getId(), 1), 'nom' => $user->getNom(), + 'prenom' => $user->getPrenom(),'email' => $user->getEmail(), 'sexe' => $user->getSexe(), + 'taille' => $user->getTaille(), 'poids' => $user->getPoids(), 'motdepasse' => $user->getMotDePasse(), + 'datenaissance' => $user->getDateNaissance(), 'iscoach' => $user->getRole(), 'img' => 'test', + 'username' => $user->getUsername()]; + $i++; } - //$currentUser=$this->container->get(UserManager::class)->getCurrentUser(); - //$currentUser=$_SESSION['user']; + $response = $this->render('./page/addfriend.html.twig',[ 'css' => $_COOKIE['preferences'], - 'pp' => "test", + 'pp' => 'test', 'user' => 'johndoe',//$currentUser->getUsername(), 'role' => 'Athlete',//$currentUser->getRole(), 'users' => $listUsers ]); + } catch (\Throwable $th) { throw $th; - return $this->render("addfriend.html.twig", ['tabError' => $taberror ]); + return $this->render("addfriend.html.twig", ['tabError' => $taberror]); } } return $response; - } #[Route(path: '/analyses', name: 'analyses', methods: ['GET'])] diff --git a/Sources/src/data/core/database/AthleteEntity.php b/Sources/src/data/core/database/AthleteEntity.php index 334a66c8..f9b809ac 100644 --- a/Sources/src/data/core/database/AthleteEntity.php +++ b/Sources/src/data/core/database/AthleteEntity.php @@ -13,7 +13,6 @@ class AthleteEntity { private $motDePasse; private $dateNaissance; private $isCoach; - private $coachId; // Getters public function getIdAthlete() { @@ -56,10 +55,6 @@ class AthleteEntity { return $this->isCoach; } - public function getCoachId(){ - return $this->coachId; - } - // Setters public function setIdAthlete($idAthlete) { $this->idAthlete = $idAthlete; @@ -100,10 +95,6 @@ class AthleteEntity { public function setIsCoach($isCoach){ $this->isCoach = $isCoach; } - - public function setCoachId($coachId){ - $this->coachId = $coachId; - } } ?> diff --git a/Sources/src/data/core/database/AthleteGateway.php b/Sources/src/data/core/database/AthleteGateway.php index 1e924ecb..8bada5e3 100644 --- a/Sources/src/data/core/database/AthleteGateway.php +++ b/Sources/src/data/core/database/AthleteGateway.php @@ -2,6 +2,7 @@ namespace Database; use \PDO; +use Shared\Log; class AthleteGateway { private Connexion $connection; @@ -12,89 +13,72 @@ class AthleteGateway { public function getAthlete(): array { - $query = "SELECT * FROM Athlete WHERE isCoach=NULL"; - return $this->connection->executeWithErrorHandling($query); + $query = "SELECT * FROM Athlete WHERE isCoach=FALSE"; + $res = $this->connection->executeWithErrorHandling($query); + return $res; } public function getAthleteById(int $userId): array { - $query = "SELECT * FROM Athlete WHERE idAthlete = :id"; + $query = "SELECT * FROM Athlete WHERE idAthlete = :id AND isCoach=FALSE"; $params = [':id' => [$userId, PDO::PARAM_INT]]; - return $this->connection->executeWithErrorHandling($query, $params); + $res = $this->connection->executeWithErrorHandling($query, $params); + return $res; } public function getAthleteByName(string $name): array { - $query = "SELECT * FROM Athlete WHERE nom = :name AND isCoach=NULL"; + $query = "SELECT * FROM Athlete WHERE nom = :name AND isCoach=FALSE"; $params = [':name' => [$name, PDO::PARAM_STR]]; return $this->connection->executeWithErrorHandling($query, $params); } public function getAthleteByFirstName(string $firstName): array { - $query = "SELECT * FROM Athlete WHERE prenom = :firstName"; + $query = "SELECT * FROM Athlete WHERE prenom = :firstName AND isCoach=FALSE"; $params = [':firstName' => [$firstName, PDO::PARAM_STR]]; return $this->connection->executeWithErrorHandling($query, $params); } public function getAthleteByEmail(string $email): array { - $query = "SELECT * FROM Athlete WHERE email = :email"; + $query = "SELECT * FROM Athlete WHERE email = :email AND isCoach=FALSE"; $params = [':email' => [$email, PDO::PARAM_STR]]; return $this->connection->executeWithErrorHandling($query, $params); } public function getAthleteByGender(string $gender): array { - $query = "SELECT * FROM Athlete WHERE sexe = :gender"; + $query = "SELECT * FROM Athlete WHERE sexe = :gender AND isCoach=FALSE"; $params = [':gender' => [$gender, PDO::PARAM_STR]]; return $this->connection->executeWithErrorHandling($query, $params); } public function getAthleteByHeight(int $height): array { - $query = "SELECT * FROM Athlete WHERE taille = :height"; + $query = "SELECT * FROM Athlete WHERE taille = :height AND isCoach=FALSE"; $params = [':height' => [$height, PDO::PARAM_INT]]; return $this->connection->executeWithErrorHandling($query, $params); } public function getAthleteByWeight(int $weight): array { - $query = "SELECT * FROM Athlete WHERE poids = :weight"; + $query = "SELECT * FROM Athlete WHERE poids = :weight AND isCoach=FALSE"; $params = [':weight' => [$weight, PDO::PARAM_INT]]; return $this->connection->executeWithErrorHandling($query, $params); } public function getAthleteByBirthDate(string $birthdate): array { - $query = "SELECT * FROM Athlete WHERE dateNaissance = :birthdate"; + $query = "SELECT * FROM Athlete WHERE dateNaissance = :birthdate AND isCoach=FALSE"; $params = [':birthdate' => [$birthdate, PDO::PARAM_STR]]; return $this->connection->executeWithErrorHandling($query, $params); } - public function getAthleteByIsCoachTrue(): array - { - $query = "SELECT * FROM Athlete WHERE isCoach = TRUE"; - return $this->connection->executeWithErrorHandling($query); - } - - public function getAthleteByIsCoachFalse(): array - { - $query = "SELECT * FROM Athlete WHERE isCoach = FALSE"; - return $this->connection->executeWithErrorHandling($query); - } - - public function getAthleteByCoachId(int $coachId): array - { - $query = "SELECT * FROM Athlete WHERE coachId = :coachId"; - $params = [':coachId' => [$coachId, PDO::PARAM_INT]]; - return $this->connection->executeWithErrorHandling($query, $params); - } - public function addAthlete(AthleteEntity $athlete): array { - $query = "INSERT INTO Athlete (nom, prenom, email, sexe, taille, poids, motDePasse, dateNaissance, isCoach, coachId) - VALUES (:nom, :prenom, :email, :sexe, :taille, :poids, :motDePasse, :dateNaissance, :isCoach, :coachId)"; + $query = "INSERT INTO Athlete (nom, prenom, email, sexe, taille, poids, motDePasse, dateNaissance, isCoach) + VALUES (:nom, :prenom, :email, :sexe, :taille, :poids, :motDePasse, :dateNaissance, :isCoach)"; $params = [ ':nom' => $athlete->getNom(), @@ -106,7 +90,6 @@ class AthleteGateway { ':motDePasse' => $athlete->getMotDePasse(), ':dateNaissance' => $athlete->getDateNaissance(), ':isCoach' => $athlete->getIsCoach(), - ':coachId' => $athlete->getCoachId(), ]; return $this->connection->executeWithErrorHandling($query, $params); @@ -116,7 +99,7 @@ class AthleteGateway { { $query = "UPDATE Athlete SET nom = :nom, prenom = :prenom, email = :email, sexe = :sexe, - taille = :taille, poids = :poids, motDePasse = :motDePasse, dateNaissance = :dateNaissance, isCoach = :isCoach, coachId = :coachId + taille = :taille, poids = :poids, motDePasse = :motDePasse, dateNaissance = :dateNaissance, isCoach = :isCoach WHERE idAthlete = :idAthlete"; $params = [ @@ -129,8 +112,7 @@ class AthleteGateway { ':poids' => $newAthlete->getPoids(), ':motDePasse' => $newAthlete->getMotDePasse(), ':dateNaissance' => $newAthlete->getDateNaissance(), - ':isCoach' => $athlete->getIsCoach(), - ':coachId' => $athlete->getCoachId(), + ':isCoach' => $newAthlete->getIsCoach(), ]; return $this->connection->executeWithErrorHandling($query, $params); diff --git a/Sources/src/data/core/database/AthleteMapper.php b/Sources/src/data/core/database/AthleteMapper.php index 2938a71a..24d6eb6d 100644 --- a/Sources/src/data/core/database/AthleteMapper.php +++ b/Sources/src/data/core/database/AthleteMapper.php @@ -6,6 +6,7 @@ use \PDO; use \DateTime; use Model\Role; use Model\Athlete; +use Shared\Log; class AthleteMapper { public function athleteSqlToEntity(array $data): array { @@ -13,9 +14,8 @@ class AthleteMapper { foreach ($data as $athleteData) { $athlete = new AthleteEntity(); - - if (isset($athleteData['idAthlete'])) { - $athlete->setIdAthlete($athleteData['idAthlete']); + if (isset($athleteData['idathlete'])) { + $athlete->setIdAthlete($athleteData['idathlete']); } if (isset($athleteData['nom'])) { @@ -42,18 +42,16 @@ class AthleteMapper { $athlete->setPoids($athleteData['poids']); } - if (isset($athleteData['motDePasse'])) { - $athlete->setMotDePasse($athleteData['motDePasse']); + if (isset($athleteData['motdepasse'])) { + $athlete->setMotDePasse($athleteData['motdepasse']); } - if (isset($athleteData['dateNaissance'])) { - $athlete->setDateNaissance($athleteData['dateNaissance']); - } - if (isset($athleteData['isCoach'])) { - $athlete->setIsCoach($athleteData['isCoach']); + if (isset($athleteData['datenaissance'])) { + $athlete->setDateNaissance($athleteData['datenaissance']); } - if (isset($athleteData['coachId'])) { - $athlete->setCoachId($athleteData['coachId']); + + if (isset($athleteData['iscoach'])) { + $athlete->setIsCoach($athleteData['iscoach']); } $athleteEntities[] = $athlete; @@ -64,20 +62,17 @@ class AthleteMapper { public function athleteEntityToModel(AthleteEntity $athleteEntity): User { $role = new Athlete(); // Utilisez la classe Athlete - - $dateSpecific = $athleteEntity->getDateNaissance(); - $date = new DateTime($dateSpecific); - + $date = new DateTime($athleteEntity->getDateNaissance()); $user = new User( $athleteEntity->getIdAthlete(), $athleteEntity->getNom(), $athleteEntity->getPrenom(), + "myUsername", $athleteEntity->getEmail(), $athleteEntity->getMotDePasse(), $athleteEntity->getSexe(), $athleteEntity->getTaille(), $athleteEntity->getPoids(), - $athleteEntity->getDateNaissance(), $date, $role ); diff --git a/Sources/src/data/core/database/Connexion.php b/Sources/src/data/core/database/Connexion.php index 9a03267b..0d9e4254 100644 --- a/Sources/src/data/core/database/Connexion.php +++ b/Sources/src/data/core/database/Connexion.php @@ -2,6 +2,9 @@ namespace Database; +use DateTime; +use Shared\Log; + class Connexion extends \PDO { private $stmt; @@ -15,13 +18,14 @@ class Connexion extends \PDO { } } - public function executeQuery(string $query, array $parameters = []): bool { + public function executeQuery(string $query, array $parameters = []) { $this->stmt = $this->prepare($query); - //foreach ($parameters as $name => $value) { - // $this->stmt->bindValue($name, $value[0], $value[1]); - //} +// foreach ($parameters as $name => $value) { +// $this->stmt->bindValue($name, $value[0], $value[1]); +// } foreach ($parameters as $name => $value) { - $bindValueResult = $this->stmt->bindValue($name, $value, \PDO::PARAM_STR); + $dataType = is_numeric($value) ? \PDO::PARAM_INT : \PDO::PARAM_STR; + $bindValueResult = $this->stmt->bindValue($name, $value, $dataType); if (!$bindValueResult) { // Gérez l'erreur, par exemple, en lançant une exception. throw new \PDOException('Failed to bind value for parameter ' . $name); @@ -43,7 +47,15 @@ class Connexion extends \PDO { } public function getResults(): array { - return $this->stmt->fetchAll(\PDO::FETCH_ASSOC); + $results = $this->stmt->fetchAll(\PDO::FETCH_ASSOC); + + // Convertissez les colonnes "taille" et "poids" en nombres + foreach ($results as &$row) { + $row['taille'] = floatval($row['taille']); + $row['poids'] = floatval($row['poids']); + } + + return $results; } } ?> \ No newline at end of file diff --git a/Sources/src/data/core/database/db.sql b/Sources/src/data/core/database/db.sql index f0e29770..0eae219b 100644 --- a/Sources/src/data/core/database/db.sql +++ b/Sources/src/data/core/database/db.sql @@ -1,158 +1,132 @@ --- Athlete Table +DROP TABLE IF EXISTS Athlete, Friendship, Notification, Statistique, Entrainement, Participe, SourceDonnee, Activite, FrequenceCardiaque CASCADE; + CREATE TABLE Athlete ( - idAthlete SERIAL PRIMARY KEY, - nom VARCHAR(255), - prenom VARCHAR(255), - email VARCHAR(255) UNIQUE, - sexe CHAR(1), - taille DECIMAL, - poids DECIMAL, - motDePasse VARCHAR(255), - dateNaissance DATE + idAthlete SERIAL PRIMARY KEY, + nom VARCHAR(255), + prenom VARCHAR(255), + email VARCHAR(255) UNIQUE, + sexe CHAR(1), + taille DECIMAL, + poids DECIMAL, + motDePasse VARCHAR(255), + dateNaissance DATE, + isCoach BOOLEAN ); --- Friendship Table CREATE TABLE Friendship ( - idAthlete1 INT, - idAthlete2 INT, - debut DATE, - PRIMARY KEY (idAthlete1, idAthlete2), - FOREIGN KEY (idAthlete1) REFERENCES Athlete (idAthlete), - FOREIGN KEY (idAthlete2) REFERENCES Athlete (idAthlete) + idAthlete1 INT, + idAthlete2 INT, + debut DATE, + PRIMARY KEY (idAthlete1, idAthlete2), + FOREIGN KEY (idAthlete1) REFERENCES Athlete(idAthlete), + FOREIGN KEY (idAthlete2) REFERENCES Athlete(idAthlete) ); --- Notification Table CREATE TABLE Notification ( - idNotif SERIAL PRIMARY KEY, - message TEXT, - date DATE, - statut BOOLEAN, - urgence INT, - athleteId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete) -); - --- Coach Table -CREATE TABLE Coach ( - idCoach SERIAL PRIMARY KEY, - athleteId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete) + idNotif INT PRIMARY KEY, + message TEXT, + date DATE, + statut BOOLEAN, + urgence INT, + athleteId INT, + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); --- Statistique Table CREATE TABLE Statistique ( - idStatistique SERIAL PRIMARY KEY, - poids DECIMAL, - fcMoyenne DECIMAL, - fcMax DECIMAL, - caloriesBruleesMoy DECIMAL, - date DATE, - athleteId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete) + idStatistique INT PRIMARY KEY, + poids DECIMAL, + fcMoyenne DECIMAL, + fcMax DECIMAL, + caloriesBruleesMoy DECIMAL, + date DATE, + athleteId INT, + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); --- Entrainement Table CREATE TABLE Entrainement ( - idEntrainement SERIAL PRIMARY KEY, - date DATE, - description TEXT, - latitude DECIMAL, - longitude DECIMAL, - feedback TEXT, - coachId INT, - FOREIGN KEY (coachId) REFERENCES Coach (idCoach) + idEntrainement INT PRIMARY KEY, + date DATE, + description TEXT, + latitude DECIMAL, + longitude DECIMAL, + feedback TEXT, + athleteId INT, + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); --- Participe Table CREATE TABLE Participe ( - athleteId INT, - entrainementId INT, - PRIMARY KEY (athleteId, entrainementId), - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete), - FOREIGN KEY (entrainementId) REFERENCES Entrainement (idEntrainement) + athleteId INT, + entrainementId INT, + PRIMARY KEY (athleteId, entrainementId), + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete), + FOREIGN KEY (entrainementId) REFERENCES Entrainement(idEntrainement) ); --- SourceDonnee Table CREATE TABLE SourceDonnee ( - idSource SERIAL PRIMARY KEY, - type VARCHAR(255), - modele VARCHAR(255), - precision DECIMAL, - athleteId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete) + idSource INT PRIMARY KEY, + type VARCHAR(255), + modele VARCHAR(255), + precision2 DECIMAL, + athleteId INT, + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); --- Activite Table CREATE TABLE Activite ( - idActivite SERIAL PRIMARY KEY, - type VARCHAR(255), - date DATE, - heureDeDebut TIME, - heureDeFin TIME, - effortRessent DECIMAL, - variabilite DECIMAL, - variance DECIMAL, - ecartType DECIMAL, - moyenne DECIMAL, - maximum DECIMAL, - minimum DECIMAL, - temperatureMoyenne DECIMAL, - athleteId INT, - sourceId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete), - FOREIGN KEY (sourceId) REFERENCES SourceDonnee (idSource) + idActivite INT PRIMARY KEY, + type VARCHAR(255), + date DATE, + heureDeDebut TIME, + heureDeFin TIME, + effortRessent DECIMAL, + variabilite DECIMAL, + variance DECIMAL, + ecartType DECIMAL, + moyenne DECIMAL, + maximum DECIMAL, + minimum DECIMAL, + temperatureMoyenne DECIMAL, + athleteId INT, + sourceId INT, + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete), + FOREIGN KEY (sourceId) REFERENCES SourceDonnee(idSource) ); --- FrequenceCardiaque Table CREATE TABLE FrequenceCardiaque ( - idFc SERIAL PRIMARY KEY, - altitude DECIMAL, - temps TIME, - temperature DECIMAL, - bpm INT, - longitude DECIMAL, - latitude DECIMAL, - activiteId INT, - FOREIGN KEY (activiteId) REFERENCES Activite (idActivite) + idFc INT PRIMARY KEY, + altitude DECIMAL, + temps TIME, + temperature DECIMAL, + bpm INT, + longitude DECIMAL, + latitude DECIMAL, + activiteId INT, + FOREIGN KEY (activiteId) REFERENCES Activite(idActivite) ); --- Insertion de données dans la table Athlete -INSERT INTO Athlete (nom, prenom, email, sexe, taille, poids, motDePasse, dateNaissance) VALUES -('Doe', 'John', 'john.doe@example.com', 'M', 1.80, 70, 'password123', '1990-01-01'), -('Smith', 'Jane', 'jane.smith@example.com', 'F', 1.65, 60, 'password456', '1992-02-02'); +INSERT INTO Athlete (idAthlete, nom, prenom, email, sexe, taille, poids, motDePasse, dateNaissance, isCoach) VALUES + (1, 'Doe', 'John', 'john.doe@example.com', 'M', 1.80, 70, 'password123', '1990-01-01', FALSE), + (2, 'Smith', 'Jane', 'jane.smith@example.com', 'F', 1.65, 60, 'password456', '1992-02-02', TRUE); --- Insertion de données dans la table Friendship INSERT INTO Friendship (idAthlete1, idAthlete2, debut) VALUES -(1, 2, '2023-01-01'); - --- Insertion de données dans la table Notification -INSERT INTO Notification (message, date, statut, urgence, athleteId) VALUES -('Training session at 10 AM', '2023-03-10', TRUE, 1, 1); + (1, 2, '2023-01-01'); --- Insertion de données dans la table Coach -INSERT INTO Coach (athleteId) VALUES -(1); +INSERT INTO Notification (idNotif, message, date, statut, urgence, athleteId) VALUES + (1, 'Training session at 10 AM', '2023-03-10', TRUE, 1, 1); --- Insertion de données dans la table Statistique -INSERT INTO Statistique (poids, fcMoyenne, fcMax, caloriesBruleesMoy, date, athleteId) VALUES -(70, 80, 150, 500, '2023-03-10', 1); +INSERT INTO Statistique (idStatistique, poids, fcMoyenne, fcMax, caloriesBruleesMoy, date, athleteId) VALUES + (1, 70, 80, 150, 500, '2023-03-10', 1); --- Insertion de données dans la table Entrainement -INSERT INTO Entrainement (date, description, latitude, longitude, feedback, coachId) VALUES -('2023-03-12', 'Long run in the park', 40.7128, -74.0060, 'Good effort', 1); +INSERT INTO Entrainement (idEntrainement, date, description, latitude, longitude, feedback, athleteId) VALUES + (1, '2023-03-12', 'Long run in the park', 40.7128, -74.0060, 'Good effort', 1); --- Insertion de données dans la table Participe INSERT INTO Participe (athleteId, entrainementId) VALUES -(1, 1); + (1, 1); --- Insertion de données dans la table SourceDonnee -INSERT INTO SourceDonnee (type, modele, precision, athleteId) VALUES -('Heart Rate Monitor', 'HRM-Pro', 98.5, 1); +INSERT INTO SourceDonnee (idSource, type, modele, precision2, athleteId) VALUES + (1, 'Heart Rate Monitor', 'HRM-Pro', 98.5, 1); --- Insertion de données dans la table Activite -INSERT INTO Activite (type, date, heureDeDebut, heureDeFin, effortRessent, variabilite, variance, ecartType, moyenne, maximum, minimum, temperatureMoyenne, athleteId, sourceId) VALUES -('Running', '2023-03-10', '08:00:00', '09:00:00', 7, 0.5, 1, 0.1, 140, 160, 120, 20, 1, 1); +INSERT INTO Activite (idActivite, type, date, heureDeDebut, heureDeFin, effortRessent, variabilite, variance, ecartType, moyenne, maximum, minimum, temperatureMoyenne, athleteId, sourceId) VALUES + (1, 'Running', '2023-03-10', '08:00:00', '09:00:00', 7, 0.5, 1, 0.1, 140, 160, 120, 20, 1, 1); --- Insertion de données dans la table FrequenceCardiaque -INSERT INTO FrequenceCardiaque (altitude, temps, temperature, bpm, longitude, latitude, activiteId) VALUES -(100, '08:15:00', 15, 130, -74.0060, 40.7128, 1); +INSERT INTO FrequenceCardiaque (idFc, altitude, temps, temperature, bpm, longitude, latitude, activiteId) VALUES + (1, 100, '08:15:00', 15, 130, -74.0060, 40.7128, 1); diff --git a/Sources/src/data/model/User.php b/Sources/src/data/model/User.php index ac96da73..a81976e5 100644 --- a/Sources/src/data/model/User.php +++ b/Sources/src/data/model/User.php @@ -50,7 +50,9 @@ class User { * @param \DateTime $dateNaissance * @param \Model\Role $role */ - public function __construct(int $id, string $nom, string $prenom, string $username, string $email, string $motDePasse, string $sexe, float $taille, float $poids, \DateTime $dateNaissance, Role $role) + public function __construct(int $id, string $nom, string $prenom, string $username, string $email, + string $motDePasse, string $sexe, float $taille, float $poids, \DateTime $dateNaissance, + Role $role) { $this->id = $id; $this->nom = $nom; diff --git a/Sources/tests/GatewayTest.php b/Sources/tests/GatewayTest.php index f16bf9c8..8a2a2e16 100644 --- a/Sources/tests/GatewayTest.php +++ b/Sources/tests/GatewayTest.php @@ -19,9 +19,7 @@ class GatewayTest extends TestCase { //$dsn = "pgsql:host=londres;port=8888;dbname=dbkemonteiro2;user=kemonteiro2;password=Mdp"; - $dsn = "mysql:host=londres;dbname=dbkemonteiro2;"; - $username = "kemonteiro2"; - $password = "#Phpmyadmin63"; + require "loginDatabase.php"; $connexion = new Connexion($dsn,$username,$password); diff --git a/Sources/tests/loginDatabase.php b/Sources/tests/loginDatabase.php new file mode 100644 index 00000000..97c9dc4a --- /dev/null +++ b/Sources/tests/loginDatabase.php @@ -0,0 +1,7 @@ + \ No newline at end of file