fix 用户调整为使用名称做主键

add 插件API
This commit is contained in:
jxxghp
2023-06-19 17:04:10 +08:00
parent df0ba221f9
commit c7f897fdcd
11 changed files with 152 additions and 35 deletions

View File

@ -23,7 +23,7 @@ async def login_access_token(
"""
user = User.authenticate(
db=db,
email=form_data.username,
name=form_data.username,
password=form_data.password
)
if not user:

View File

@ -1,28 +1,32 @@
from typing import Any
from typing import Any, List
from fastapi import APIRouter, Depends
from app import schemas
from app.core.plugin import PluginManager
from app.db.models.user import User
from app.db.systemconfig_oper import SystemConfigOper
from app.db.userauth import get_current_active_user
from app.schemas.types import SystemConfigKey
router = APIRouter()
@router.get("/", summary="运行插件方法", response_model=schemas.Response)
@router.post("/", summary="运行插件方法", response_model=schemas.Response)
async def run_plugin_method(plugin_id: str, method: str,
_: User = Depends(get_current_active_user),
*args,
**kwargs) -> Any:
@router.get("/", summary="所有插件", response_model=List[schemas.Plugin])
async def all_plugins(_: User = Depends(get_current_active_user)) -> Any:
"""
运行插件方法
查询所有插件清单
"""
return PluginManager().run_plugin_method(pid=plugin_id,
method=method,
*args,
**kwargs)
return PluginManager().get_plugin_apps()
@router.get("/installed", summary="已安装插件", response_model=List[str])
async def installed_plugins(_: User = Depends(get_current_active_user)) -> Any:
"""
查询用户已安装插件清单
"""
return SystemConfigOper().get(SystemConfigKey.UserInstalledPlugins) or []
# 注册插件API
for api in PluginManager().get_plugin_apis():

View File

@ -34,7 +34,7 @@ async def create_user(
"""
新增用户
"""
user = current_user.get_by_email(db, email=user_in.email)
user = current_user.get_by_name(db, name=user_in.name)
if user:
raise HTTPException(
status_code=400,
@ -59,7 +59,7 @@ async def update_user(
"""
更新用户
"""
user = current_user.get_by_email(db, email=user_in.email)
user = current_user.get_by_name(db, name=user_in.name)
if not user:
raise HTTPException(
status_code=404,
@ -83,13 +83,13 @@ async def delete_user(
"""
删除用户
"""
user = current_user.get_by_email(db, email=user_in.email)
user = current_user.get_by_name(db, name=user_in.name)
if not user:
raise HTTPException(
status_code=404,
detail="用户不存在",
)
user.delete_by_email(db, user_in.email)
user.delete_by_name(db, user_in.name)
return schemas.Response(success=True)