2024-05-17 16:09:50 +03:00
|
|
|
import datetime
|
2024-05-16 19:34:58 +03:00
|
|
|
|
2024-05-17 16:09:50 +03:00
|
|
|
from pydantic import BaseModel, ConfigDict, AliasGenerator
|
|
|
|
from pydantic.alias_generators import to_camel, to_snake
|
2024-05-16 19:34:58 +03:00
|
|
|
|
2024-05-17 16:09:50 +03:00
|
|
|
|
|
|
|
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
|