From b8ec12ef6ffffb7aa96ee8fd5d97af8fed1d1689 Mon Sep 17 00:00:00 2001 From: Ivan Popov Date: Wed, 4 Dec 2024 22:07:57 +0300 Subject: [PATCH] Fix netology error --- .../yet_another_calendar/web/api/netology/schema.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/backend/yet_another_calendar/web/api/netology/schema.py b/backend/yet_another_calendar/web/api/netology/schema.py index 44436fa..57434ba 100644 --- a/backend/yet_another_calendar/web/api/netology/schema.py +++ b/backend/yet_another_calendar/web/api/netology/schema.py @@ -183,17 +183,21 @@ def exclude_attachment(self) -> list[ExtendedLesson]: class DetailedProgram(BaseModel): id: int name: str - start_date: datetime.datetime - finish_date: datetime.datetime + start_date: Optional[datetime.datetime] = Field(default=None) + finish_date: Optional[datetime.datetime] = Field(default=None) @field_validator("start_date") @classmethod - def validate_start_date(cls, start_date: datetime.datetime) -> datetime.datetime: + def validate_start_date(cls, start_date: Optional[datetime.datetime]) -> Optional[datetime.datetime]: + if start_date is None: + return start_date return start_date.astimezone(datetime.timezone.utc) @field_validator("finish_date") @classmethod - def validate_finish_date(cls, finish_date: datetime.datetime) -> datetime.datetime: + def validate_finish_date(cls, finish_date: Optional[datetime.datetime]) -> Optional[datetime.datetime]: + if finish_date is None: + return finish_date return finish_date.astimezone(datetime.timezone.utc)