get_domains 改修

This commit is contained in:
2024-11-26 15:18:56 +09:00
parent cc726c7f68
commit 1f176d40bc
3 changed files with 23 additions and 10 deletions

View File

@@ -254,17 +254,20 @@ async def flow_delete(
raise APIException('platform:flow',request.url._url,f"Error occurred while delete flow:",e)
@r.get(
"/domains/{tenantid}",
"/domains",
response_model=List[Domain],
response_model_exclude_none=True,
)
async def domain_details(
request: Request,
tenantid:str,
user=Depends(get_current_active_user),
db=Depends(get_db),
):
try:
domains = get_domains(db,tenantid)
if user.is_superuser:
domains =get_alldomains(db)
else:
domains = get_domains(db,user.id)
return domains
except Exception as e:
raise APIException('platform:domains',request.url._url,f"Error occurred while get domains:",e)

View File

@@ -3,6 +3,7 @@ import typing as t
from app.db.session import get_db
from app.db.crud import (
get_allusers,
get_users,
get_user,
create_user,
@@ -30,7 +31,10 @@ async def users_list(
"""
Get all users
"""
users = get_users(db,current_user.is_superuser)
if current_user.is_superuser:
users = get_allusers(db)
else:
users = get_users(db)
# This is necessary for react-admin to work
#response.headers["Content-Range"] = f"0-9/{len(users)}"
return users

View File

@@ -19,13 +19,15 @@ def get_user_by_email(db: Session, email: str) -> schemas.UserBase:
return db.query(models.User).filter(models.User.email == email).first()
def get_allusers(
db: Session
) -> t.List[schemas.UserOut]:
return db.query(models.User).all()
def get_users(
db: Session, super:bool
) -> t.List[schemas.UserOut]:
if super:
return db.query(models.User).all()
else:
return db.query(models.User).filter(models.User.is_superuser == False)
return db.query(models.User).filter(models.User.is_superuser == False)
def create_user(db: Session, user: schemas.UserCreate):
@@ -388,8 +390,12 @@ def get_domain(db: Session, userid: str):
# domain.kintonepwd = decrypted_pwd
return domains
def get_domains(db: Session,tenantid:str):
domains = db.query(models.Domain).filter(models.Domain.tenantid == tenantid ).all()
def get_alldomains(db: Session):
domains = db.query(models.Domain).all()
return domains
def get_domains(db: Session,userid:int):
domains = db.query(models.Domain).filter(models.Domain.ownerid == userid ).all()
if not domains:
raise HTTPException(status_code=404, detail="Data not found")
# for domain in domains: