Skip to content

Commit add32b9

Browse files
committed
chore: merging master changes for missing object ids
2 parents bafd992 + 5504668 commit add32b9

File tree

12 files changed

+180
-115
lines changed

12 files changed

+180
-115
lines changed

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ disable = """
5555
no-member,
5656
protected-access,
5757
import-outside-toplevel,
58+
too-many-statements,
5859
"""
5960

6061
[tool.ruff]

src/models/environment.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
import datetime
1+
from datetime import datetime, timezone, timedelta
22
from typing import Optional, ClassVar, Self, Literal
3+
from pydantic import Field
34
from src.models.interface import ApiBaseModel
45

56

7+
def _default_future_datetime() -> datetime:
8+
"""Factory function to create timezone-aware datetime one day in the future."""
9+
return datetime.now(timezone.utc) + timedelta(days=1)
10+
11+
612
class EnvironmentModel(ApiBaseModel):
713
NAME: ClassVar = 'environment'
814
METHODS: ClassVar = ('POST', 'GET', 'PUT', 'DELETE')
@@ -24,9 +30,7 @@ class EnvironmentModel(ApiBaseModel):
2430
'ensemble',
2531
] = 'standard_atmosphere'
2632
atmospheric_model_file: Optional[str] = None
27-
date: Optional[datetime.datetime] = (
28-
datetime.datetime.today() + datetime.timedelta(days=1)
29-
)
33+
date: Optional[datetime] = Field(default_factory=_default_future_datetime)
3034

3135
@staticmethod
3236
def UPDATED():

src/models/interface.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ class ApiBaseModel(BaseModel, ABC):
2121
validate_default=True,
2222
validate_all_in_root=True,
2323
validate_assignment=True,
24+
ser_json_exclude_none=True,
2425
)
2526

2627
def set_id(self, value):

src/repositories/flight.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,17 @@ def __init__(self):
1919

2020
@repository_exception_handler
2121
async def create_flight(self, flight: FlightModel) -> str:
22-
return await self.insert(flight.model_dump())
22+
return await self.insert(flight.model_dump(exclude_none=True))
2323

2424
@repository_exception_handler
2525
async def read_flight_by_id(self, flight_id: str) -> Optional[FlightModel]:
2626
return await self.find_by_id(data_id=flight_id)
2727

2828
@repository_exception_handler
2929
async def update_flight_by_id(self, flight_id: str, flight: FlightModel):
30-
await self.update_by_id(flight.model_dump(), data_id=flight_id)
30+
await self.update_by_id(
31+
flight.model_dump(exclude_none=True), data_id=flight_id
32+
)
3133

3234
@repository_exception_handler
3335
async def delete_flight_by_id(self, flight_id: str):

src/repositories/motor.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,17 @@ def __init__(self):
1919

2020
@repository_exception_handler
2121
async def create_motor(self, motor: MotorModel) -> str:
22-
return await self.insert(motor.model_dump())
22+
return await self.insert(motor.model_dump(exclude_none=True))
2323

2424
@repository_exception_handler
2525
async def read_motor_by_id(self, motor_id: str) -> Optional[MotorModel]:
2626
return await self.find_by_id(data_id=motor_id)
2727

2828
@repository_exception_handler
2929
async def update_motor_by_id(self, motor_id: str, motor: MotorModel):
30-
await self.update_by_id(motor.model_dump(), data_id=motor_id)
30+
await self.update_by_id(
31+
motor.model_dump(exclude_none=True), data_id=motor_id
32+
)
3133

3234
@repository_exception_handler
3335
async def delete_motor_by_id(self, motor_id: str):

src/repositories/rocket.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,17 @@ def __init__(self):
1919

2020
@repository_exception_handler
2121
async def create_rocket(self, rocket: RocketModel) -> str:
22-
return await self.insert(rocket.model_dump())
22+
return await self.insert(rocket.model_dump(exclude_none=True))
2323

2424
@repository_exception_handler
2525
async def read_rocket_by_id(self, rocket_id: str) -> Optional[RocketModel]:
2626
return await self.find_by_id(data_id=rocket_id)
2727

2828
@repository_exception_handler
2929
async def update_rocket_by_id(self, rocket_id: str, rocket: RocketModel):
30-
await self.update_by_id(rocket.model_dump(), data_id=rocket_id)
30+
await self.update_by_id(
31+
rocket.model_dump(exclude_none=True), data_id=rocket_id
32+
)
3133

3234
@repository_exception_handler
3335
async def delete_rocket_by_id(self, rocket_id: str):

0 commit comments

Comments
 (0)