add beacons-xyz api endpoints
This commit is contained in:
parent
a3057b817d
commit
7073c12cde
1 changed files with 23 additions and 0 deletions
|
@ -1,8 +1,12 @@
|
|||
from typing import Annotated
|
||||
|
||||
from ninja import Field as APIField
|
||||
from ninja import Router as APIRouter
|
||||
|
||||
from c3nav.api.newauth import auth_responses
|
||||
from c3nav.mapdata.models import Source
|
||||
from c3nav.mapdata.schemas.responses import BoundsSchema
|
||||
from c3nav.routing.rangelocator import RangeLocator
|
||||
|
||||
positioning_api_router = APIRouter(tags=["positioning"])
|
||||
|
||||
|
@ -23,3 +27,22 @@ def locate_test(request):
|
|||
return {
|
||||
"bounds": Source.max_bounds(),
|
||||
}
|
||||
|
||||
|
||||
BeaconsXYZ = dict[
|
||||
Annotated[str, APIField(pattern=r"^[a-z0-9]{2}(:[a-z0-9]{2}){5}$", title="BSSID")],
|
||||
Annotated[
|
||||
tuple[
|
||||
Annotated[int, APIField(title="X (in cm)")],
|
||||
Annotated[int, APIField(title="Y (in cm)")],
|
||||
Annotated[int, APIField(title="Z (in cm)")],
|
||||
],
|
||||
APIField(title="global XYZ coordinates")
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
@positioning_api_router.get('/beacons-xyz/', summary="get calculated x y z for all beacons",
|
||||
response={200: BeaconsXYZ, **auth_responses})
|
||||
def beacons_xyz(request):
|
||||
return RangeLocator.load().get_all_xyz()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue