From 3b15dabedc66a4d4b43e8959a3b9e90f7c283e9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=20=E6=9F=8F?= Date: Wed, 27 Nov 2024 16:12:41 +0900 Subject: [PATCH] fix create_userdomain --- backend/app/api/api_v1/routers/platform.py | 5 +++-- backend/app/db/crud.py | 11 ++++++----- backend/app/db/schemas.py | 9 +++++++++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/backend/app/api/api_v1/routers/platform.py b/backend/app/api/api_v1/routers/platform.py index 70288c6..0a3a9cd 100644 --- a/backend/app/api/api_v1/routers/platform.py +++ b/backend/app/api/api_v1/routers/platform.py @@ -334,7 +334,7 @@ async def userdomain_details( @r.post( "/domain/{userid}", - response_model=ApiReturnModel[Domain], + response_model=ApiReturnModel[DomainOut|None], response_model_exclude_none=True, ) async def create_userdomain( @@ -345,7 +345,8 @@ async def create_userdomain( db=Depends(get_db), ): try: - return ApiReturnModel(data=add_userdomain(db, userid,domainid)) + domain = add_userdomain(db, userid,domainid) + return ApiReturnModel(data = domain) except Exception as e: raise APIException('platform:domain',request.url._url,f"Error occurred while add user({userid}) domain:",e) diff --git a/backend/app/db/crud.py b/backend/app/db/crud.py index 571d0ff..962027b 100644 --- a/backend/app/db/crud.py +++ b/backend/app/db/crud.py @@ -337,11 +337,12 @@ def edit_domain( def add_userdomain(db: Session, userid:int,domainid:int): - user_domain = models.UserDomain(userid = userid, domainid = domainid ) - db.add(user_domain) - db.commit() - db.refresh(user_domain) - return user_domain + db_domain = db.query(models.Domain).get(domainid) + if db_domain: + user_domain = models.UserDomain(userid = userid, domainid = domainid ) + db.add(user_domain) + db.commit() + return db_domain def add_userdomains(db: Session, userid:int,domainids:list[str]): dbCommits = list(map(lambda domainid: models.UserDomain(userid = userid, domainid = domainid ), domainids)) diff --git a/backend/app/db/schemas.py b/backend/app/db/schemas.py index 56ddb8b..c8e7d2d 100644 --- a/backend/app/db/schemas.py +++ b/backend/app/db/schemas.py @@ -157,6 +157,15 @@ class DomainIn(BaseModel): encrypted_pwd = chacha20Encrypt(self.kintonepwd) self.kintonepwd = encrypted_pwd +class DomainOut(BaseModel): + id: int + tenantid: str + name: str + url: str + is_active: bool + ownerid:int + + class ActiveDomain(BaseModel): id: int tenantid: str