34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
|
from fastapi import APIRouter, Depends
|
||
|
from sqlalchemy.orm import Session
|
||
|
|
||
|
from AppUser.Crud import RoleCrud
|
||
|
from AppUser.Model import RoleModel
|
||
|
from AppUser.Schemas import RoleSchema
|
||
|
|
||
|
from Utils.DataBase.SqlAlchemyUtils import get_db, engine
|
||
|
|
||
|
RoleModel.Base.metadata.create_all(bind=engine)
|
||
|
|
||
|
router = APIRouter(
|
||
|
tags=["角色管理"],
|
||
|
prefix="/api/user/role"
|
||
|
)
|
||
|
|
||
|
|
||
|
@router.post("/create", summary="新建角色")
|
||
|
def func01(name: str, db: Session = Depends(get_db)):
|
||
|
item = RoleCrud.create_role(db=db, name=name)
|
||
|
return item
|
||
|
|
||
|
|
||
|
@router.post("/{role_id}/policy/create", summary="新建角色权限", response_model=RoleSchema.RolePolicyResBody)
|
||
|
def func02(role_id: str, schema: RoleSchema.CreateRolePolicyReqBody, db: Session = Depends(get_db)):
|
||
|
rcp_obj = RoleCrud.create_role_policy(db=db, role_id=role_id, schema=schema)
|
||
|
return rcp_obj
|
||
|
|
||
|
|
||
|
@router.get("/view/{role_id}", summary="查看角色", response_model=RoleSchema.RoleFullResBody)
|
||
|
def func03(role_id: str, db: Session = Depends(get_db)):
|
||
|
role_obj = RoleCrud.get_role_by_id(db=db, role_id=role_id)
|
||
|
return role_obj.to_dict()
|