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