重构webui主页与好友/群组api

This commit is contained in:
HibiKier
2023-12-30 05:27:45 +08:00
parent 081c86aba0
commit 25af1802af
27 changed files with 1530 additions and 897 deletions
+62 -62
View File
@@ -1,69 +1,69 @@
from fastapi import APIRouter
from pydantic.error_wrappers import ValidationError
# from fastapi import APIRouter
# from pydantic.error_wrappers import ValidationError
from services.log import logger
from utils.manager import group_manager
from utils.utils import get_bot
# from services.log import logger
# from utils.manager import group_manager
# from utils.utils import get_bot
from ..models.model import Group, GroupResult, Result, Task
from ..models.params import UpdateGroup
from ..utils import authentication
# from ..base_model import Group, GroupResult, Result, Task
# from ..models.params import UpdateGroup
# from ..utils import authentication
router = APIRouter()
# router = APIRouter()
@router.get("/get_group", dependencies=[authentication()])
async def _() -> Result:
"""
获取群信息
"""
group_list_result = []
try:
group_info = {}
if bot := get_bot():
group_list = await bot.get_group_list()
for g in group_list:
group_info[g["group_id"]] = Group(**g)
group_data = group_manager.get_data()
for group_id in group_data.group_manager:
task_list = []
data = group_manager[group_id].dict()
for tn, status in data["group_task_status"].items():
task_list.append(
Task(
**{
"name": tn,
"nameZh": group_manager.get_task_data().get(tn) or tn,
"status": status,
}
)
)
data["task"] = task_list
if x := group_info.get(int(group_id)):
data["group"] = x
else:
continue
group_list_result.append(GroupResult(**data))
except Exception as e:
logger.error("调用API错误", "/get_group", e=e)
return Result.fail(f"{type(e)}: {e}")
return Result.ok(group_list_result, "拿到了新鲜出炉的数据!")
# @router.get("/get_group", dependencies=[authentication()])
# async def _() -> Result:
# """
# 获取群信息
# """
# group_list_result = []
# try:
# group_info = {}
# if bot := get_bot():
# group_list = await bot.get_group_list()
# for g in group_list:
# group_info[g["group_id"]] = Group(**g)
# group_data = group_manager.get_data()
# for group_id in group_data.group_manager:
# task_list = []
# data = group_manager[group_id].dict()
# for tn, status in data["group_task_status"].items():
# task_list.append(
# Task(
# **{
# "name": tn,
# "nameZh": group_manager.get_task_data().get(tn) or tn,
# "status": status,
# }
# )
# )
# data["task"] = task_list
# if x := group_info.get(int(group_id)):
# data["group"] = x
# else:
# continue
# group_list_result.append(GroupResult(**data))
# except Exception as e:
# logger.error("调用API错误", "/get_group", e=e)
# return Result.fail(f"{type(e)}: {e}")
# return Result.ok(group_list_result, "拿到了新鲜出炉的数据!")
@router.post("/update_group", dependencies=[authentication()])
async def _(group: UpdateGroup) -> Result:
"""
修改群信息
"""
try:
group_id = group.group_id
group_manager.set_group_level(group_id, group.level)
if group.status:
group_manager.turn_on_group_bot_status(group_id)
else:
group_manager.shutdown_group_bot_status(group_id)
group_manager.save()
except Exception as e:
logger.error("调用API错误", "/get_group", e=e)
return Result.fail(f"{type(e)}: {e}")
return Result.ok(info="已完成记录!")
# @router.post("/update_group", dependencies=[authentication()])
# async def _(group: UpdateGroup) -> Result:
# """
# 修改群信息
# """
# try:
# group_id = group.group_id
# group_manager.set_group_level(group_id, group.level)
# if group.status:
# group_manager.turn_on_group_bot_status(group_id)
# else:
# group_manager.shutdown_group_bot_status(group_id)
# group_manager.save()
# except Exception as e:
# logger.error("调用API错误", "/get_group", e=e)
# return Result.fail(f"{type(e)}: {e}")
# return Result.ok(info="已完成记录!")