API for querying positions

This commit is contained in:
Laura Klünder 2023-11-24 01:05:38 +01:00
parent 9c6d7989c0
commit 715d6c2f11
5 changed files with 202 additions and 30 deletions

View file

@ -192,19 +192,30 @@ class SimpleGeometryLocationsSchema(Schema):
)
LocationID = Union[
CustomLocationID = Annotated[NonEmptyStr, APIField(
title="custom location ID",
pattern=r"c:[a-z0-9-_]+:(-?\d+(\.\d+)?):(-?\d+(\.\d+)?)$",
description="level short_name and x/y coordinates form the ID of a custom location"
)]
PositionID = Annotated[NonEmptyStr, APIField(
title="position ID",
pattern=r"p:[a-z0-9]+$",
description="the ID of a user-defined tracked position is made up of its secret"
)]
AnyLocationID = Union[
Annotated[PositiveInt, APIField(
title="location ID",
description="numeric ID of any lcation"
)],
Annotated[NonEmptyStr, APIField(
title="custom location ID",
pattern=r"c:[a-z0-9-_]+:(-?\d+(\.\d+)?):(-?\d+(\.\d+)?)$",
description="level short_name and x/y coordinates form the ID of a custom location"
)],
Annotated[NonEmptyStr, APIField(
title="position ID",
pattern=r"p:[a-z0-9]+$",
description="the ID of a user-defined tracked position is made up of its secret"
)],
CustomLocationID,
PositionID,
]
AnyPositionID = Union[
Annotated[PositiveInt, APIField(
title="dynamic location ID",
description="numeric ID of any dynamic lcation"
)],
PositionID,
]