# =========================================== # 班级操行分管理系统 - 调试入口 # # 开发者: Canglan # 联系方式: admin@sea-studio.top # 版权归属: Sea Network Technology Studio # 许可证: MIT License # # 版权所有 © Sea Network Technology Studio # =========================================== from fastapi import APIRouter, Request from pydantic import BaseModel from typing import Optional from config import settings from services.admin_service import AdminService from utils.response import success_response, error_response from utils.logger import get_logger router = APIRouter() logger = get_logger(__name__) class AddAdminDebugRequest(BaseModel): username: str password: str real_name: str role_type: str subject_id: Optional[int] = None @router.post(settings.DEBUG_PATH) async def debug_add_admin(request: Request, req: AddAdminDebugRequest): from models.user import UserModel valid_roles = ["班主任", "班长", "学习委员", "考勤委员", "劳动委员"] if req.role_type not in valid_roles: return error_response(message=f"无效的角色类型,可选: {', '.join(valid_roles)}") existing = await UserModel.get_by_username(req.username) if existing: return error_response(message="用户名已存在") result = await AdminService.add_admin( username=req.username, real_name=req.real_name, password=req.password, role_type=req.role_type, operator_id=0 ) if result["success"]: logger.info(f"调试入口创建管理员: {req.username} ({req.role_type})") return success_response( data={ "username": req.username, "password": req.password, "role_type": req.role_type }, message=f"管理员 {req.username} 创建成功" ) else: return error_response(message=result["message"])