def alerts_delete(): alert_id = request.form.get("alert-id") alert = Alert.query.get(alert_id) if not alert: return error_response("Alert could not be found!") session.delete(alert) session.commit() return jsonify(success=True, message="Alert has been deleted successfully")
def services_edit(): name = request.form.get("name") description = request.form.get("description") service_id = request.form.get("service-id") try: dependencies = json.loads(request.form.get("dependencies")) except ValueError: return error_response("Could not understand format of request sent") if not name.strip(): return error_response("You must specify a name") try: service = Service.query.get(service_id) if not service: return error_response("Service could not be found") service.name = name service.description = description gs = RedundancyGroup.query.filter(RedundancyGroup.service_id == service.id) for g in gs: session.delete(g) ds = ServiceDependency.query.filter(ServiceDependency.service_id == service.id) for d in ds: session.delete(d) for dependency in dependencies["dependencies"]: if dependency["type"] == "host": sd = ServiceDependency(service_id=service.id, host_id=dependency["id"]) else: sd = ServiceDependency(service_id=service.id, host_group_id=dependency["id"]) session.add(sd) for redundancy_group in dependencies["redundancyGroups"]: rg = RedundancyGroup(service_id=service.id) session.add(rg) session.flush() sd = ServiceDependency(service_id=service.id, redundancy_group_id=rg.id) session.add(sd) for item in redundancy_group["items"]: if item["type"] == "host": rgc = RedundancyGroupComponent(redundancy_group_id=rg.id, host_id=item["id"]) else: rgc = RedundancyGroupComponent(redundancy_group_id=rg.id, host_group_id=item["id"]) session.add(rgc) session.commit() except ValueError: session.rollback() return error_response( "The data sent to the server could not be " "understood. Please refresh the page and try again." ) return jsonify(success=True, message="Service has been saved successfully")
def hosts_delete(): host_id = request.form.get("host-id") h = Host.query.get(host_id) if not h: return error_response("Host could not be found!") session.delete(h) session.commit() return jsonify(success=True, message="Host has been deleted successfully")
def services_delete(): service_id = request.form.get("service-id") s = Service.query.get(service_id) if not s: return error_response("The service you are trying to delete could not " "be found") session.delete(s) session.commit() return jsonify(success=True, message="Service has been deleted successfully")
def users_delete(): user_id = request.form.get("user-id") u = User.query.get(user_id) if not u: return error_response("The user you are trying to delete does not exist") session.delete(u) session.commit() return jsonify(success=True, message="User has been deleted successfully!")
def checks_delete(): check_id = request.form.get("check-id") check = Check.query.get(check_id) if not check: return error_response("The check you are trying to delete could not " "be found") session.delete(check) session.commit() return jsonify(success=True, message="Check has been deleted successfully!")
def scheduling_delete(): schedule_id = request.form.get("schedule-id") s = Schedule.query.get(schedule_id) if not s: return error_response("The schedule you are trying to delete does " "not exist") session.delete(s) session.commit() return jsonify(success=True, message="Schedule has been deleted " "successfully!")
def host_groups_delete(): host_group_id = request.form.get("host-group-id") g = HostGroup.query.get(host_group_id) if not g: return error_response("Host Group could not be found!") session.delete(g) session.commit() return jsonify(success=True, message="Host Group has been deleted successfully")
def users_delete(): user_id = request.form.get("user-id") u = User.query.get(user_id) if not u: return error_response( "The user you are trying to delete does not exist") session.delete(u) session.commit() return jsonify(success=True, message="User has been deleted successfully!")
def plugins_delete(): plugin_id = request.form.get("plugin-id") p = Plugin.query.get(plugin_id) if not p: return error_response("Plugin does not exist") plugin_repo = get_config_value(config, "plugin_repo") try: os.remove(os.path.join(plugin_repo, p.archive_file)) if p.signature_file: os.remove(os.path.join(plugin_repo, p.signature_file)) except FileNotFoundError: # We are deleting so we don't care if the file doesn't exist pass session.delete(p) session.commit() return jsonify(success=True, message="Plugin has been deleted successfully")
def services_edit(): name = request.form.get("name") description = request.form.get("description") service_id = request.form.get("service-id") try: dependencies = json.loads(request.form.get("dependencies")) except ValueError: return error_response("Could not understand format of request sent") if not name.strip(): return error_response("You must specify a name") try: service = Service.query.get(service_id) if not service: return error_response("Service could not be found") service.name = name service.description = description gs = RedundancyGroup.query.filter( RedundancyGroup.service_id==service.id) for g in gs: session.delete(g) ds = ServiceDependency.query.filter( ServiceDependency.service_id==service.id) for d in ds: session.delete(d) for dependency in dependencies["dependencies"]: if dependency["type"] == "host": sd = ServiceDependency(service_id=service.id, host_id=dependency["id"]) else: sd = ServiceDependency(service_id=service.id, host_group_id=dependency["id"]) session.add(sd) for redundancy_group in dependencies["redundancyGroups"]: rg = RedundancyGroup(service_id=service.id) session.add(rg) session.flush() sd = ServiceDependency(service_id=service.id, redundancy_group_id=rg.id) session.add(sd) for item in redundancy_group["items"]: if item["type"] == "host": rgc = RedundancyGroupComponent(redundancy_group_id=rg.id, host_id=item["id"]) else: rgc = RedundancyGroupComponent(redundancy_group_id=rg.id, host_group_id=item["id"]) session.add(rgc) session.commit() except ValueError: session.rollback() return error_response("The data sent to the server could not be " "understood. Please refresh the page and try again.") return jsonify(success=True, message="Service has been saved successfully")