V2アプリ一覧バッグ修正

This commit is contained in:
xiaozhe.ma
2024-11-17 18:41:40 +09:00
parent 1f0b05ee13
commit fa120d2ce9
6 changed files with 312 additions and 112 deletions

View File

@@ -70,9 +70,10 @@ def edit_user(
return db_user
def get_apps(
db: Session
db: Session,
domain_url:str
) -> t.List[schemas.AppList]:
return db.query(models.App).all()
return db.query(models.App).filter(models.App.domainurl == domain_url).all()
def update_appversion(db: Session, appedit: schemas.AppVersion,userid:int):
app = db.query(models.App).filter(and_(models.App.domainurl == appedit.domainurl,models.App.appid == appedit.appid)).first()
@@ -223,7 +224,7 @@ def get_flows_by_app(db: Session,domainurl: str, appid: str):
raise Exception("Data not found")
return flows
def create_domain(db: Session, domain: schemas.DomainBase):
def create_domain(db: Session, domain: schemas.DomainBase,userid:int):
domain.encrypt_kintonepwd()
db_domain = models.Domain(
tenantid = domain.tenantid,
@@ -233,6 +234,8 @@ def create_domain(db: Session, domain: schemas.DomainBase):
kintonepwd=domain.kintonepwd
)
db.add(db_domain)
db.flush()
add_userdomain(db,userid,db_domain.id)
db.commit()
db.refresh(db_domain)
return db_domain
@@ -264,7 +267,13 @@ def edit_domain(
db.refresh(db_domain)
return db_domain
def add_userdomain(db: Session, userid:int,domainids:list[str]):
def add_userdomain(db: Session, userid:int,domainid:int):
user_domain = models.UserDomain(userid = userid, domainid = domainid )
db.add(user_domain)
return user_domain
def add_userdomains(db: Session, userid:int,domainids:list[str]):
dbCommits = list(map(lambda domainid: models.UserDomain(userid = userid, domainid = domainid ), domainids))
db.bulk_save_objects(dbCommits)
db.commit()
@@ -291,16 +300,23 @@ def active_userdomain(db: Session, userid: int,domainid: int):
db.commit()
return db_userdomains
def get_activedomain(db: Session, userid: int):
db_domain = db.query(models.Domain).join(models.UserDomain,models.UserDomain.domainid == models.Domain.id ).filter(and_(models.UserDomain.userid == userid,models.UserDomain.active == True)).first()
# if not db_domain:
# raise HTTPException(status.HTTP_404_NOT_FOUND, detail="Domain not found")
def get_activedomain(db: Session, userid: int)-> t.Optional[models.Domain]:
user_domains = (db.query(models.Domain,models.UserDomain.active)
.join(models.UserDomain,models.UserDomain.domainid == models.Domain.id )
.filter(models.UserDomain.userid == userid)
.all())
db_domain=None
if len(user_domains)==1:
db_domain = user_domains[0][0];
else:
db_domain = next((domain for domain,active in user_domains if active),None)
# raise HTTPException(status.HTTP_404_NOT_FOUND, detail="Domain not found")
return db_domain
def get_domain(db: Session, userid: str):
domains = db.query(models.Domain).join(models.UserDomain,models.UserDomain.domainid == models.Domain.id ).filter(models.UserDomain.userid == userid).all()
if not domains:
raise HTTPException(status_code=404, detail="Data not found")
# if not domains:
# raise HTTPException(status_code=404, detail="Data not found")
# for domain in domains:
# decrypted_pwd = chacha20Decrypt(domain.kintonepwd)
# domain.kintonepwd = decrypted_pwd