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=ApiReturnModel[DomainOut|None],
|
||||||
response_model_exclude_none=True,
|
response_model_exclude_none=True,
|
||||||
)
|
)
|
||||||
async def update_activeuserdomain(
|
async def set_defualtuserdomain(
|
||||||
request: Request,
|
request: Request,
|
||||||
domainid:int,
|
domainid:int,
|
||||||
user=Depends(get_current_active_user),
|
user=Depends(get_current_active_user),
|
||||||
|
|||||||
@@ -117,20 +117,29 @@ class dbdomain(crudbase):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def set_default_domain(self,db: Session, userid: int,domainid: int):
|
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:
|
if db_domain:
|
||||||
db_default_domain = dbuserdomain.get_user_default_domain(db,userid)
|
db_default_domain = dbuserdomain.get_user_default_domain(db,userid)
|
||||||
db_userdomain =dbuserdomain.get_userdomain(db,userid,domainid)
|
db_userdomain =dbuserdomain.get_userdomain(db,userid,domainid)
|
||||||
if db_default_domain:
|
if db_default_domain:
|
||||||
db_default_domain.is_default = False
|
if db_default_domain.domainid != domainid:
|
||||||
db_default_domain.updateuserid = userid
|
db_default_domain.is_default = False
|
||||||
db.add(db_default_domain)
|
db_default_domain.updateuserid = userid
|
||||||
|
db.add(db_default_domain)
|
||||||
|
else:
|
||||||
|
return db_domain
|
||||||
if db_userdomain:
|
if db_userdomain:
|
||||||
db_userdomain.is_default = True
|
db_userdomain.is_default = True
|
||||||
db_userdomain.updateuserid = userid
|
db_userdomain.updateuserid = userid
|
||||||
db.add(db_userdomain)
|
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()
|
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]:
|
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)
|
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
|
domain:DomainOut
|
||||||
user:UserOut
|
user:UserOut
|
||||||
|
|
||||||
|
class UserDomainIn(BaseModel):
|
||||||
|
is_default: bool
|
||||||
|
domainid:int
|
||||||
|
userid:int
|
||||||
|
|
||||||
class Domain(Base):
|
class Domain(Base):
|
||||||
id: int
|
id: int
|
||||||
tenantid: str
|
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"]["is_active"] == create_domain["is_active"]
|
||||||
assert data["data"]["owner"]["id"] == login_user_id
|
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):
|
def test_delete_domain(test_client, login_user):
|
||||||
delete_domain ={
|
delete_domain ={
|
||||||
"id": 0,
|
"id": 0,
|
||||||
@@ -68,3 +49,44 @@ def test_delete_domain(test_client, login_user):
|
|||||||
response = test_client.get("/api/domain/"+ str(id), headers={"Authorization": "Bearer " + login_user})
|
response = test_client.get("/api/domain/"+ str(id), headers={"Authorization": "Bearer " + login_user})
|
||||||
assert response.status_code == 200
|
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