From 2569ee91ec3f9c1e51927ae81011bf66269b0b74 Mon Sep 17 00:00:00 2001 From: wcq <744800102@qq.com> Date: Thu, 9 Feb 2023 16:10:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E5=86=99=E6=9D=83=E9=99=90=E8=B7=AF?= =?UTF-8?q?=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Crud/UserCrud.py | 5 +++++ Model/AuthRuleModel.py | 6 ++++++ Router/AppRouter.py | 11 +++-------- Router/UserManageRouter.py | 6 ++++++ Schemas/AppSchemas.py | 8 +------- Schemas/UserManageSchemas.py | 8 ++++++-- Utils/ConfigUtils.py | 3 +++ main.py | 2 +- 8 files changed, 31 insertions(+), 18 deletions(-) diff --git a/Crud/UserCrud.py b/Crud/UserCrud.py index aaf2459..31c3901 100644 --- a/Crud/UserCrud.py +++ b/Crud/UserCrud.py @@ -58,3 +58,8 @@ def query_user(db: Session, query_params: UserListQueryParams): count = query.count() query = query.offset((query_params.page - 1) * query_params.page_size).limit(query_params.page).all() return query, count + + +def delete_user(db: Session, user_id: str): + db.query(User).delete(user_id) + db.commit() diff --git a/Model/AuthRuleModel.py b/Model/AuthRuleModel.py index 1234ea6..74bd526 100644 --- a/Model/AuthRuleModel.py +++ b/Model/AuthRuleModel.py @@ -15,3 +15,9 @@ class AuthRuleNode(Base): return {c.name: getattr(self, c.name) for c in self.__table__.columns} +class DefaultAuthRuleConfig(Base): + __tablename__ = "default_auth_rule_config_table" + id = Column(Integer, primary_key=True, comment="默认权限规则配置id") + name = Column(String(32), unique=True, comment="规则节点名称") + node_type = Column(Enum("category", "rule", name="节点类型")) + belong = Column(Integer, comment="所属节点") diff --git a/Router/AppRouter.py b/Router/AppRouter.py index d917018..a87dba4 100644 --- a/Router/AppRouter.py +++ b/Router/AppRouter.py @@ -1,11 +1,6 @@ -from Model.AppModel import App -from Utils.AuthUtils import token_data_depend, decode_token, app_auth_token_depend -from Utils.SqlAlchemyUtils import get_db -from fastapi import APIRouter, Depends, HTTPException, Request -from sqlalchemy.orm import Session +from Utils.AuthUtils import app_auth_token_depend +from fastapi import APIRouter, Depends from Schemas import AppSchemas -from Context.common import ctx -from Crud import AppCrud router = APIRouter( tags=["应用服务接口"], @@ -15,7 +10,7 @@ router = APIRouter( # 获取用户基本信息 -@router.post("/get_user_base_info", response_model=AppSchemas.UserBaseInfo,summary="获取用户基本信息") +@router.post("/get_user_base_info", response_model=AppSchemas.UserBaseInfo, summary="获取用户基本信息") def get_user_base_info(payload=Depends(app_auth_token_depend)): return AppSchemas.UserBaseInfo(**payload) diff --git a/Router/UserManageRouter.py b/Router/UserManageRouter.py index c602426..fb77908 100644 --- a/Router/UserManageRouter.py +++ b/Router/UserManageRouter.py @@ -29,3 +29,9 @@ def change_user_info_by_key(body: UserManageSchemas.UserChangeInfoByKey, db: Ses def get_user_list(query_params: UserManageSchemas.UserListQueryParams, db: Session = Depends(get_db)): user_list, count = UserCrud.query_user(db, query_params) return {"user_list": [item.as_info() for item in user_list]} + + +@router.post("/delete_user", summary="删除用户") +def delete_user(query_params: UserManageSchemas.UserId, db: Session = Depends(get_db)): + UserCrud.delete_user(db, query_params.id) + return {"state": 1, "msg": "删除成功"} diff --git a/Schemas/AppSchemas.py b/Schemas/AppSchemas.py index 4587727..ef73e10 100644 --- a/Schemas/AppSchemas.py +++ b/Schemas/AppSchemas.py @@ -1,5 +1,4 @@ -from typing import Union - +from typing import Union, List from pydantic import BaseModel @@ -21,11 +20,6 @@ class UserBaseInfo(BaseModel): auth_data: Union[str, None] -from typing import List - -from pydantic import BaseModel - - class AppAddInfo(BaseModel): name: str secret_key: str diff --git a/Schemas/UserManageSchemas.py b/Schemas/UserManageSchemas.py index ea46956..0c8816b 100644 --- a/Schemas/UserManageSchemas.py +++ b/Schemas/UserManageSchemas.py @@ -26,7 +26,11 @@ class UserListQueryParams(BaseModel): department: Union[str, None] post: Union[str, None] email: Union[str, None] - page_size:int - page:int + page_size: int + page: int # create_time: Union[datetime, None] # update_time: Union[datetime, None] + + +class UserId: + id: str diff --git a/Utils/ConfigUtils.py b/Utils/ConfigUtils.py index 1565495..d8f0db8 100644 --- a/Utils/ConfigUtils.py +++ b/Utils/ConfigUtils.py @@ -1,5 +1,7 @@ from configparser import ConfigParser +from Context.common import ctx + class Config: common: ConfigParser @@ -13,6 +15,7 @@ def get_common_config(): def init_common_config(): Config.conf = get_common_config() + ctx.common_conf = Config.conf return Config.conf diff --git a/main.py b/main.py index 9ab2df8..a60de09 100644 --- a/main.py +++ b/main.py @@ -8,7 +8,7 @@ from Utils.RedisUtils import init_redis_pool from Utils.SqlAlchemyUtils import Base, init_database from Context.common import ctx -ctx.common_conf = init_common_config() +init_common_config() init_database() init_redis_pool()