修复了单元测试中发现的问题
This commit is contained in:
parent
60231d5272
commit
39ab82b655
@ -3,15 +3,13 @@
|
||||
# @Author : 河瞬
|
||||
# @FileName: login_reg.py
|
||||
# @Software: PyCharm
|
||||
from fastapi import HTTPException, Response, Depends, APIRouter
|
||||
from typing import Optional, Annotated
|
||||
from datetime import datetime, timedelta
|
||||
from jose import JWTError, jwt
|
||||
from typing import Optional
|
||||
|
||||
from sqlmodel import select
|
||||
from fastapi import APIRouter
|
||||
|
||||
from models import Tenant, User, Project
|
||||
from dependencies import *
|
||||
from models import Tenant
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@ -53,14 +51,15 @@ async def login(response: Response, user_data: dict, session: SessionDep):
|
||||
|
||||
@router.post("/api/s1/register")
|
||||
async def register(data: dict, session: SessionDep):
|
||||
if session.exec(select(Tenant).where(Tenant.name == data['name'])):
|
||||
if session.exec(select(Tenant).where(Tenant.name == data['name'])).first():
|
||||
raise HTTPException(status_code=409, detail="租户名已存在")
|
||||
if session.exec(select(User).where(User.username == data['username'])):
|
||||
if session.exec(select(User).where(User.username == data['username'])).first():
|
||||
raise HTTPException(status_code=409, detail="用户名已存在")
|
||||
|
||||
tenant = Tenant(name=data['name'])
|
||||
user = User(username=data['username'], password=data['password'], role=1, tenant=tenant)
|
||||
session.add(tenant)
|
||||
session.add(user)
|
||||
session.commit()
|
||||
session.close()
|
||||
return {"detail": "注册成功"}
|
||||
|
||||
@ -4,9 +4,10 @@
|
||||
# @FileName: manage_user.py
|
||||
# @Software: PyCharm
|
||||
from fastapi import HTTPException, APIRouter, Depends, Request
|
||||
from sqlmodel import select, Session
|
||||
from models import User, Tenant
|
||||
from sqlmodel import select
|
||||
|
||||
from dependencies import SessionDep, get_current_user
|
||||
from models import User
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@ -31,6 +32,9 @@ async def add_or_update_user(data: dict, session: SessionDep, current_user: User
|
||||
username = data.get("username")
|
||||
password = data.get("password")
|
||||
role = data.get("role")
|
||||
if role not in ["auditor", "estimator"]:
|
||||
raise HTTPException(status_code=400, detail="Invalid role")
|
||||
role = 2 if role == "estimator" else 3
|
||||
|
||||
if not username or not role:
|
||||
raise HTTPException(status_code=400, detail="Username and role are required")
|
||||
@ -63,7 +67,7 @@ async def delete_user(username: str, session: SessionDep, current_user: User = D
|
||||
|
||||
# username = data.get("username")
|
||||
if not username:
|
||||
raise HTTPException(status_code=400, detail="Username is required")
|
||||
raise HTTPException(status_code=422, detail="Username is required")
|
||||
|
||||
user = session.exec(select(User).where(User.username == username, User.tenant_id == current_user.tenant_id)).first()
|
||||
if not user:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user