mirror of
https://github.com/openmax-server/server.git
synced 2026-06-23 19:31:08 +03:00
first commit
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
import pydantic
|
||||
|
||||
class UserAgentModel(pydantic.BaseModel):
|
||||
deviceType: str
|
||||
appVersion: str
|
||||
osVersion: str
|
||||
timezone: str
|
||||
release: int = None
|
||||
screen: str
|
||||
pushDeviceType: str
|
||||
arch: str = None
|
||||
locale: str
|
||||
buildNumber: int
|
||||
deviceName: str
|
||||
deviceLocale: str
|
||||
|
||||
class HelloPayloadModel(pydantic.BaseModel):
|
||||
clientSessionId: int
|
||||
mt_instanceid: str = None
|
||||
userAgent: UserAgentModel
|
||||
deviceId: str
|
||||
|
||||
class RequestCodePayloadModel(pydantic.BaseModel):
|
||||
phone: str
|
||||
type: str
|
||||
|
||||
@pydantic.field_validator('phone')
|
||||
def validate_phone(cls, v):
|
||||
"""Валидация номера телефона"""
|
||||
if not v.replace("+", "").replace(" ", "").replace("-", "").isdigit():
|
||||
raise ValueError('phone must be digits')
|
||||
return v
|
||||
|
||||
@pydantic.field_validator('type')
|
||||
def validate_type(cls, v):
|
||||
"""Валидация типа запроса"""
|
||||
if not v in ("START_AUTH", "RESEND"):
|
||||
raise ValueError('type must be valid')
|
||||
return v
|
||||
|
||||
class VerifyCodePayloadModel(pydantic.BaseModel):
|
||||
verifyCode: str
|
||||
authTokenType: str
|
||||
token: str
|
||||
|
||||
class LoginPayloadModel(pydantic.BaseModel):
|
||||
interactive: bool
|
||||
token: str
|
||||
|
||||
class PingPayloadModel(pydantic.BaseModel):
|
||||
interactive: bool
|
||||
|
||||
class AssetsPayloadModel(pydantic.BaseModel):
|
||||
sync: int
|
||||
type: str
|
||||
|
||||
class GetCallHistoryPayloadModel(pydantic.BaseModel):
|
||||
forward: bool
|
||||
count: int
|
||||
|
||||
class MessageModel(pydantic.BaseModel):
|
||||
isLive: bool
|
||||
detectShare: bool
|
||||
elements: list
|
||||
attaches: list = None
|
||||
cid: int
|
||||
text: str = None
|
||||
|
||||
class SendMessagePayloadModel(pydantic.BaseModel):
|
||||
# TODO: пишем сервер макса в 2 ночи и не понимаем как это валидировать (блять)
|
||||
userId: int = None
|
||||
chatId: int = None
|
||||
message: MessageModel
|
||||
|
||||
class SyncFoldersPayloadModel(pydantic.BaseModel):
|
||||
folderSync: int
|
||||
|
||||
class SearchChatsPayloadModel(pydantic.BaseModel):
|
||||
chatIds: list
|
||||
|
||||
class SearchByPhonePayloadModel(pydantic.BaseModel):
|
||||
phone: str
|
||||
|
||||
class GetCallTokenPayloadModel(pydantic.BaseModel):
|
||||
userId: int
|
||||
value: str
|
||||
|
||||
class TypingPayloadModel(pydantic.BaseModel):
|
||||
chatId: int
|
||||
type: str = None
|
||||
|
||||
class SearchUsersPayloadModel(pydantic.BaseModel):
|
||||
contactIds: list
|
||||
|
||||
class ComplainReasonsGetPayloadModel(pydantic.BaseModel):
|
||||
complainSync: int
|
||||
Reference in New Issue
Block a user