mirror of
https://gitlab.aliens-lyon.fr/encartes/backend.git
synced 2026-03-17 22:51:04 +01:00
add idSite and idBuilding to get_floor
This commit is contained in:
parent
e3f16127af
commit
c6222386a0
19
API.md
19
API.md
@ -11,17 +11,24 @@ Other participants for this project are Adrien Vannson & Gabriel Dehame & Maxime
|
|||||||
|
|
||||||
## Functions
|
## Functions
|
||||||
### /api/map/get_floor/ID/REPRESENTATION
|
### /api/map/get_floor/ID/REPRESENTATION
|
||||||
> Return a list of place composing floor _ID_
|
> Return a json with siteId, buildingId and 'places': a list of place composing floor _ID_
|
||||||
> _REPRESENTATION_ is the representation' type to consider for every places in {'Cylinder', 'PolySurface'}. The default is 'Cylinder'
|
> _REPRESENTATION_ is the representation' type to consider for every places in {'Cylinder', 'PolySurface'}. The default is 'Cylinder'
|
||||||
> Other representations should be added later, and it should become a priority order instead of a strict selection (actually if a place doesn't have Cylinder representation, it will return an empty list, even if the place has a PolySurface representation).
|
> Other representations should be added later, and it should become a priority order instead of a strict selection (actually if a place doesn't have Cylinder representation, it will return an empty list, even if the place has a PolySurface representation).
|
||||||
|
|
||||||
__Each place is a dict :__
|
__The dict looks like :__
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
'id': int, //unique id
|
'idSite' : int, //id of the Site
|
||||||
'names' : string[], //possibly empty,
|
'idBuilding': int, //id of the Building
|
||||||
'type': string, //in {'C'(orridor), 'S'(tairs), 'E'(levator), 'R'(oom)} ,
|
'places : [
|
||||||
'surface' : list of [int, int] //list of every points composing the room, projected on the floor surface
|
{
|
||||||
|
'id': int, //unique id
|
||||||
|
'names' : string[], //Names of the place, possibly empty,
|
||||||
|
'type': string, //in {'C'(orridor), 'S'(tairs), 'E'(levator), 'R'(oom)} ,
|
||||||
|
'surface' : list of [int, int] //list of every points composing the room, projected on the floor surface
|
||||||
|
},
|
||||||
|
{...}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
__Errors :__
|
__Errors :__
|
||||||
|
|||||||
@ -91,7 +91,7 @@ class MapApiController extends AbstractController
|
|||||||
elseif (sizeof($floors)>1) { throw new Exception('Internal Error: '.$id.' refers to more than one floorId ; the BDD is corrupted.'); }
|
elseif (sizeof($floors)>1) { throw new Exception('Internal Error: '.$id.' refers to more than one floorId ; the BDD is corrupted.'); }
|
||||||
$floor = $floors[0];
|
$floor = $floors[0];
|
||||||
$places = $floor->getPlaces();
|
$places = $floor->getPlaces();
|
||||||
$jsonPlaces = new ArrayCollection();
|
$jsonPlaces = array();
|
||||||
if ($representation == 'Cylinder' || $representation == 'PolySurface'){
|
if ($representation == 'Cylinder' || $representation == 'PolySurface'){
|
||||||
foreach ($places as $place){
|
foreach ($places as $place){
|
||||||
$jsonPlaces[] = array(
|
$jsonPlaces[] = array(
|
||||||
@ -105,7 +105,11 @@ class MapApiController extends AbstractController
|
|||||||
else {
|
else {
|
||||||
return $this->json(["Error on represantation attribute"]);
|
return $this->json(["Error on represantation attribute"]);
|
||||||
}
|
}
|
||||||
return $this->json($jsonPlaces->toArray());
|
$building = $floor->getBuilding();
|
||||||
|
return $this->json(['idSite' => $building->getId(),
|
||||||
|
'idBuilding' => $building->getSite()->getId(),
|
||||||
|
'places' => $jsonPlaces
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/api/map/get_all_floors/')]
|
#[Route('/api/map/get_all_floors/')]
|
||||||
|
|||||||
@ -88,11 +88,11 @@ class Place
|
|||||||
|
|
||||||
public function getJoinedNames(): array
|
public function getJoinedNames(): array
|
||||||
{
|
{
|
||||||
$names = new ArrayCollection();
|
$names = array();
|
||||||
foreach ($this->names as $plName) {
|
foreach ($this->names as $plName) {
|
||||||
$names[] = $plName->getName();
|
$names[] = $plName->getName();
|
||||||
}
|
}
|
||||||
return $names->toArray();
|
return $names;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addName(PlaceName $name): self
|
public function addName(PlaceName $name): self
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user