mirror of
https://gitlab.aliens-lyon.fr/encartes/backend.git
synced 2026-03-17 14:41:03 +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 php enum and a pgsql enum for place type
|
||||
- [ ] 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\Floor;
|
||||
use App\Entity\Place;
|
||||
use App\Entity\PlaceType;
|
||||
use App\Entity\PlaceName;
|
||||
use App\Entity\PlaneSurface;
|
||||
use App\Entity\Point;
|
||||
@ -109,43 +110,43 @@ class JsonReaderController extends AbstractController
|
||||
$data = json_decode($request->getContent(),true);
|
||||
|
||||
// Adding all the rooms
|
||||
$rooms2Data = $data['rooms2'];
|
||||
$cor2Data = $data['cor2'];
|
||||
$rooms3Data = $data['rooms3'];
|
||||
$cor3Data = $data['cor3'];
|
||||
$rooms4Data = $data['rooms4'];
|
||||
$cor4Data = $data['cor4'];
|
||||
$rooms34Data = $data['bothRooms'];
|
||||
$roomsXData = $data['allRooms'];
|
||||
$rooms2Data = $data['M-GN1-2'];
|
||||
$cor2Data = $data['M-GN1-2-co'];
|
||||
$rooms3Data = $data['M-GN1-3'];
|
||||
$cor3Data = $data['M-GN1-3-co'];
|
||||
$rooms4Data = $data['M-GN1-4'];
|
||||
$cor4Data = $data['M-GN1-4-co'];
|
||||
$rooms34Data = $data['M-GN1-34'];
|
||||
$roomsXData = $data['M-GN1-X'];
|
||||
|
||||
// We create the rooms
|
||||
$rooms2 = [];
|
||||
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 = [];
|
||||
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 = [];
|
||||
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 = [];
|
||||
foreach($rooms34Data as $rData) {
|
||||
$rooms34[] = JsonReaderController::addRoom($rData, "R", $mr);
|
||||
$rooms34[] = JsonReaderController::addRoom($rData, PlaceType::Room, $mr);
|
||||
}
|
||||
$roomsX = [];
|
||||
foreach($roomsXData as $rData) {
|
||||
/* Determining between stairs and lift */
|
||||
echo sizeof(json_decode($rData['points'],true)) . '<br/>';
|
||||
if(sizeof(json_decode($rData['points'],true))<=5)
|
||||
$letter = "L";
|
||||
echo sizeof($rData['points']) . '<br/>';
|
||||
if(sizeof($rData['points'])<=5)
|
||||
$letter = PlaceType::Lift;
|
||||
else
|
||||
$letter = "S";
|
||||
$letter = PlaceType::Stairs;
|
||||
$roomsX[] = JsonReaderController::addRoom($rData, $letter, $mr);
|
||||
}
|
||||
|
||||
@ -218,14 +219,13 @@ class JsonReaderController extends AbstractController
|
||||
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();
|
||||
|
||||
|
||||
$height = (float) $room['height'];
|
||||
$z = (float) $room['z'];
|
||||
$name = $room['name'];
|
||||
$points = json_decode($room['points'],true);
|
||||
$points = $room['points'];
|
||||
|
||||
$r = new Place();
|
||||
$r->setType($roomType);
|
||||
|
||||
@ -7,6 +7,14 @@ use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
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)]
|
||||
class Place
|
||||
{
|
||||
@ -15,8 +23,7 @@ class Place
|
||||
#[ORM\Column(type: "integer")]
|
||||
private $id;
|
||||
|
||||
#[ORM\Column(type: "string")]
|
||||
// Either 'C'orridor , 'S'tairs , 'L'ift or 'R'oom
|
||||
#[ORM\Column(type: "string", enumType: PlaceType::class)]
|
||||
private $type;
|
||||
|
||||
#[ORM\OneToMany(targetEntity: PlaceName::class, mappedBy: "place")]
|
||||
@ -58,17 +65,14 @@ class Place
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getType(): ?string
|
||||
public function getType(): ?PlaceType
|
||||
{
|
||||
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;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
$this->type = $type;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user