From e5fab0611b83a23a9352dc7d5a40e487feb977cd Mon Sep 17 00:00:00 2001 From: Gwendolyn Date: Mon, 16 Dec 2024 20:42:28 +0100 Subject: [PATCH] api endpoint to list waytypes --- src/c3nav/mapdata/api/mapdata.py | 9 +++++++-- src/c3nav/mapdata/schemas/models.py | 8 +++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/c3nav/mapdata/api/mapdata.py b/src/c3nav/mapdata/api/mapdata.py index 5668cb98..57b2c786 100644 --- a/src/c3nav/mapdata/api/mapdata.py +++ b/src/c3nav/mapdata/api/mapdata.py @@ -11,7 +11,7 @@ from c3nav.api.exceptions import API404 from c3nav.api.schema import BaseSchema from c3nav.mapdata.api.base import api_etag, optimize_query, can_access_geometry from c3nav.mapdata.models import (Area, Building, Door, Hole, Level, LocationGroup, LocationGroupCategory, Source, - Space, Stair, DataOverlay, DataOverlayFeature) + Space, Stair, DataOverlay, DataOverlayFeature, WayType) from c3nav.mapdata.models.access import AccessRestriction, AccessRestrictionGroup from c3nav.mapdata.models.geometry.space import (POI, Column, CrossDescription, LeaveDescription, LineObstacle, Obstacle, Ramp) @@ -24,7 +24,8 @@ from c3nav.mapdata.schemas.models import (AccessRestrictionGroupSchema, AccessRe DynamicLocationSchema, HoleSchema, LeaveDescriptionSchema, LevelSchema, LineObstacleSchema, LocationGroupCategorySchema, LocationGroupSchema, ObstacleSchema, POISchema, RampSchema, SourceSchema, SpaceSchema, StairSchema, - DataOverlaySchema, DataOverlayFeatureSchema, LocationRedirectSchema) + DataOverlaySchema, DataOverlayFeatureSchema, LocationRedirectSchema, + WayTypeSchema) mapdata_api_router = APIRouter(tags=["mapdata"]) @@ -224,6 +225,10 @@ mapdata_endpoints: dict[str, list[MapdataEndpoint]] = { schema=DataOverlayFeatureSchema, filters=ByOverlayFilter, ), + MapdataEndpoint( + model=WayType, + schema=WayTypeSchema, + ), ], "level": [ MapdataEndpoint( diff --git a/src/c3nav/mapdata/schemas/models.py b/src/c3nav/mapdata/schemas/models.py index e3ac0d9f..d261408a 100644 --- a/src/c3nav/mapdata/schemas/models.py +++ b/src/c3nav/mapdata/schemas/models.py @@ -393,6 +393,12 @@ class DataOverlayFeatureSchema(TitledSchema, WithGeometrySchema, DjangoModelSche extra_data: Optional[dict[str, str]] +class WayTypeSchema(TitledSchema, DjangoModelSchema): + """ + Waytypes for navigation like stairs, escalators etc + """ + pass + class SourceSchema(WithAccessRestrictionSchema, DjangoModelSchema): """ A source image that can be traced in the editor. @@ -971,4 +977,4 @@ class LegendItemSchema(BaseSchema): class LegendSchema(BaseSchema): base: list[LegendItemSchema] groups: list[LegendItemSchema] - obstacles: list[LegendItemSchema] + obstacles: list[LegendItemSchema] \ No newline at end of file