diff --git a/app_bot/bot/core/tasks/upload.py b/app_bot/bot/core/tasks/upload.py index e0729cd..7e165e7 100644 --- a/app_bot/bot/core/tasks/upload.py +++ b/app_bot/bot/core/tasks/upload.py @@ -30,7 +30,7 @@ class BaseUploadContext(RealBaseModel): model_config = ConfigDict(**RealBaseModel.model_config, strict=True) caption: str filename: str - filepath: FilePath + filepath: FilePath | str duration: float type: MessageMediaType is_cached: bool = False @@ -39,7 +39,7 @@ class BaseUploadContext(RealBaseModel): class VideoUploadContext(BaseUploadContext): height: int | float width: int | float - thumb: FilePath | None = None + thumb: FilePath | str | None = None class AudioUploadContext(BaseUploadContext): diff --git a/app_worker/ytdl_opts/per_host/_base.py b/app_worker/ytdl_opts/per_host/_base.py index 1075ea1..8e0e71c 100644 --- a/app_worker/ytdl_opts/per_host/_base.py +++ b/app_worker/ytdl_opts/per_host/_base.py @@ -32,7 +32,9 @@ except ImportError: class BaseHostConfModel(BaseModel): # TODO: Add validators. - model_config = ConfigDict(strict=True, frozen=True, validate_assignment=True) + model_config = ConfigDict( + strict=True, frozen=True, validate_assignment=True, validate_default=True + ) hostnames: tuple[str, ...] diff --git a/yt_shared/yt_shared/schemas/base.py b/yt_shared/yt_shared/schemas/base.py index dba945b..c637523 100644 --- a/yt_shared/yt_shared/schemas/base.py +++ b/yt_shared/yt_shared/schemas/base.py @@ -8,7 +8,9 @@ from yt_shared.enums import RabbitPayloadType class RealBaseModel(BaseModel, ABC): """Base Pydantic model. All non-strict models should inherit from it.""" - model_config = ConfigDict(extra='forbid', validate_default=True) + model_config = ConfigDict( + extra='forbid', validate_default=True, validate_assignment=True + ) class StrictRealBaseModel(RealBaseModel, ABC):