map API
This commit is contained in:
parent
c3cb12d2bc
commit
ead6de24ae
2 changed files with 17 additions and 3 deletions
|
@ -10,10 +10,11 @@ from rest_framework.routers import SimpleRouter
|
||||||
from c3nav.editor.api import ChangeSetViewSet, EditorViewSet
|
from c3nav.editor.api import ChangeSetViewSet, EditorViewSet
|
||||||
from c3nav.mapdata.api import (AccessRestrictionViewSet, AreaViewSet, BuildingViewSet, ColumnViewSet, DoorViewSet,
|
from c3nav.mapdata.api import (AccessRestrictionViewSet, AreaViewSet, BuildingViewSet, ColumnViewSet, DoorViewSet,
|
||||||
HoleViewSet, LevelViewSet, LineObstacleViewSet, LocationGroupCategoryViewSet,
|
HoleViewSet, LevelViewSet, LineObstacleViewSet, LocationGroupCategoryViewSet,
|
||||||
LocationGroupViewSet, LocationViewSet, ObstacleViewSet, POIViewSet, SourceViewSet,
|
LocationGroupViewSet, LocationViewSet, MapViewSet, ObstacleViewSet, POIViewSet,
|
||||||
SpaceViewSet, StairViewSet)
|
SourceViewSet, SpaceViewSet, StairViewSet)
|
||||||
|
|
||||||
router = SimpleRouter()
|
router = SimpleRouter()
|
||||||
|
router.register(r'map', MapViewSet, base_name='map')
|
||||||
router.register(r'levels', LevelViewSet)
|
router.register(r'levels', LevelViewSet)
|
||||||
router.register(r'buildings', BuildingViewSet)
|
router.register(r'buildings', BuildingViewSet)
|
||||||
router.register(r'spaces', SpaceViewSet)
|
router.register(r'spaces', SpaceViewSet)
|
||||||
|
|
|
@ -10,7 +10,7 @@ from rest_framework.decorators import detail_route, list_route
|
||||||
from rest_framework.exceptions import NotFound, ValidationError
|
from rest_framework.exceptions import NotFound, ValidationError
|
||||||
from rest_framework.mixins import RetrieveModelMixin
|
from rest_framework.mixins import RetrieveModelMixin
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.viewsets import GenericViewSet, ReadOnlyModelViewSet
|
from rest_framework.viewsets import GenericViewSet, ReadOnlyModelViewSet, ViewSet
|
||||||
|
|
||||||
from c3nav.mapdata.models import AccessRestriction, Building, Door, Hole, LocationGroup, Source, Space
|
from c3nav.mapdata.models import AccessRestriction, Building, Door, Hole, LocationGroup, Source, Space
|
||||||
from c3nav.mapdata.models.geometry.level import LevelGeometryMixin
|
from c3nav.mapdata.models.geometry.level import LevelGeometryMixin
|
||||||
|
@ -28,6 +28,19 @@ def optimize_query(qs):
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
|
|
||||||
|
class MapViewSet(ViewSet):
|
||||||
|
"""
|
||||||
|
Map API
|
||||||
|
/bounds/ returns the maximum bounds of the map
|
||||||
|
"""
|
||||||
|
|
||||||
|
@list_route(methods=['get'])
|
||||||
|
def bounds(self, request, *args, **kwargs):
|
||||||
|
return Response({
|
||||||
|
'bounds': Source.max_bounds(),
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
class MapdataViewSet(ReadOnlyModelViewSet):
|
class MapdataViewSet(ReadOnlyModelViewSet):
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
qs = super().get_queryset()
|
qs = super().get_queryset()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue