Source code for arbor_imago.services.image_version

from sqlmodel import select

from arbor_imago import custom_types
from arbor_imago.services import base
from arbor_imago.models.tables import ImageVersion as ImageVersionTable
from arbor_imago.schemas import file as file_schema


[docs] class ImageVersion( base.Service[ ImageVersionTable, custom_types.ImageVersion.id, file_schema.FileAdminCreate, file_schema.FileAdminUpdate, str ], base.SimpleIdModelService[ ImageVersionTable, custom_types.ImageVersion.id, ], ): _MODEL = ImageVersionTable
# @model_validator(mode='after') # def validate_model(self, info: ValidationInfo) -> None: # if self.base_name is None and self.parent_id is None: # raise ValueError('Unnamed versions must have a parent_id') # @field_validator('datetime') # @classmethod # def validate_datetime(cls, value: datetime_module.datetime, info: ValidationInfo) -> datetime_module.datetime: # return validate_and_normalize_datetime(value, info) # @field_serializer('datetime') # def serialize_datetime(value: datetime_module.datetime) -> datetime_module.datetime: # return value.replace(tzinfo=datetime_module.timezone.utc) # async def get_root_base_name(self) -> types.ImageVersion.base_name: # if self.base_name is not None: # return self.base_name # else: # if self.parent_id is not None: # return (await self.parent.get_root_base_name()) # else: # raise ValueError('Unnamed versions must have a parent_id')