diff --git a/stapi_fastapi_tle/backend.py b/stapi_fastapi_tle/backend.py index d51e3d4..f2aecb1 100644 --- a/stapi_fastapi_tle/backend.py +++ b/stapi_fastapi_tle/backend.py @@ -92,8 +92,8 @@ async def search_opportunities( except IndexError: alt = 0 passes = self.satellite.passes( - start=validated.properties.datetime[0], - end=validated.properties.datetime[1], + start=validated.datetime[0], + end=validated.datetime[1], lon=validated.geometry.coordinates[0], lat=validated.geometry.coordinates[1], alt=alt, diff --git a/stapi_fastapi_tle/models.py b/stapi_fastapi_tle/models.py index 9c8be55..4308708 100644 --- a/stapi_fastapi_tle/models.py +++ b/stapi_fastapi_tle/models.py @@ -11,7 +11,7 @@ ) from stapi_fastapi.models.constraints import Constraints as BaseConstraints -from stapi_fastapi.models.opportunity import OpportunityRequest +from stapi_fastapi.models.opportunity import OpportunityRequest, OpportunityProperties class Satellite(BaseModel): @@ -33,10 +33,7 @@ def tle_lines(self) -> tuple[str, str, str]: return self.tle.split("\n") -class PassProperties(BaseModel): - datetime: AwareDatetime - start: AwareDatetime - end: AwareDatetime +class PassProperties(OpportunityProperties): view_off_nadir: float = Field(..., alias="view:off_nadir") view_azimuth: float = Field(..., alias="view:azimuth") view_elevation: float = Field(..., alias="view:elevation") diff --git a/stapi_fastapi_tle/satellite.py b/stapi_fastapi_tle/satellite.py index 579d272..afbfdb4 100644 --- a/stapi_fastapi_tle/satellite.py +++ b/stapi_fastapi_tle/satellite.py @@ -59,7 +59,10 @@ def passes( bbox=[lon, lat, alt, lon, lat, alt], ), properties={ - "datetime": t.utc_datetime(), + "datetime": [ + t.utc_datetime() - self._model.block_time[0], + t.utc_datetime() + self._model.block_time[1] + ], "start": t.utc_datetime() - self._model.block_time[0], "end": t.utc_datetime() + self._model.block_time[1], "view:off_nadir": off_nadir, @@ -67,6 +70,7 @@ def passes( "view:elevation": elevation.degrees, "sun:elevation": 0, "sun:azimuth": 0, + "product_id": "mock:standard", }, ) )