mirror of
https://github.com/openmax-server/server.git
synced 2026-05-23 03:51:43 +03:00
MAX: Рефактор папок
This commit is contained in:
@@ -403,17 +403,26 @@ class AuthProcessors(BaseProcessor):
|
||||
await cursor.execute(
|
||||
"""
|
||||
INSERT INTO user_data
|
||||
(phone, folders, user_config, chat_config)
|
||||
VALUES (%s, %s, %s, %s)
|
||||
(phone, user_config, chat_config)
|
||||
VALUES (%s, %s, %s)
|
||||
""",
|
||||
(
|
||||
phone,
|
||||
json.dumps(self.static.USER_FOLDERS),
|
||||
json.dumps(self.static.USER_SETTINGS),
|
||||
json.dumps({}),
|
||||
),
|
||||
)
|
||||
|
||||
# Добавляем дефолтную папку
|
||||
await cursor.execute(
|
||||
"""
|
||||
INSERT INTO user_folders
|
||||
(id, phone, title, sort_order)
|
||||
VALUES ('all.chat.folder', %s, 'Все', 0)
|
||||
""",
|
||||
(phone,),
|
||||
)
|
||||
|
||||
# Удаляем токен
|
||||
await cursor.execute(
|
||||
"DELETE FROM auth_tokens WHERE token_hash = %s", (hashed_token,)
|
||||
|
||||
@@ -18,16 +18,31 @@ class FoldersProcessors(BaseProcessor):
|
||||
# Ищем папки в бд
|
||||
async with self.db_pool.acquire() as conn:
|
||||
async with conn.cursor() as cursor:
|
||||
await cursor.execute("SELECT folders FROM user_data WHERE phone = %s", (int(senderPhone),))
|
||||
result_folders = await cursor.fetchone()
|
||||
user_folders = json.loads(result_folders.get("folders"))
|
||||
await cursor.execute(
|
||||
"SELECT id, title, filters, options, update_time, source_id "
|
||||
"FROM user_folders WHERE phone = %s ORDER BY sort_order",
|
||||
(int(senderPhone),)
|
||||
)
|
||||
result_folders = await cursor.fetchall()
|
||||
|
||||
folders = [
|
||||
{
|
||||
"id": folder["id"],
|
||||
"title": folder["title"],
|
||||
"filters": json.loads(folder["filters"]),
|
||||
"updateTime": folder["update_time"],
|
||||
"options": json.loads(folder["options"]),
|
||||
"sourceId": folder["source_id"],
|
||||
}
|
||||
for folder in result_folders
|
||||
]
|
||||
|
||||
# Создаем данные пакета
|
||||
payload = {
|
||||
"folderSync": int(time.time() * 1000),
|
||||
"folders": self.static.ALL_CHAT_FOLDER + user_folders.get("folders"),
|
||||
"foldersOrder": self.static.ALL_CHAT_FOLDER_ORDER + user_folders.get("foldersOrder"),
|
||||
"allFilterExcludeFolders": user_folders.get("allFilterExcludeFolders")
|
||||
"folders": folders,
|
||||
"foldersOrder": [folder["id"] for folder in result_folders],
|
||||
"allFilterExcludeFolders": []
|
||||
}
|
||||
|
||||
# Собираем пакет
|
||||
|
||||
Reference in New Issue
Block a user