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