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: