mirror of
https://github.com/openmax-server/server.git
synced 2026-05-22 19:41:41 +03:00
Вроде как нормальные заглушки под ассеты
This commit is contained in:
@@ -54,6 +54,32 @@ class AssetsPayloadModel(pydantic.BaseModel):
|
|||||||
sync: int
|
sync: int
|
||||||
type: str
|
type: str
|
||||||
|
|
||||||
|
class AssetsGetPayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
count: int = 100
|
||||||
|
query: str = None
|
||||||
|
|
||||||
|
class AssetsGetByIdsPayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
ids: list
|
||||||
|
|
||||||
|
class AssetsAddPayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
id: int = None
|
||||||
|
|
||||||
|
class AssetsRemovePayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
ids: list
|
||||||
|
|
||||||
|
class AssetsMovePayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
id: int
|
||||||
|
position: int
|
||||||
|
|
||||||
|
class AssetsListModifyPayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
ids: list
|
||||||
|
|
||||||
class GetCallHistoryPayloadModel(pydantic.BaseModel):
|
class GetCallHistoryPayloadModel(pydantic.BaseModel):
|
||||||
forward: bool
|
forward: bool
|
||||||
count: int
|
count: int
|
||||||
|
|||||||
@@ -1,31 +1,167 @@
|
|||||||
import pydantic
|
import pydantic
|
||||||
import time
|
import time
|
||||||
from classes.baseprocessor import BaseProcessor
|
from classes.baseprocessor import BaseProcessor
|
||||||
from oneme.models import AssetsPayloadModel
|
from oneme.models import (
|
||||||
|
AssetsPayloadModel,
|
||||||
|
AssetsGetPayloadModel,
|
||||||
|
AssetsGetByIdsPayloadModel,
|
||||||
|
AssetsAddPayloadModel,
|
||||||
|
AssetsRemovePayloadModel,
|
||||||
|
AssetsMovePayloadModel,
|
||||||
|
AssetsListModifyPayloadModel,
|
||||||
|
)
|
||||||
|
|
||||||
class AssetsProcessors(BaseProcessor):
|
class AssetsProcessors(BaseProcessor):
|
||||||
async def assets_update(self, payload, seq, writer):
|
async def assets_update(self, payload, seq, writer):
|
||||||
"""Обработчик запроса ассетов клиента на сервере"""
|
|
||||||
# Валидируем данные пакета
|
|
||||||
try:
|
try:
|
||||||
AssetsPayloadModel.model_validate(payload)
|
AssetsPayloadModel.model_validate(payload)
|
||||||
except pydantic.ValidationError as error:
|
except pydantic.ValidationError as error:
|
||||||
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
await self._send_error(seq, self.opcodes.ASSETS_UPDATE, self.error_types.INVALID_PAYLOAD, writer)
|
await self._send_error(seq, self.opcodes.ASSETS_UPDATE, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
return
|
return
|
||||||
|
|
||||||
# TODO: сейчас это заглушка, а попозже нужно сделать полноценную реализацию
|
|
||||||
|
|
||||||
# Данные пакета
|
response = {
|
||||||
payload = {
|
"sync": int(time.time() * 1000),
|
||||||
"sections": [],
|
"stickerSetsUpdates": {},
|
||||||
"sync": int(time.time() * 1000)
|
"stickersUpdates": {},
|
||||||
|
"stickersOrder": [
|
||||||
|
"RECENT",
|
||||||
|
"FAVORITE_STICKERS",
|
||||||
|
"FAVORITE_STICKER_SETS",
|
||||||
|
"TOP",
|
||||||
|
"NEW",
|
||||||
|
"NEW_STICKER_SETS",
|
||||||
|
],
|
||||||
|
"sections": [
|
||||||
|
{
|
||||||
|
"id": "RECENT",
|
||||||
|
"type": "RECENTS",
|
||||||
|
"recentsList": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "FAVORITE_STICKERS",
|
||||||
|
"type": "STICKERS",
|
||||||
|
"stickers": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "FAVORITE_STICKER_SETS",
|
||||||
|
"type": "STICKER_SETS",
|
||||||
|
"stickerSets": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TOP",
|
||||||
|
"type": "STICKERS",
|
||||||
|
"stickers": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "NEW",
|
||||||
|
"type": "STICKERS",
|
||||||
|
"stickers": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "NEW_STICKER_SETS",
|
||||||
|
"type": "STICKER_SETS",
|
||||||
|
"stickerSets": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
# Собираем пакет
|
|
||||||
packet = self.proto.pack_packet(
|
packet = self.proto.pack_packet(
|
||||||
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_UPDATE, payload=payload
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_UPDATE, payload=response
|
||||||
)
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
# Отправляем
|
async def assets_get(self, payload, seq, writer):
|
||||||
await self._send(writer, packet)
|
try:
|
||||||
|
data = AssetsGetPayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_GET, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
asset_type = data.type
|
||||||
|
if asset_type == "STICKER_SET":
|
||||||
|
response = {"stickerSets": [], "marker": None}
|
||||||
|
else:
|
||||||
|
response = {"stickers": [], "marker": None}
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_GET, payload=response
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_get_by_ids(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
data = AssetsGetByIdsPayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_GET_BY_IDS, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
asset_type = data.type
|
||||||
|
if asset_type == "STICKER_SET":
|
||||||
|
response = {"stickerSets": []}
|
||||||
|
else:
|
||||||
|
response = {"stickers": []}
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_GET_BY_IDS, payload=response
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_add(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
AssetsAddPayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_ADD, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_ADD, payload={}
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_remove(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
AssetsRemovePayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_REMOVE, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_REMOVE, payload={}
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_move(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
AssetsMovePayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_MOVE, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_MOVE, payload={}
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_list_modify(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
AssetsListModifyPayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_LIST_MODIFY, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_LIST_MODIFY, payload={}
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|||||||
@@ -168,6 +168,54 @@ class OnemeMobile:
|
|||||||
seq,
|
seq,
|
||||||
writer,
|
writer,
|
||||||
)
|
)
|
||||||
|
case self.opcodes.ASSETS_GET:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_get,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
writer,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_GET_BY_IDS:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_get_by_ids,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
writer,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_ADD:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_add,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
writer,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_REMOVE:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_remove,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
writer,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_MOVE:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_move,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
writer,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_LIST_MODIFY:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_list_modify,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
writer,
|
||||||
|
)
|
||||||
case self.opcodes.VIDEO_CHAT_HISTORY:
|
case self.opcodes.VIDEO_CHAT_HISTORY:
|
||||||
await self.auth_required(
|
await self.auth_required(
|
||||||
userPhone,
|
userPhone,
|
||||||
|
|||||||
@@ -151,6 +151,54 @@ class OnemeWS:
|
|||||||
seq,
|
seq,
|
||||||
websocket,
|
websocket,
|
||||||
)
|
)
|
||||||
|
case self.opcodes.ASSETS_GET:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_get,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
websocket,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_GET_BY_IDS:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_get_by_ids,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
websocket,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_ADD:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_add,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
websocket,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_REMOVE:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_remove,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
websocket,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_MOVE:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_move,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
websocket,
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_LIST_MODIFY:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone,
|
||||||
|
self.processors.assets_list_modify,
|
||||||
|
payload,
|
||||||
|
seq,
|
||||||
|
websocket,
|
||||||
|
)
|
||||||
case self.opcodes.VIDEO_CHAT_HISTORY:
|
case self.opcodes.VIDEO_CHAT_HISTORY:
|
||||||
await self.auth_required(
|
await self.auth_required(
|
||||||
userPhone,
|
userPhone,
|
||||||
|
|||||||
@@ -54,6 +54,32 @@ class AssetsPayloadModel(pydantic.BaseModel):
|
|||||||
type: str = None
|
type: str = None
|
||||||
userId: int = None
|
userId: int = None
|
||||||
|
|
||||||
|
class AssetsGetPayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
count: int = 100
|
||||||
|
query: str = None
|
||||||
|
|
||||||
|
class AssetsGetByIdsPayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
ids: list
|
||||||
|
|
||||||
|
class AssetsAddPayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
id: int = None
|
||||||
|
|
||||||
|
class AssetsRemovePayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
ids: list
|
||||||
|
|
||||||
|
class AssetsMovePayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
id: int
|
||||||
|
position: int
|
||||||
|
|
||||||
|
class AssetsListModifyPayloadModel(pydantic.BaseModel):
|
||||||
|
type: str
|
||||||
|
ids: list
|
||||||
|
|
||||||
class GetCallTokenPayloadModel(pydantic.BaseModel):
|
class GetCallTokenPayloadModel(pydantic.BaseModel):
|
||||||
userId: int
|
userId: int
|
||||||
value: str
|
value: str
|
||||||
|
|||||||
@@ -1,34 +1,167 @@
|
|||||||
import pydantic
|
import pydantic
|
||||||
import time
|
import time
|
||||||
from classes.baseprocessor import BaseProcessor
|
from classes.baseprocessor import BaseProcessor
|
||||||
from tamtam.models import AssetsPayloadModel
|
from tamtam.models import (
|
||||||
|
AssetsPayloadModel,
|
||||||
|
AssetsGetPayloadModel,
|
||||||
|
AssetsGetByIdsPayloadModel,
|
||||||
|
AssetsAddPayloadModel,
|
||||||
|
AssetsRemovePayloadModel,
|
||||||
|
AssetsMovePayloadModel,
|
||||||
|
AssetsListModifyPayloadModel,
|
||||||
|
)
|
||||||
|
|
||||||
class AssetsProcessors(BaseProcessor):
|
class AssetsProcessors(BaseProcessor):
|
||||||
async def assets_update(self, payload, seq, writer):
|
async def assets_update(self, payload, seq, writer):
|
||||||
"""Обработчик запроса ассетов клиента на сервере"""
|
|
||||||
# Валидируем данные пакета
|
|
||||||
try:
|
try:
|
||||||
AssetsPayloadModel.model_validate(payload)
|
AssetsPayloadModel.model_validate(payload)
|
||||||
except pydantic.ValidationError as error:
|
except pydantic.ValidationError as error:
|
||||||
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
await self._send_error(seq, self.opcodes.ASSETS_UPDATE, self.error_types.INVALID_PAYLOAD, writer)
|
await self._send_error(seq, self.opcodes.ASSETS_UPDATE, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
return
|
return
|
||||||
|
|
||||||
# TODO: сейчас это заглушка, а попозже нужно сделать полноценную реализацию
|
|
||||||
|
|
||||||
# Данные пакета
|
response = {
|
||||||
payload = {
|
|
||||||
"sync": int(time.time() * 1000),
|
"sync": int(time.time() * 1000),
|
||||||
"stickerSetsUpdates": {},
|
"stickerSetsUpdates": {},
|
||||||
"stickersUpdates": {},
|
"stickersUpdates": {},
|
||||||
"sections": [],
|
"stickersOrder": [
|
||||||
"stickersOrder": []
|
"RECENT",
|
||||||
|
"FAVORITE_STICKERS",
|
||||||
|
"FAVORITE_STICKER_SETS",
|
||||||
|
"TOP",
|
||||||
|
"NEW",
|
||||||
|
"NEW_STICKER_SETS",
|
||||||
|
],
|
||||||
|
"sections": [
|
||||||
|
{
|
||||||
|
"id": "RECENT",
|
||||||
|
"type": "RECENTS",
|
||||||
|
"recentsList": [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "FAVORITE_STICKERS",
|
||||||
|
"type": "STICKERS",
|
||||||
|
"stickers": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "FAVORITE_STICKER_SETS",
|
||||||
|
"type": "STICKER_SETS",
|
||||||
|
"stickerSets": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "TOP",
|
||||||
|
"type": "STICKERS",
|
||||||
|
"stickers": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "NEW",
|
||||||
|
"type": "STICKERS",
|
||||||
|
"stickers": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "NEW_STICKER_SETS",
|
||||||
|
"type": "STICKER_SETS",
|
||||||
|
"stickerSets": [],
|
||||||
|
"marker": None,
|
||||||
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
# Собираем пакет
|
|
||||||
packet = self.proto.pack_packet(
|
packet = self.proto.pack_packet(
|
||||||
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_UPDATE, payload=payload
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_UPDATE, payload=response
|
||||||
)
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
# Отправляем
|
async def assets_get(self, payload, seq, writer):
|
||||||
await self._send(writer, packet)
|
try:
|
||||||
|
data = AssetsGetPayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_GET, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
asset_type = data.type
|
||||||
|
if asset_type == "STICKER_SET":
|
||||||
|
response = {"stickerSets": [], "marker": None}
|
||||||
|
else:
|
||||||
|
response = {"stickers": [], "marker": None}
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_GET, payload=response
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_get_by_ids(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
data = AssetsGetByIdsPayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_GET_BY_IDS, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
asset_type = data.type
|
||||||
|
if asset_type == "STICKER_SET":
|
||||||
|
response = {"stickerSets": []}
|
||||||
|
else:
|
||||||
|
response = {"stickers": []}
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_GET_BY_IDS, payload=response
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_add(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
AssetsAddPayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_ADD, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_ADD, payload={}
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_remove(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
AssetsRemovePayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_REMOVE, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_REMOVE, payload={}
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_move(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
AssetsMovePayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_MOVE, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_MOVE, payload={}
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|
||||||
|
async def assets_list_modify(self, payload, seq, writer):
|
||||||
|
try:
|
||||||
|
AssetsListModifyPayloadModel.model_validate(payload)
|
||||||
|
except pydantic.ValidationError as error:
|
||||||
|
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
|
||||||
|
await self._send_error(seq, self.opcodes.ASSETS_LIST_MODIFY, self.error_types.INVALID_PAYLOAD, writer)
|
||||||
|
return
|
||||||
|
|
||||||
|
packet = self.proto.pack_packet(
|
||||||
|
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_LIST_MODIFY, payload={}
|
||||||
|
)
|
||||||
|
await self._send(writer, packet)
|
||||||
|
|||||||
@@ -122,6 +122,30 @@ class TamTamMobile:
|
|||||||
await self.auth_required(
|
await self.auth_required(
|
||||||
userPhone, self.processors.assets_update, payload, seq, writer
|
userPhone, self.processors.assets_update, payload, seq, writer
|
||||||
)
|
)
|
||||||
|
case self.opcodes.ASSETS_GET:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_get, payload, seq, writer
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_GET_BY_IDS:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_get_by_ids, payload, seq, writer
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_ADD:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_add, payload, seq, writer
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_REMOVE:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_remove, payload, seq, writer
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_MOVE:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_move, payload, seq, writer
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_LIST_MODIFY:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_list_modify, payload, seq, writer
|
||||||
|
)
|
||||||
case self.opcodes.VIDEO_CHAT_HISTORY:
|
case self.opcodes.VIDEO_CHAT_HISTORY:
|
||||||
await self.auth_required(
|
await self.auth_required(
|
||||||
userPhone, self.processors.video_chat_history, payload, seq, writer
|
userPhone, self.processors.video_chat_history, payload, seq, writer
|
||||||
|
|||||||
@@ -109,6 +109,30 @@ class TamTamWS:
|
|||||||
await self.auth_required(
|
await self.auth_required(
|
||||||
userPhone, self.processors.assets_update, payload, seq, websocket
|
userPhone, self.processors.assets_update, payload, seq, websocket
|
||||||
)
|
)
|
||||||
|
case self.opcodes.ASSETS_GET:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_get, payload, seq, websocket
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_GET_BY_IDS:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_get_by_ids, payload, seq, websocket
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_ADD:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_add, payload, seq, websocket
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_REMOVE:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_remove, payload, seq, websocket
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_MOVE:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_move, payload, seq, websocket
|
||||||
|
)
|
||||||
|
case self.opcodes.ASSETS_LIST_MODIFY:
|
||||||
|
await self.auth_required(
|
||||||
|
userPhone, self.processors.assets_list_modify, payload, seq, websocket
|
||||||
|
)
|
||||||
case self.opcodes.VIDEO_CHAT_HISTORY:
|
case self.opcodes.VIDEO_CHAT_HISTORY:
|
||||||
await self.auth_required(
|
await self.auth_required(
|
||||||
userPhone, self.processors.video_chat_history, payload, seq, websocket
|
userPhone, self.processors.video_chat_history, payload, seq, websocket
|
||||||
|
|||||||
Reference in New Issue
Block a user