mp_message/core/models/message/responses.py

35 lines
1.1 KiB
Python
Raw Normal View History

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