Finition gateway Athlete Coach et Activite a tester mais normalement fonctionnel
continuous-integration/drone/push Build is failing Details

WORK-KMO-Gateway
Kevin MONTEIRO 1 year ago
parent aba0924f64
commit fe12112ce6

@ -1,38 +1,39 @@
<?php <?php
namespace Database; namespace Database;
use \PDO;
class ActiviteGateway { class ActivityGateway {
private $connection; private Connexion $connection;
public function __construct(Connection $connection) { public function __construct(Connexion $connection) {
$this->connection = $connection; $this->connection = $connection;
} }
public function getActivite() { public function getActivity() {
$query = "SELECT * FROM Activite"; $query = "SELECT * FROM Activite";
return $this->connection->executeWithErrorHandling($query); return $this->connection->executeWithErrorHandling($query);
} }
public function getActiviteById(int $activiteId) { public function getActivityById(int $activityId) {
$query = "SELECT * FROM Activite WHERE idActivite = :id"; $query = "SELECT * FROM Activite WHERE idActivite = :id";
$params = [':id' => [$activiteId, PDO::PARAM_INT]]; $params = [':id' => [$activityId, PDO::PARAM_INT]];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function getActiviteByType(string $type) { public function getActivityByType(string $type) {
$query = "SELECT * FROM Activite WHERE type = :type"; $query = "SELECT * FROM Activite WHERE type = :type";
$params = [':type' => [$type, PDO::PARAM_STR]]; $params = [':type' => [$type, PDO::PARAM_STR]];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function getActiviteByDate(string $date) { public function getActivityByDate(string $date) {
$query = "SELECT * FROM Activite WHERE date = :date"; $query = "SELECT * FROM Activite WHERE date = :date";
$params = [':date' => [$date, PDO::PARAM_STR]]; $params = [':date' => [$date, PDO::PARAM_STR]];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function getActiviteByTimeRange(string $startTime, string $endTime) { public function getActivityByTimeRange(string $startTime, string $endTime) {
$query = "SELECT * FROM Activite WHERE heureDebut >= :startTime AND heureFin <= :endTime"; $query = "SELECT * FROM Activite WHERE heureDebut >= :startTime AND heureFin <= :endTime";
$params = [ $params = [
':startTime' => [$startTime, PDO::PARAM_STR], ':startTime' => [$startTime, PDO::PARAM_STR],
@ -41,76 +42,76 @@ class ActiviteGateway {
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function getActiviteByEffort(int $effortRessenti) { public function getActivityByEffort(int $effortRessenti) {
$query = "SELECT * FROM Activite WHERE effortRessenti = :effort"; $query = "SELECT * FROM Activite WHERE effortRessenti = :effort";
$params = [':effort' => [$effortRessenti, PDO::PARAM_INT]]; $params = [':effort' => [$effortRessenti, PDO::PARAM_INT]];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function getActiviteByVariability(int $variabilite) { public function getActivityByVariability(int $variabilite) {
$query = "SELECT * FROM Activite WHERE variabilite = :variability"; $query = "SELECT * FROM Activite WHERE variabilite = :variability";
$params = [':variability' => [$variabilite, PDO::PARAM_INT]]; $params = [':variability' => [$variabilite, PDO::PARAM_INT]];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function getActiviteByTemperature(int $temperatureMoyenne) { public function getActivityByTemperature(int $temperatureMoyenne) {
$query = "SELECT * FROM Activite WHERE temperatureMoyenne = :temperature"; $query = "SELECT * FROM Activite WHERE temperatureMoyenne = :temperature";
$params = [':temperature' => [$temperatureMoyenne, PDO::PARAM_INT]]; $params = [':temperature' => [$temperatureMoyenne, PDO::PARAM_INT]];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function addActivite(ActiviteEntity $activite) { public function addActivity(ActivityEntity $activity) {
$query = "INSERT INTO Activite (type, date, heureDebut, heureDeFin, effortRessenti, variabilite, variance, ecartType, moyenne, maximum, minimum, temperatureMoyenne) $query = "INSERT INTO Activite (type, date, heureDebut, heureDeFin, effortRessenti, variabilite, variance, ecartType, moyenne, maximum, minimum, temperatureMoyenne)
VALUES (:type, :date, :heureDebut, :heureDeFin, :effortRessenti, :variabilite, :variance, :ecartType, :moyenne, :maximum, :minimum, :temperatureMoyenne)"; VALUES (:type, :date, :heureDebut, :heureDeFin, :effortRessenti, :variabilite, :variance, :ecartType, :moyenne, :maximum, :minimum, :temperatureMoyenne)";
$params = [ $params = [
':type' => $activite->getType(), ':type' => $activity->getType(),
':date' => $activite->getDate()->format('Y-m-d'), // Format date pour SQL ':date' => $activity->getDate()->format('Y-m-d'), // Format date pour SQL
':heureDebut' => $activite->getHeureDebut()->format('H:i:s'), // Format heure pour SQL ':heureDebut' => $activity->getHeureDebut()->format('H:i:s'), // Format heure pour SQL
':heureDeFin' => $activite->getHeureFin()->format('H:i:s'), // Format heure pour SQL ':heureDeFin' => $activity->getHeureFin()->format('H:i:s'), // Format heure pour SQL
':effortRessenti' => $activite->getEffortRessenti(), ':effortRessenti' => $activity->getEffortRessenti(),
':variabilite' => $activite->getVariabilite(), ':variabilite' => $activity->getVariabilite(),
':variance' => $activite->getVariance(), ':variance' => $activity->getVariance(),
':ecartType' => $activite->getEcartType(), ':ecartType' => $activity->getEcartType(),
':moyenne' => $activite->getMoyenne(), ':moyenne' => $activity->getMoyenne(),
':maximum' => $activite->getMaximum(), ':maximum' => $activity->getMaximum(),
':minimum' => $activite->getMinimum(), ':minimum' => $activity->getMinimum(),
':temperatureMoyenne' => $activite->getTemperatureMoyenne(), ':temperatureMoyenne' => $activity->getTemperatureMoyenne(),
]; ];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function updateActivite(ActiviteEntity $oldActivite, ActiviteEntity $newActivite) { public function updateActivity(ActivityEntity $oldActivity, ActivityEntity $newActivity) {
$query = "UPDATE Activite $query = "UPDATE Activite
SET type = :type, date = :date, heureDebut = :heureDebut, heureDeFin = :heureDeFin, SET type = :type, date = :date, heureDebut = :heureDebut, heureDeFin = :heureDeFin,
effortRessenti = :effortRessenti, variabilite = :variabilite, variance = :variance, ecartType = :ecartType, moyenne = :moyenne, maximum = :maximum, minimum = :minimum, temperatureMoyenne = :temperatureMoyenne effortRessenti = :effortRessenti, variabilite = :variabilite, variance = :variance, ecartType = :ecartType, moyenne = :moyenne, maximum = :maximum, minimum = :minimum, temperatureMoyenne = :temperatureMoyenne
WHERE idActivite = :idActivite"; WHERE idActivite = :idActivite";
$params = [ $params = [
':idActivite' => $oldActivite->getIdActivite(), ':idActivite' => $oldActivity->getIdActivity(),
':type' => $newActivite->getType(), ':type' => $newActivity->getType(),
':date' => $newActivite->getDate()->format('Y-m-d'), // Format date pour SQL ':date' => $newActivity->getDate()->format('Y-m-d'), // Format date pour SQL
':heureDebut' => $newActivite->getHeureDebut()->format('H:i:s'), // Format heure pour SQL ':heureDebut' => $newActivity->getHeureDebut()->format('H:i:s'), // Format heure pour SQL
':heureDeFin' => $newActivite->getHeureFin()->format('H:i:s'), // Format heure pour SQL ':heureDeFin' => $newActivity->getHeureFin()->format('H:i:s'), // Format heure pour SQL
':effortRessenti' => $newActivite->getEffortRessenti(), ':effortRessenti' => $newActivity->getEffortRessenti(),
':variabilite' => $newActivite->getVariabilite(), ':variabilite' => $newActivity->getVariabilite(),
':variance' => $newActivite->getVariance(), ':variance' => $newActivity->getVariance(),
':ecartType' => $newActivite->getEcartType(), ':ecartType' => $newActivity->getEcartType(),
':moyenne' => $newActivite->getMoyenne(), ':moyenne' => $newActivity->getMoyenne(),
':maximum' => $newActivite->getMaximum(), ':maximum' => $newActivity->getMaximum(),
':minimum' => $newActivite->getMinimum(), ':minimum' => $newActivity->getMinimum(),
':temperatureMoyenne' => $newActivite->getTemperatureMoyenne(), ':temperatureMoyenne' => $newActivity->getTemperatureMoyenne(),
]; ];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);
} }
public function deleteActivite(int $idActivite) { public function deleteActivity(int $idActivity) {
$query = "DELETE FROM Activite WHERE idActivite = :idActivite"; $query = "DELETE FROM Activite WHERE idActivite = :idActivity";
$params = [ $params = [
':idActivite' => $idActivite, ':idActivity' => $idActivity,
]; ];
return $this->connection->executeWithErrorHandling($query, $params); return $this->connection->executeWithErrorHandling($query, $params);

@ -1,34 +1,81 @@
<?php <?php
namespace Database; namespace Database;
use Model\Activite; use Model\Activity;
class ActiviteMapper { class ActivityMapper {
public function map(array $data):ActiviteEntity { public function activitySqlToEntity(array $data):array
$activite = new ActiviteEntity(); {
$activite->setIdActivite($data['idActivite']); $activityEntities = [];
$activite->setType($data['type']);
$activite->setDate($data['date']); foreach ($data as $activityData) {
$activite->setHeureDebut($data['heureDebut']); $activity = new ActivityEntity();
$activite->setHeureFin($data['heureFin']);
$activite->setEffortRessenti($data['effortRessenti']); if (isset($activityData['idActivity'])) {
$activite->setVariabilite($data['variabilite']); $activity->setIdActivity($data['idActivity']);
$activite->setVariance($data['variance']); }
$activite->setEcartType($data['ecartType']);
$activite->setMoyenne($data['moyenne']); if (isset($activityData['type'])) {
$activite->setMaximum($data['maximum']); $activity->setType($data['type']);
$activite->setMinimum($data['minimum']); }
$activite->setTemperatureMoyenne($data['temperatureMoyenne']);
if (isset($activityData['date'])) {
return $activite; $activity->setDate($data['date']);
} }
//public function ActiviteEntityToModel(ActiviteEntity entity): Activite; if (isset($activityData['heureDebut'])) {
$activity->setHeureDebut($data['heureDebut']);
public function ActiviteEntityToModel(ActiviteEntity $activiteEntity):Activite{ }
$act = new Activite( if (isset($activityData['heureFin'])) {
$activiteEntity->getIdActivite(), $activity->setHeureFin($data['heureFin']);
}
if (isset($activityData['effortRessenti'])) {
$activity->setEffortRessenti($data['effortRessenti']);
}
if (isset($activityData['variabilite'])) {
$activity->setVariabilite($data['variabilite']);
}
if (isset($activityData['variance'])) {
$activity->setVariance($data['variance']);
}
if (isset($activityData['ecartType'])) {
$activity->setEcartType($data['ecartType']);
}
if (isset($activityData['moyenne'])) {
$activity->setMoyenne($data['moyenne']);
}
if (isset($activityData['maximum'])) {
$activity->setMaximum($data['maximum']);
}
if (isset($activityData['minimum'])) {
$activity->setMinimum($data['minimum']);
}
if (isset($activityData['temperatureMoyenne'])) {
$activity->setTemperatureMoyenne($data['temperatureMoyenne']);
}
$activityEntities[] = $activity;
}
return $activityEntities;
}
/**
* @throws \Exception
*/
public function ActivityEntityToModel(ActivityEntity $activiteEntity):Activity{
$act = new Activity(
$activiteEntity->getIdActivity(),
$activiteEntity->getType(), $activiteEntity->getType(),
$activiteEntity->getDate(), $activiteEntity->getDate(),
$activiteEntity->getHeureDebut(), $activiteEntity->getHeureDebut(),
@ -45,7 +92,27 @@ class ActiviteMapper {
return $act; return $act;
} }
//public function ActiviteToEntity(Activite model): ActiviteEntity; //public function ActivityToEntity(Activity model): ActivityEntity;
public function activityToEntity(Activity $act):ActivityEntity{
$act = new ActivityEntity();
$act->setIdActivity($act->getIdActivity()());
$act->setType($act->getType());
$act->setDate($act->getDate());
$act->setHeureDebut($act->getHeureDebut());
$act->setHeureFin($act->getHeureFin());
$act->setEffortRessenti($act->getEffortRessenti());
$act->setVariabilite($act->getVariabilite());
$act->setVariance($act->getVariance());
$act->setEcartType($act->getEcartType());
$act->setMoyenne($act->getMoyenne());
$act->setMaximum($act->getMaximum());
$act->setMinimum($act->getMinimum());
$act->setTemperatureMoyenne($act->getTemperatureMoyenne());
return $act;
}
} }
?> ?>

@ -2,8 +2,8 @@
namespace Database; namespace Database;
class ActiviteEntity { class ActivityEntity {
private $idActivite; private $idActivity;
private $type; private $type;
private $date; private $date;
private $heureDebut; private $heureDebut;
@ -18,7 +18,7 @@ class ActiviteEntity {
private $temperatureMoyenne; private $temperatureMoyenne;
// Getters // Getters
public function getIdActivite() { public function getIdActivity() {
return $this->idActivity; return $this->idActivity;
} }
@ -71,7 +71,7 @@ class ActiviteEntity {
} }
// Setters // Setters
public function setIdActivite($idActivity) { public function setIdActivity($idActivity) {
$this->idActivity = $idActivity; $this->idActivity = $idActivity;
} }

@ -4,7 +4,7 @@ namespace Database;
use \PDO; use \PDO;
class AthleteGateway { class AthleteGateway {
private $connection; private Connexion $connection;
public function __construct(Connexion $connection) { public function __construct(Connexion $connection) {
$this->connection = $connection; $this->connection = $connection;

Loading…
Cancel
Save