添加了少量注释,去除了测试用的代码与对应注释。修复了前端传入estimator而后端接受estimators的错误,修复了新增项目时owner_id恒为1的错误

This commit is contained in:
MiLla 2024-11-21 10:59:14 +08:00
parent 09cbf2eae8
commit d580c3206d
2 changed files with 6 additions and 10 deletions

View File

@ -63,8 +63,8 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
requirement = data["requirement"]
start_time_str = data["start_time"]
deadline_str = data["deadline"]
estimators = data["estimators"]
auditors = data["auditors"]
estimators = data["estimator"]
auditors = data["auditor"]
# 验证是否缺少必要参数
if not name or not requirement or not start_time_str or not deadline_str:
@ -76,6 +76,9 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
if start_time > deadline:
raise HTTPException(status_code=400, detail="Start time must be before deadline")
# 验证是否有传入评估/审核员
if not estimators or not auditors:
raise HTTPException(status_code=400, detail="Need more estimators or auditors")
# 验证评估审核员是否存在
query_estimators = select(User).where(User.username.in_(estimators))
users_estimators = session.exec(query_estimators).all()
@ -106,7 +109,6 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
else:
# 新增项目
exist_project = session.exec(select(Project).where(Project.name == name)).first()
print(exist_project) # 测试用
if exist_project:
raise HTTPException(status_code=404, detail="Project already exists")
@ -115,14 +117,13 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
requirement=requirement,
start_time=start_time,
deadline=deadline,
owner_id=1 # 假设owner_id是1之后应该是通过token获取owner_id吧
owner_id=current_user.tenant_id,
)
session.add(project)
# 处理项目和用户的关联
# 先清除现有的关联
# 生成删除语句并执行
print(project_id) # 测试用
stmt = delete(ProjectUserLink).where(ProjectUserLink.project_id == project.id)
session.execute(stmt)
session.commit() # 提交事务
@ -157,10 +158,6 @@ async def delete_project(data: dict, session: SessionDep, current_user: User = D
project_name = data.get("name")
# 权限检查:只有管理员才可以删除项目
# if current_user.role != 1:
# raise HTTPException(status_code=403, detail="Only admin users can delete projects")
if not project_name:
raise HTTPException(status_code=400, detail="Project name is required")

View File

@ -108,7 +108,6 @@ async def create_or_update_tenant(data: dict, session: SessionDep, current_user:
user.password = password
session.add(user)
session.commit()
print(user) # 测试用
return {"message": "Tenant and User update successfully"}