From 49d947530463779746d82e3275dbef723e2537f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=20=E6=9F=8F?= Date: Wed, 27 Nov 2024 16:51:24 +0900 Subject: [PATCH] add add_admindomain for admin --- backend/app/api/api_v1/routers/platform.py | 5 ++++- backend/app/db/crud.py | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/backend/app/api/api_v1/routers/platform.py b/backend/app/api/api_v1/routers/platform.py index b064e31..fcc2c9b 100644 --- a/backend/app/api/api_v1/routers/platform.py +++ b/backend/app/api/api_v1/routers/platform.py @@ -346,7 +346,10 @@ async def create_userdomain( db=Depends(get_db), ): try: - domain = add_userdomain(db,user.id,userid,domainid) + if user.is_superuser: + domain = add_admindomain(db,userid,domainid) + else: + domain = add_userdomain(db,user.id,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 f0b64ff..565479b 100644 --- a/backend/app/db/crud.py +++ b/backend/app/db/crud.py @@ -336,6 +336,14 @@ def edit_domain( return db_domain +def add_admindomain(db: Session,userid:int,domainid:int): + db_domain = db.query(models.Domain).filter(and_(models.Domain.id == domainid,models.Domain.is_active)).first() + if db_domain: + user_domain = models.UserDomain(userid = userid, domainid = domainid ) + db.add(user_domain) + db.commit() + return db_domain + def add_userdomain(db: Session,ownerid:int, userid:int,domainid:int): db_domain = db.query(models.Domain).filter(and_(models.Domain.id == domainid,models.Domain.ownerid == ownerid,models.Domain.is_active)).first() if db_domain: