resource.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import uuid
  2. from Log import logger
  3. from app.models import ResourceModel
  4. async def get_resource_tree(db):
  5. resource = db.query(ResourceModel).filter(ResourceModel.resource_id == None).order_by(ResourceModel.seq.desc()).all()
  6. return {"total": 0, "rows": [dept.to_tree_select_json() for dept in resource]}
  7. async def get_resource_info(db, menu_id: str):
  8. dept = db.query(ResourceModel).filter(ResourceModel.id.__eq__(menu_id)).first()
  9. return {"total": 0, "data": dept.to_json()}
  10. async def delete_resource_info(db, menu_id):
  11. try:
  12. db.query(ResourceModel).filter(ResourceModel.id.__eq__(menu_id)).delete()
  13. db.commit()
  14. except Exception as e:
  15. logger.error(e)
  16. db.rollback()
  17. return False
  18. return True
  19. async def create_menu(db, menu_name, component, path, order_num, perms, menu_type, description, parent_id, status, icon):
  20. try:
  21. dept_model = ResourceModel(id=str(uuid.uuid4()),name=menu_name, url=component,path=path,perms=perms,description=description,status=status, icon=icon,seq=order_num, resource_type_id=menu_type)
  22. if parent_id:
  23. dept_model.parent = db.get(ResourceModel, parent_id)
  24. db.add(dept_model)
  25. db.commit()
  26. db.refresh(dept_model)
  27. except Exception as e:
  28. logger.error(e)
  29. db.rollback()
  30. return False
  31. return True
  32. async def edit_resource_data(db, menu_id, menu_name, component, path, order_num, perms, menu_type, description, parent_id, status, icon):
  33. try:
  34. dept_model = db.query(ResourceModel).filter(ResourceModel.id == menu_id).first()
  35. dept_model.name = menu_name
  36. dept_model.url = component
  37. dept_model.path = path
  38. dept_model.perms = perms
  39. dept_model.status = status
  40. dept_model.icon = icon
  41. dept_model.seq = order_num
  42. dept_model.description = description
  43. dept_model.resource_type_id = menu_type
  44. if parent_id:
  45. dept_model.parent = db.get(ResourceModel, parent_id)
  46. db.commit()
  47. db.refresh(dept_model)
  48. except Exception as e:
  49. logger.error(e)
  50. db.rollback()
  51. return False
  52. return True