Fix new device key update and group deletion bug

This commit is contained in:
sepehr 2024-07-27 18:12:50 +03:30
parent f4e77ab54e
commit 733307de8d
2 changed files with 4 additions and 4 deletions

View file

@ -9,7 +9,7 @@
from peewee import * from peewee import *
from libs.db.db_device import Devices from libs.db.db_device import Devices
from libs.db.db import User,BaseModel from libs.db.db import User,BaseModel,get_object_or_none
from libs.db.db_permissions import Perms from libs.db.db_permissions import Perms
from libs.db.db_groups import DevGroups,DevGroupRel from libs.db.db_groups import DevGroups,DevGroupRel
@ -51,14 +51,14 @@ class DevUserGroupPermRel(BaseModel):
def delete_group(gid): def delete_group(gid):
#check if group exists #check if group exists
group = DevGroups.select().where(DevGroups.id == gid) group = get_object_or_none(DevGroups, id=gid)
if group: if group:
try: try:
#First delete records from DevGroupRel #First delete records from DevGroupRel
delete=DevGroupRel.delete().where(DevGroupRel.group_id == gid).execute() delete=DevGroupRel.delete().where(DevGroupRel.group_id == gid).execute()
#delete group records from DevUserGroupPermRel #delete group records from DevUserGroupPermRel
delete=DevUserGroupPermRel.delete().where(DevUserGroupPermRel.group_id == gid).execute() delete=DevUserGroupPermRel.delete().where(DevUserGroupPermRel.group_id == gid).execute()
delete=DevGroups.delete().where(DevGroups.id == gid).execute() delete=group.delete_instance(recursive=True)
return True return True
except Exception as e: except Exception as e:
return False return False

View file

@ -363,7 +363,7 @@ def grab_device_data(dev, q):
"keys":keys "keys":keys
} }
reddb=RedisDB(redopts) reddb=RedisDB(redopts)
if len(json.loads(dev.sensors))<len(keys) and dev.sensors!=json.dumps(keys): if not dev.sensors or (len(json.loads(dev.sensors))<len(keys) and dev.sensors!=json.dumps(keys)):
log.info("updating keys for device {}".format(dev.id)) log.info("updating keys for device {}".format(dev.id))
dev.sensors=json.dumps(keys) dev.sensors=json.dumps(keys)
reddb.dev_create_keys() reddb.dev_create_keys()