mirror of
https://gitlab.aliens-lyon.fr/encartes/backend.git
synced 2026-03-17 22:51:04 +01:00
Add PlaceType enum and modifiy initialData syntax (debug)
This commit is contained in:
parent
b958948e35
commit
7621190896
@ -34,3 +34,4 @@ Your installation should be complete, you can run `symfony local:server:start` t
|
|||||||
- [ ] Use a representation superclass (both db and php)
|
- [ ] Use a representation superclass (both db and php)
|
||||||
- [ ] Use a php enum and a pgsql enum for place type
|
- [ ] Use a php enum and a pgsql enum for place type
|
||||||
- [ ] Change get_floors (connectedFloors) to SQL request
|
- [ ] Change get_floors (connectedFloors) to SQL request
|
||||||
|
- [ ] Add authentification for editions and some commands
|
||||||
|
|||||||
@ -18,6 +18,7 @@ use App\Entity\Cylinder;
|
|||||||
use App\Entity\Edition;
|
use App\Entity\Edition;
|
||||||
use App\Entity\Floor;
|
use App\Entity\Floor;
|
||||||
use App\Entity\Place;
|
use App\Entity\Place;
|
||||||
|
use App\Entity\PlaceType;
|
||||||
use App\Entity\PlaceName;
|
use App\Entity\PlaceName;
|
||||||
use App\Entity\PlaneSurface;
|
use App\Entity\PlaneSurface;
|
||||||
use App\Entity\Point;
|
use App\Entity\Point;
|
||||||
@ -109,43 +110,43 @@ class JsonReaderController extends AbstractController
|
|||||||
$data = json_decode($request->getContent(),true);
|
$data = json_decode($request->getContent(),true);
|
||||||
|
|
||||||
// Adding all the rooms
|
// Adding all the rooms
|
||||||
$rooms2Data = $data['rooms2'];
|
$rooms2Data = $data['M-GN1-2'];
|
||||||
$cor2Data = $data['cor2'];
|
$cor2Data = $data['M-GN1-2-co'];
|
||||||
$rooms3Data = $data['rooms3'];
|
$rooms3Data = $data['M-GN1-3'];
|
||||||
$cor3Data = $data['cor3'];
|
$cor3Data = $data['M-GN1-3-co'];
|
||||||
$rooms4Data = $data['rooms4'];
|
$rooms4Data = $data['M-GN1-4'];
|
||||||
$cor4Data = $data['cor4'];
|
$cor4Data = $data['M-GN1-4-co'];
|
||||||
$rooms34Data = $data['bothRooms'];
|
$rooms34Data = $data['M-GN1-34'];
|
||||||
$roomsXData = $data['allRooms'];
|
$roomsXData = $data['M-GN1-X'];
|
||||||
|
|
||||||
// We create the rooms
|
// We create the rooms
|
||||||
$rooms2 = [];
|
$rooms2 = [];
|
||||||
foreach($rooms2Data as $rData) {
|
foreach($rooms2Data as $rData) {
|
||||||
$rooms2[] = JsonReaderController::addRoom($rData, "R", $mr);
|
$rooms2[] = JsonReaderController::addRoom($rData, PlaceType::Room, $mr);
|
||||||
}
|
}
|
||||||
$cor2 = JsonReaderController::addRoom($cor2Data, "C", $mr);
|
$cor2 = JsonReaderController::addRoom($cor2Data[0], PlaceType::Corridor, $mr);
|
||||||
$rooms3 = [];
|
$rooms3 = [];
|
||||||
foreach($rooms3Data as $rData) {
|
foreach($rooms3Data as $rData) {
|
||||||
$rooms3[] = JsonReaderController::addRoom($rData, "R", $mr);
|
$rooms3[] = JsonReaderController::addRoom($rData, PlaceType::Room, $mr);
|
||||||
}
|
}
|
||||||
$cor3 = JsonReaderController::addRoom($cor3Data, "C", $mr);
|
$cor3 = JsonReaderController::addRoom($cor3Data[0], PlaceType::Corridor, $mr);
|
||||||
$rooms4 = [];
|
$rooms4 = [];
|
||||||
foreach($rooms4Data as $rData) {
|
foreach($rooms4Data as $rData) {
|
||||||
$rooms4[] = JsonReaderController::addRoom($rData, "R", $mr);
|
$rooms4[] = JsonReaderController::addRoom($rData, PlaceType::Room, $mr);
|
||||||
}
|
}
|
||||||
$cor4 = JsonReaderController::addRoom($cor4Data, "C", $mr);
|
$cor4 = JsonReaderController::addRoom($cor4Data[0], PlaceType::Corridor, $mr);
|
||||||
$rooms34 = [];
|
$rooms34 = [];
|
||||||
foreach($rooms34Data as $rData) {
|
foreach($rooms34Data as $rData) {
|
||||||
$rooms34[] = JsonReaderController::addRoom($rData, "R", $mr);
|
$rooms34[] = JsonReaderController::addRoom($rData, PlaceType::Room, $mr);
|
||||||
}
|
}
|
||||||
$roomsX = [];
|
$roomsX = [];
|
||||||
foreach($roomsXData as $rData) {
|
foreach($roomsXData as $rData) {
|
||||||
/* Determining between stairs and lift */
|
/* Determining between stairs and lift */
|
||||||
echo sizeof(json_decode($rData['points'],true)) . '<br/>';
|
echo sizeof($rData['points']) . '<br/>';
|
||||||
if(sizeof(json_decode($rData['points'],true))<=5)
|
if(sizeof($rData['points'])<=5)
|
||||||
$letter = "L";
|
$letter = PlaceType::Lift;
|
||||||
else
|
else
|
||||||
$letter = "S";
|
$letter = PlaceType::Stairs;
|
||||||
$roomsX[] = JsonReaderController::addRoom($rData, $letter, $mr);
|
$roomsX[] = JsonReaderController::addRoom($rData, $letter, $mr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,14 +219,13 @@ class JsonReaderController extends AbstractController
|
|||||||
return new Response('', Response::HTTP_OK);
|
return new Response('', Response::HTTP_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addRoom(array $room, string $roomType, ManagerRegistry $mr): Place {
|
public function addRoom(array $room, PlaceType $roomType, ManagerRegistry $mr): Place {
|
||||||
|
|
||||||
$manager = $mr->getManager();
|
$manager = $mr->getManager();
|
||||||
|
|
||||||
$height = (float) $room['height'];
|
$height = (float) $room['height'];
|
||||||
$z = (float) $room['z'];
|
$z = (float) $room['z'];
|
||||||
$name = $room['name'];
|
$points = $room['points'];
|
||||||
$points = json_decode($room['points'],true);
|
|
||||||
|
|
||||||
$r = new Place();
|
$r = new Place();
|
||||||
$r->setType($roomType);
|
$r->setType($roomType);
|
||||||
|
|||||||
@ -7,6 +7,14 @@ use Doctrine\Common\Collections\ArrayCollection;
|
|||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
|
enum PlaceType: string {
|
||||||
|
case Room = 'R';
|
||||||
|
case Corridor = 'C';
|
||||||
|
case Stairs = 'S';
|
||||||
|
case Lift = 'L';
|
||||||
|
case Toilets = 'T';
|
||||||
|
}
|
||||||
|
|
||||||
#[ORM\Entity(repositoryClass: PlaceRepository::class)]
|
#[ORM\Entity(repositoryClass: PlaceRepository::class)]
|
||||||
class Place
|
class Place
|
||||||
{
|
{
|
||||||
@ -15,8 +23,7 @@ class Place
|
|||||||
#[ORM\Column(type: "integer")]
|
#[ORM\Column(type: "integer")]
|
||||||
private $id;
|
private $id;
|
||||||
|
|
||||||
#[ORM\Column(type: "string")]
|
#[ORM\Column(type: "string", enumType: PlaceType::class)]
|
||||||
// Either 'C'orridor , 'S'tairs , 'L'ift or 'R'oom
|
|
||||||
private $type;
|
private $type;
|
||||||
|
|
||||||
#[ORM\OneToMany(targetEntity: PlaceName::class, mappedBy: "place")]
|
#[ORM\OneToMany(targetEntity: PlaceName::class, mappedBy: "place")]
|
||||||
@ -58,17 +65,14 @@ class Place
|
|||||||
return $this->id;
|
return $this->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getType(): ?string
|
public function getType(): ?PlaceType
|
||||||
{
|
{
|
||||||
return $this->type;
|
return $this->type;
|
||||||
}
|
}
|
||||||
public function setType(string $type): bool
|
public function setType(PlaceType $type): bool
|
||||||
{
|
{
|
||||||
if ($type == 'C' or $type == 'S' or $type == 'L' or $type == 'R') {
|
$this->type = $type;
|
||||||
$this->type = $type;
|
return true;
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user