26 lines
684 B
Python
26 lines
684 B
Python
from uuid import UUID
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, Field, field_validator
|
|
|
|
from itd.models.user import UserPost
|
|
from itd.models.file import Attach
|
|
|
|
|
|
class TextObject(BaseModel):
|
|
id: UUID
|
|
content: str
|
|
author: UserPost
|
|
attachments: list[Attach] = []
|
|
|
|
created_at: datetime = Field(alias='createdAt')
|
|
|
|
model_config = {'populate_by_name': True}
|
|
|
|
@field_validator('created_at', mode='plain')
|
|
@classmethod
|
|
def validate_created_at(cls, v: str):
|
|
try:
|
|
return datetime.strptime(v + '00', '%Y-%m-%d %H:%M:%S.%f%z')
|
|
except ValueError:
|
|
return datetime.strptime(v, '%Y-%m-%dT%H:%M:%S.%fZ') |