From 95e7882c45c790b220cb3964b0ab3e33b63e9f0e Mon Sep 17 00:00:00 2001 From: Julia Signell Date: Thu, 18 Apr 2024 06:26:40 -0400 Subject: [PATCH] Remove filter from opportunity response --- stat_fastapi/models/opportunity.py | 5 +++-- stat_fastapi_landsat/README.md | 17 +++++++++++++++++ stat_fastapi_landsat/backend.py | 11 +---------- stat_fastapi_landsat/models.py | 4 +--- 4 files changed, 22 insertions(+), 15 deletions(-) create mode 100644 stat_fastapi_landsat/README.md diff --git a/stat_fastapi/models/opportunity.py b/stat_fastapi/models/opportunity.py index 39f7c1f..9ef1375 100644 --- a/stat_fastapi/models/opportunity.py +++ b/stat_fastapi/models/opportunity.py @@ -2,7 +2,7 @@ from geojson_pydantic import Feature, FeatureCollection from geojson_pydantic.geometries import Geometry -from pydantic import BaseModel +from pydantic import BaseModel, ConfigDict from stat_fastapi.types.datetime_interval import DatetimeInterval from stat_fastapi.types.filter import CQL2Filter @@ -12,11 +12,12 @@ class OpportunityProperties(BaseModel): datetime: DatetimeInterval product_id: str - filter: Optional[CQL2Filter] = None + model_config = ConfigDict(extra="allow") class OpportunitySearch(OpportunityProperties): geometry: Geometry + filter: Optional[CQL2Filter] = None class Opportunity(Feature[Geometry, OpportunityProperties]): diff --git a/stat_fastapi_landsat/README.md b/stat_fastapi_landsat/README.md new file mode 100644 index 0000000..a01404f --- /dev/null +++ b/stat_fastapi_landsat/README.md @@ -0,0 +1,17 @@ +## Landsat backend + +Start the server locally + +```sh +poetry run landsat +``` + +GET all products +```sh +curl http://127.0.0.1:8000/products +``` + +POST to opportunities +```sh +curl -d '{"geometry": {"type": "Point", "coordinates": [13.4, 52.5]}, "product_id": "landsat:9", "datetime": "2024-05-01T00:00:00Z/2024-05-12T00:00:00Z"}' -H "Content-Type: application/json" -X POST http://127.0.0.1:8000/opportunities +``` diff --git a/stat_fastapi_landsat/backend.py b/stat_fastapi_landsat/backend.py index 66b1dab..7b8dc22 100644 --- a/stat_fastapi_landsat/backend.py +++ b/stat_fastapi_landsat/backend.py @@ -4,10 +4,6 @@ import pytz from fastapi import Request -from pydantic import ( - BaseModel, - ConfigDict, -) from shapely.geometry import shape from stat_fastapi.exceptions import NotFoundException @@ -18,11 +14,7 @@ ) from stat_fastapi.models.order import Order from stat_fastapi.models.product import Product, Provider, ProviderRole - - -class Constraints(BaseModel): - model_config = ConfigDict(extra="forbid") - +from stat_fastapi_landsat.models import Constraints PRODUCTS = [ Product( @@ -139,7 +131,6 @@ async def search_opportunities( properties=OpportunityProperties( product_id=search.product_id, datetime=[current_date, current_date], - filter=search.filter, ), ) ) diff --git a/stat_fastapi_landsat/models.py b/stat_fastapi_landsat/models.py index 2eecc33..bf8afe4 100644 --- a/stat_fastapi_landsat/models.py +++ b/stat_fastapi_landsat/models.py @@ -1,6 +1,4 @@ -from pydantic import ( - ConfigDict, -) +from pydantic import ConfigDict from stat_fastapi.models.constraints import Constraints as BaseConstraints from stat_fastapi.models.opportunity import OpportunitySearch