parent
5b7cdafdf4
commit
c9b2a2d6c9
@ -0,0 +1,131 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Controller;
|
||||||
|
|
||||||
|
use App\Router\Request\IRequest;
|
||||||
|
use App\Router\Response\Response;
|
||||||
|
use Database\ActivityGateway;
|
||||||
|
use Database\ActivityMapper;
|
||||||
|
use Database\Connexion;
|
||||||
|
use Json\JsonSerializer;
|
||||||
|
use Manager\UserManager;
|
||||||
|
use Shared\Attributes\Route;
|
||||||
|
use Shared\Log;
|
||||||
|
|
||||||
|
class ApiController extends BaseController
|
||||||
|
{
|
||||||
|
private UserManager $userMgr;
|
||||||
|
public function __construct(UserManager $manager){
|
||||||
|
parent::__construct();
|
||||||
|
$this->userMgr = $manager;
|
||||||
|
}
|
||||||
|
#[Route(path: '/api/activities', name: 'api-activities', methods: ['GET'])]
|
||||||
|
public function apiActivities(IRequest $request)
|
||||||
|
{
|
||||||
|
$activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
||||||
|
$listSearch = $activityGateway->getActivity();
|
||||||
|
$map = new ActivityMapper();
|
||||||
|
$activityGateway = $map->activitySqlToEntity($listSearch);
|
||||||
|
$listActivity = [];
|
||||||
|
foreach ($activityGateway as $entity) {
|
||||||
|
$activity = $map->activityEntityToModel($entity);
|
||||||
|
$listActivity[] = ['idactivity' => number_format($activity->getIdActivity()), 'type' => $activity->getType(),
|
||||||
|
'date' => $activity->getDate()->format("Y-m-d"), 'heureDebut' => $activity->getHeureDebut()->format("Y-m-d"), 'heureFin' => $activity->getHeureFin()->format("Y-m-d"),
|
||||||
|
'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariability(), 'variance' => $activity->getVariance(),
|
||||||
|
'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(),
|
||||||
|
'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' => $activity->getAvrTemperature()];
|
||||||
|
}
|
||||||
|
|
||||||
|
$jsonSerializer = new JsonSerializer();
|
||||||
|
$jsonData = $jsonSerializer::serialize($listActivity);
|
||||||
|
|
||||||
|
$response = new Response();
|
||||||
|
$response->setContent($jsonData);
|
||||||
|
$response->setHeader('Content-Type', 'application/json');
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
// cela ne trouve pas la methode avec la route '/api/activities/1'
|
||||||
|
#[Route(path: '/api/activities/{id}', name: 'api-activities-by-id', methods: ['GET'])]
|
||||||
|
public function apiActivityById(IRequest $request, int $id)
|
||||||
|
{
|
||||||
|
$activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
||||||
|
$listSearch = $activityGateway->getActivityById($id);
|
||||||
|
Log::dd($listSearch);
|
||||||
|
$map = new ActivityMapper();
|
||||||
|
$activityGateway = $map->activitySqlToEntity($listSearch);
|
||||||
|
$listActivity = [];
|
||||||
|
foreach ($activityGateway as $entity) {
|
||||||
|
$activity = $map->activityEntityToModel($entity);
|
||||||
|
$listActivity[] = ['idactivity' => number_format($activity->getIdActivity()), 'type' => $activity->getType(),
|
||||||
|
'date' => $activity->getDate()->format("Y-m-d"), 'heureDebut' => $activity->getHeureDebut()->format("Y-m-d"), 'heureFin' => $activity->getHeureFin()->format("Y-m-d"),
|
||||||
|
'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariability(), 'variance' => $activity->getVariance(),
|
||||||
|
'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(),
|
||||||
|
'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' => $activity->getAvrTemperature()];
|
||||||
|
}
|
||||||
|
|
||||||
|
$jsonSerializer = new JsonSerializer();
|
||||||
|
$jsonData = $jsonSerializer::serialize($listActivity);
|
||||||
|
|
||||||
|
$response = new Response();
|
||||||
|
$response->setContent($jsonData);
|
||||||
|
$response->setHeader('Content-Type', 'application/json');
|
||||||
|
// pour delete renvoyer 204 pour dire ok et supprimer
|
||||||
|
// update 200
|
||||||
|
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// #[Route(path: '/api/activities', name: 'api-activities-post', methods: ['POST'])]
|
||||||
|
// public function apiAddActivity(IRequest $request)
|
||||||
|
// {
|
||||||
|
// $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
||||||
|
// $listSearch = $activityGateway->getActivity();
|
||||||
|
// $map = new ActivityMapper();
|
||||||
|
// $activityGateway = $map->activitySqlToEntity($listSearch);
|
||||||
|
// $listActivity = [];
|
||||||
|
// foreach ($activityGateway as $entity) {
|
||||||
|
// $activity = $map->activityEntityToModel($entity);
|
||||||
|
// $listActivity[] = ['idactivity' => number_format($activity->getIdActivity()), 'type' => $activity->getType(),
|
||||||
|
// 'date' => $activity->getDate()->format("Y-m-d"), 'heureDebut' => $activity->getHeureDebut()->format("Y-m-d"), 'heureFin' => $activity->getHeureFin()->format("Y-m-d"),
|
||||||
|
// 'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariability(), 'variance' => $activity->getVariance(),
|
||||||
|
// 'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(),
|
||||||
|
// 'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' => $activity->getAvrTemperature()];
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// $jsonSerializer = new JsonSerializer();
|
||||||
|
// $jsonData = $jsonSerializer::serialize($listActivity);
|
||||||
|
//
|
||||||
|
// $response = new Response();
|
||||||
|
// $response->setContent($jsonData);
|
||||||
|
// $response->setHeader('Content-Type', 'application/json');
|
||||||
|
//
|
||||||
|
// return $response;
|
||||||
|
// }
|
||||||
|
// #[Route(path: '/api/activities/{id}', name: 'api-activities-post', methods: ['DELETE'])]
|
||||||
|
// public function apiDeleteActivity(IRequest $request, int $id)
|
||||||
|
// {
|
||||||
|
// $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
||||||
|
// $listSearch = $activityGateway->removeActivityById($id);
|
||||||
|
//
|
||||||
|
// $response = new Response();
|
||||||
|
// $response->setContent($jsonData);
|
||||||
|
// $response->setHeader('Content-Type', 'application/json');
|
||||||
|
//
|
||||||
|
// return $response;
|
||||||
|
// }
|
||||||
|
// #[Route(path: '/api/activities/{id}', name: 'api-activities-post', methods: ['PUT'])]
|
||||||
|
// public function apiUpdateActivity(IRequest $request, int $id)
|
||||||
|
// {
|
||||||
|
// $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
|
||||||
|
// $listSearch = $activityGateway->updateActivity($id);
|
||||||
|
//
|
||||||
|
// $response = new Response();
|
||||||
|
// $response->setContent($jsonData);
|
||||||
|
// $response->setHeader('Content-Type', 'application/json');
|
||||||
|
//
|
||||||
|
// return $response;
|
||||||
|
// }
|
||||||
|
}
|
Loading…
Reference in new issue