vika-server / cbh /api /common /models.py
brestok's picture
Refactor project structure and enhance batch processing capabilities
c2ea771
Raw History Blame Contribute Delete
981 Bytes
from datetime import date, datetime, timedelta
from pydantic import BaseModel, Field
from cbh.core.database import MongoBaseModel, MongoSerializableModel
class ValidityMixin(BaseModel):
validFrom: date | None = None
validTo: date | None = None
def days_until_expiry(self, on_date: date) -> int | None:
if self.validTo is None:
return None
return (self.validTo - on_date).days
class FileRef(MongoSerializableModel):
fileName: str
storagePath: str
contentType: str | None = None
sizeBytes: int | None = None
datetimeInserted: datetime = Field(default_factory=datetime.now)
class CacheEntryModel(MongoBaseModel):
namespace: str
key: str
value: dict | list | str | int | float | bool | None = None
deletedAt: datetime | None = Field(
default_factory=lambda: datetime.now() + timedelta(days=1),
exclude=True,
)
datetimeInserted: datetime = Field(default_factory=datetime.now)