import datetime from pydantic import BaseModel, ConfigDict, AliasGenerator from pydantic.alias_generators import to_camel, to_snake class ProfileResponse(BaseModel): model_config = ConfigDict(alias_generator=AliasGenerator(serialization_alias=to_camel)) id: int external_id: int created_at: datetime.datetime modified_at: datetime.datetime class ChatResponse(BaseModel): model_config = ConfigDict(alias_generator=AliasGenerator(validation_alias=to_snake, serialization_alias=to_camel)) id: int name: str | None admin: ProfileResponse users: list[ProfileResponse] | None = None created_at: datetime.datetime modified_at: datetime.datetime class MessageResponse(BaseModel): model_config = ConfigDict(alias_generator=AliasGenerator(validation_alias=to_snake, serialization_alias=to_camel)) id: int sender: ProfileResponse content: str chat: ChatResponse created_at: datetime.datetime modified_at: datetime.datetime