From 660ad42d9e43ec38da00e34c4d75f8abfcd10497 Mon Sep 17 00:00:00 2001 From: Sushil Tiwari Date: Thu, 4 Sep 2025 13:52:57 +0545 Subject: [PATCH] feat(tutorial): Add definition schema for street tutorial --- .../tutorial/{ => project_types}/street.yaml | 8 +-- .../pyfirebase/pyfirebase_mapswipe/models.py | 63 ++++++++++--------- 2 files changed, 36 insertions(+), 35 deletions(-) rename functions/definition/tutorial/{ => project_types}/street.yaml (90%) diff --git a/functions/definition/tutorial/street.yaml b/functions/definition/tutorial/project_types/street.yaml similarity index 90% rename from functions/definition/tutorial/street.yaml rename to functions/definition/tutorial/project_types/street.yaml index 7da8da3..c75d965 100644 --- a/functions/definition/tutorial/street.yaml +++ b/functions/definition/tutorial/project_types/street.yaml @@ -1,6 +1,5 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/toggle-corp/typesync/refs/tags/v1.0.0/schema.local.json -# NOTE: This is not finalized FbStreetTutorial: model: alias type: @@ -10,9 +9,6 @@ FbStreetTutorial: type: type: literal value: 7 - zoomLevel: - type: int - deprecated: true customOptions: optional: true type: @@ -24,6 +20,10 @@ FbStreetTutorialTask: type: type: object fields: + projectId: + type: string + groupId: + type: int taskId: type: string geometry: # NOTE: geometry as WKT diff --git a/functions/generated/pyfirebase/pyfirebase_mapswipe/models.py b/functions/generated/pyfirebase/pyfirebase_mapswipe/models.py index bf5b54f..5984d89 100644 --- a/functions/generated/pyfirebase/pyfirebase_mapswipe/models.py +++ b/functions/generated/pyfirebase/pyfirebase_mapswipe/models.py @@ -925,6 +925,38 @@ def __setattr__(self, name: str, value: typing.Any) -> None: super().__setattr__(name, value) +class FbStreetTutorial(TypesyncModel): + projectType: typing.Literal[7] + customOptions: list[FbObjCustomOption] | TypesyncUndefined | None = UNDEFINED + + class Config: + use_enum_values = False + extra = "forbid" + + @typing.override + def __setattr__(self, name: str, value: typing.Any) -> None: + if name == "customOptions" and value is None: + raise ValueError("'customOptions' field cannot be set to None") + super().__setattr__(name, value) + + +class FbStreetTutorialTask(TypesyncModel): + projectId: str + groupId: int + taskId: str + geometry: str + referenceAnswer: int + screen: int + + class Config: + use_enum_values = False + extra = "forbid" + + @typing.override + def __setattr__(self, name: str, value: typing.Any) -> None: + super().__setattr__(name, value) + + class FbTileMapServiceTutorialGroup(TypesyncModel): xMax: int xMin: int @@ -1056,37 +1088,6 @@ def __setattr__(self, name: str, value: typing.Any) -> None: super().__setattr__(name, value) -class FbStreetTutorial(TypesyncModel): - projectType: typing.Literal[7] - zoomLevel: typing.Annotated[int, pydantic.Field(deprecated=True)] - customOptions: list[FbObjCustomOption] | TypesyncUndefined | None = UNDEFINED - - class Config: - use_enum_values = False - extra = "forbid" - - @typing.override - def __setattr__(self, name: str, value: typing.Any) -> None: - if name == "customOptions" and value is None: - raise ValueError("'customOptions' field cannot be set to None") - super().__setattr__(name, value) - - -class FbStreetTutorialTask(TypesyncModel): - taskId: str - geometry: str - referenceAnswer: int - screen: int - - class Config: - use_enum_values = False - extra = "forbid" - - @typing.override - def __setattr__(self, name: str, value: typing.Any) -> None: - super().__setattr__(name, value) - - class FbUserReadonlyType(TypesyncModel): """Represents user fields that cannot be updated from backend"""