bugfix set user default domain
This commit is contained in:
@@ -434,7 +434,7 @@ async def get_defaultuserdomain(
|
||||
response_model=ApiReturnModel[DomainOut|None],
|
||||
response_model_exclude_none=True,
|
||||
)
|
||||
async def update_activeuserdomain(
|
||||
async def set_defualtuserdomain(
|
||||
request: Request,
|
||||
domainid:int,
|
||||
user=Depends(get_current_active_user),
|
||||
|
||||
@@ -40,7 +40,7 @@ class dbdomain(crudbase):
|
||||
|
||||
def get_domains_by_owner(self,db: Session,ownerid:int)-> ApiReturnPage[models.Base]:
|
||||
return paginate(db,super().get_by_conditions({"ownerid":ownerid}))
|
||||
|
||||
|
||||
def create_domain(self,db: Session, domain: schemas.DomainIn,userid:int):
|
||||
#db_domain = super().get_by_conditions(db,{"url":domain.url,"kintoneuser":domain.kintoneuser,"onwerid":userid}).first()
|
||||
#if not db_domain:
|
||||
@@ -117,20 +117,29 @@ class dbdomain(crudbase):
|
||||
return None
|
||||
|
||||
def set_default_domain(self,db: Session, userid: int,domainid: int):
|
||||
db_domain =super().get_by_conditions(db,{"id":domainid,"is_active":True}).first()
|
||||
db_domain =db.execute(super().get_by_conditions({"id":domainid,"is_active":True})).scalars().first()
|
||||
if db_domain:
|
||||
db_default_domain = dbuserdomain.get_user_default_domain(db,userid)
|
||||
db_userdomain =dbuserdomain.get_userdomain(db,userid,domainid)
|
||||
if db_default_domain:
|
||||
db_default_domain.is_default = False
|
||||
db_default_domain.updateuserid = userid
|
||||
db.add(db_default_domain)
|
||||
if db_default_domain.domainid != domainid:
|
||||
db_default_domain.is_default = False
|
||||
db_default_domain.updateuserid = userid
|
||||
db.add(db_default_domain)
|
||||
else:
|
||||
return db_domain
|
||||
if db_userdomain:
|
||||
db_userdomain.is_default = True
|
||||
db_userdomain.updateuserid = userid
|
||||
db.add(db_userdomain)
|
||||
else:
|
||||
db_userdomain = dbuserdomain.create(db,schemas.UserDomainIn(domainid=domainid,userid=userid,is_default = True))
|
||||
db.add(db_userdomain)
|
||||
db.commit()
|
||||
return db_domain
|
||||
return db_domain
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
def get_shareddomain_users(self,db: Session,ownerid:int,domainid: int) -> ApiReturnPage[models.Base]:
|
||||
users = db.query(models.User).join(models.UserDomain,models.UserDomain.userid == models.User.id).filter(models.UserDomain.domainid ==domainid)
|
||||
|
||||
@@ -192,6 +192,11 @@ class UserDomain(BaseModel):
|
||||
domain:DomainOut
|
||||
user:UserOut
|
||||
|
||||
class UserDomainIn(BaseModel):
|
||||
is_default: bool
|
||||
domainid:int
|
||||
userid:int
|
||||
|
||||
class Domain(Base):
|
||||
id: int
|
||||
tenantid: str
|
||||
|
||||
@@ -27,25 +27,6 @@ def test_create_domain(test_client, login_user,login_user_id):
|
||||
assert data["data"]["is_active"] == create_domain["is_active"]
|
||||
assert data["data"]["owner"]["id"] == login_user_id
|
||||
|
||||
def test_edit_domain(test_client, test_domain, login_user):
|
||||
update_domain ={
|
||||
"id": test_domain.id,
|
||||
"tenantid": "1",
|
||||
"name": "テスト環境abc",
|
||||
"url": test_domain.url,
|
||||
"kintoneuser": test_domain.kintoneuser,
|
||||
"is_active": True
|
||||
}
|
||||
response = test_client.put("/api/domain", json=update_domain,headers={"Authorization": "Bearer " + login_user})
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["data"]["name"] == update_domain["name"]
|
||||
assert data["data"]["name"] == update_domain["name"]
|
||||
assert data["data"]["url"] == update_domain["url"]
|
||||
assert data["data"]["kintoneuser"] == update_domain["kintoneuser"]
|
||||
assert data["data"]["is_active"] == update_domain["is_active"]
|
||||
|
||||
|
||||
def test_delete_domain(test_client, login_user):
|
||||
delete_domain ={
|
||||
"id": 0,
|
||||
@@ -67,4 +48,45 @@ def test_delete_domain(test_client, login_user):
|
||||
assert response.json()["data"]["name"] == delete_domain["name"]
|
||||
response = test_client.get("/api/domain/"+ str(id), headers={"Authorization": "Bearer " + login_user})
|
||||
assert response.status_code == 200
|
||||
assert "data" not in response.json()
|
||||
assert "data" not in response.json()
|
||||
|
||||
|
||||
def test_set_defaultuserdomain(test_client, test_domain,login_user):
|
||||
|
||||
response = test_client.put("/api/defaultdomain/"+str(test_domain.id), headers={"Authorization": "Bearer " + login_user})
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert "data" in data
|
||||
assert data["data"] is not None
|
||||
assert data["data"]["name"] == test_domain.name
|
||||
assert data["data"]["url"] == test_domain.url
|
||||
assert data["data"]["kintoneuser"] == test_domain.kintoneuser
|
||||
assert data["data"]["is_active"] == test_domain.is_active
|
||||
|
||||
|
||||
def test_get_defaultuserdomain(test_client, test_domain,login_user):
|
||||
|
||||
response = test_client.get("/api/defaultdomain", headers={"Authorization": "Bearer " + login_user})
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["data"]["name"] == test_domain.name
|
||||
assert data["data"]["url"] == test_domain.url
|
||||
assert data["data"]["kintoneuser"] == test_domain.kintoneuser
|
||||
assert data["data"]["is_active"] == test_domain.is_active
|
||||
|
||||
def test_edit_domain(test_client, test_domain, login_user):
|
||||
update_domain ={
|
||||
"id": test_domain.id,
|
||||
"tenantid": "1",
|
||||
"name": "テスト環境abc",
|
||||
"url": test_domain.url,
|
||||
"kintoneuser": test_domain.kintoneuser,
|
||||
"is_active": True
|
||||
}
|
||||
response = test_client.put("/api/domain", json=update_domain,headers={"Authorization": "Bearer " + login_user})
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["data"]["name"] == update_domain["name"]
|
||||
assert data["data"]["url"] == update_domain["url"]
|
||||
assert data["data"]["kintoneuser"] == update_domain["kintoneuser"]
|
||||
assert data["data"]["is_active"] == update_domain["is_active"]
|
||||
Reference in New Issue
Block a user