def delete_all(self): """ method: reporting/delete_all description: delete the reporting database table returns: dict in which value is the number of deleted rows exception: if an error occurs an exception is serialized and returned """ try: param = request.params request_realms = param.get('realms', '').split(',') status = param.get('status', ['total']) if status != ['total']: status = status.split(',') realm_whitelist = [] policies = getAdminPolicies('tokens', scope='monitoring') if policies['active'] and policies['realms']: realm_whitelist = policies.get('realms') # if there are no policies for us, we are allowed to see all realms if not realm_whitelist or '*' in realm_whitelist: realm_whitelist = request_context['Realms'].keys() realms = match_realms(request_realms, realm_whitelist) if '*' in status: status.remove('*') status.extend(['active', 'inactive', 'assigned', 'unassigned', 'active&assigned', 'active&unassigned', 'inactive&assigned', 'inactive&unassigned', 'total']) result = delete(realms=realms, status=status) Session.commit() return sendResult(response, result) except PolicyException as policy_exception: log.exception(policy_exception) Session.rollback() return sendError(response, unicode(policy_exception), 1) except Exception as exc: log.exception(exc) Session.rollback() return sendError(response, exc) finally: Session.close() log.debug('[delete_all] done')
def delete_before(self): """ method: reporting/delete_before description: delete all entries from reporting database with respect to the arguments date must be given in format: 'yyyy-mm-dd' arguments: * date - optional: only delete entries which are older than date; date must be given in format 'yyyy-mm-dd' if no date is given, all entries get deleted * realms - optional: takes realms, only the reporting entries from this realm are dedleted * status - optional: filters reporting entries by status like 'assigned' or 'inactive' returns: dict in which value is the number of deleted rows exception: if an error occurs an exception is serialized and returned """ try: param = request.params request_realms = param.get('realms', '').split(',') status = param.get('status', ['total']) if status != ['total']: status = status.split(',') param = request.params border_day = param.get('date') # this may throw ValueError if date is in wrong format datetime.strptime(border_day, "%Y-%m-%d") realm_whitelist = [] policies = getAdminPolicies('delete_before', scope='reporting') if policies['active'] and policies['realms']: realm_whitelist = policies.get('realms') # if there are no policies for us, we are allowed to see all realms if not realm_whitelist or '*' in realm_whitelist: realm_whitelist = request_context['Realms'].keys() realms = match_realms(request_realms, realm_whitelist) result = delete(date=border_day, realms=realms, status=status) Session.commit() return sendResult(response, result) except PolicyException as policy_exception: log.exception(policy_exception) Session.rollback() return sendError(response, unicode(policy_exception), 1) except ValueError as value_error: log.exception(value_error) Session.rollback() return sendError(response, unicode(value_error), 1) except Exception as exc: log.exception(exc) Session.rollback() return sendError(response, exc) finally: Session.close()
def delete_all(self): """ method: reporting/delete_all description: delete entries from the reporting database table arguments: * realms - optional: takes realms, only the reporting entries from this realm are dedleted * status - optional: filters reporting entries by status like 'assigned' or 'inactive' returns: dict in which value is the number of deleted rows exception: if an error occurs an exception is serialized and returned """ try: param = request.params request_realms = param.get('realms', '').split(',') status = param.get('status', ['total']) if status != ['total']: status = status.split(',') realm_whitelist = [] policies = getAdminPolicies('delete_all', scope='reporting.access') if policies['active'] and policies['realms']: realm_whitelist = policies.get('realms') # if there are no policies for us, we are allowed to see all realms if not realm_whitelist or '*' in realm_whitelist: realm_whitelist = request_context['Realms'].keys() realms = match_realms(request_realms, realm_whitelist) if '*' in status: status.remove('*') status.extend([ 'active', 'inactive', 'assigned', 'unassigned', 'active&assigned', 'active&unassigned', 'inactive&assigned', 'inactive&unassigned', 'total' ]) result = delete(realms=realms, status=status) Session.commit() return sendResult(response, result) except PolicyException as policy_exception: log.exception(policy_exception) Session.rollback() return sendError(response, unicode(policy_exception), 1) except Exception as exc: log.exception(exc) Session.rollback() return sendError(response, exc) finally: Session.close()
def delete_before(self): """ method: reporting/delete_before description: delete all entries from reporting database which are older than date date must be given in format: 'yyyy-mm-dd' returns: dict in which value is the number of deleted rows exception: if an error occurs an exception is serialized and returned """ try: param = request.params request_realms = param.get('realms', '').split(',') status = param.get('status', ['total']) if status != ['total']: status = status.split(',') param = request.params border_day = param.get('date') # this may throw ValueError if date is in wrong format datetime.strptime(border_day, "%Y-%m-%d") realm_whitelist = [] policies = getAdminPolicies('tokens', scope='monitoring') if policies['active'] and policies['realms']: realm_whitelist = policies.get('realms') # if there are no policies for us, we are allowed to see all realms if not realm_whitelist or '*' in realm_whitelist: realm_whitelist = request_context['Realms'].keys() realms = match_realms(request_realms, realm_whitelist) result = delete(date=border_day, realms=realms, status=status) Session.commit() return sendResult(response, result) except PolicyException as policy_exception: log.exception(policy_exception) Session.rollback() return sendError(response, unicode(policy_exception), 1) except ValueError as value_error: log.exception(value_error) Session.rollback() return sendError(response, unicode(value_error), 1) except Exception as exc: log.exception(exc) Session.rollback() return sendError(response, exc) finally: Session.close() log.debug('[tokens] done')
def delete_before(self): """ method: reporting/delete_before description: delete all entries from reporting database with respect to the arguments date must be given in format: 'yyyy-mm-dd' arguments: * date - optional: only delete entries which are older than date; date must be given in format 'yyyy-mm-dd' if no date is given, all entries get deleted * realms - optional: takes realms, only the reporting entries from this realm are dedleted * status - optional: filters reporting entries by status like 'assigned' or 'inactive' returns: dict in which value is the number of deleted rows exception: if an error occurs an exception is serialized and returned """ try: request_realms = self.request_params.get("realms", "").split(",") status = self.request_params.get("status", ["total"]) if status != ["total"]: status = status.split(",") border_day = self.request_params.get("date") # this may throw ValueError if date is in wrong format datetime.strptime(border_day, "%Y-%m-%d") realm_whitelist = [] policies = getAdminPolicies("delete_before", scope="reporting") if policies["active"] and policies["realms"]: realm_whitelist = policies.get("realms") # if there are no policies for us, we are allowed to see all realms if not realm_whitelist or "*" in realm_whitelist: realm_whitelist = list(request_context["Realms"].keys()) realms = match_realms(request_realms, realm_whitelist) result = delete(date=border_day, realms=realms, status=status) db.session.commit() return sendResult(response, result) except PolicyException as policy_exception: log.error(policy_exception) db.session.rollback() return sendError(response, policy_exception, 1) except ValueError as value_error: log.error(value_error) db.session.rollback() return sendError(response, value_error, 1) except Exception as exc: log.error(exc) db.session.rollback() return sendError(response, exc)
def delete_all(self): """ method: reporting/delete_all description: delete entries from the reporting database table arguments: * realms - optional: takes realms, only the reporting entries from this realm are dedleted * status - optional: filters reporting entries by status like 'assigned' or 'inactive' returns: dict in which value is the number of deleted rows exception: if an error occurs an exception is serialized and returned """ try: request_realms = self.request_params.get("realms", "").split(",") status = self.request_params.get("status", ["total"]) if status != ["total"]: status = status.split(",") realm_whitelist = [] policies = getAdminPolicies("delete_all", scope="reporting.access") if policies["active"] and policies["realms"]: realm_whitelist = policies.get("realms") # if there are no policies for us, we are allowed to see all realms if not realm_whitelist or "*" in realm_whitelist: realm_whitelist = list(request_context["Realms"].keys()) realms = match_realms(request_realms, realm_whitelist) if "*" in status: status.remove("*") status.extend([ "active", "inactive", "assigned", "unassigned", "active&assigned", "active&unassigned", "inactive&assigned", "inactive&unassigned", "total", ]) result = delete(realms=realms, status=status) db.session.commit() return sendResult(response, result) except PolicyException as policy_exception: log.error(policy_exception) db.session.rollback() return sendError(response, policy_exception, 1) except Exception as exc: log.error(exc) db.session.rollback() return sendError(response, exc)
def delete_before(self): """ method: reporting/delete_before description: delete all entries from reporting database with respect to the arguments date must be given in format: 'yyyy-mm-dd' arguments: * date - optional: only delete entries which are older than date; date must be given in format 'yyyy-mm-dd' if no date is given, all entries get deleted * realms - optional: takes realms, only the reporting entries from this realm are dedleted * status - optional: filters reporting entries by status like 'assigned' or 'inactive' returns: dict in which value is the number of deleted rows exception: if an error occurs an exception is serialized and returned """ try: request_realms = self.request_params.get('realms', '').split(',') status = self.request_params.get('status', ['total']) if status != ['total']: status = status.split(',') border_day = self.request_params.get('date') # this may throw ValueError if date is in wrong format datetime.strptime(border_day, "%Y-%m-%d") realm_whitelist = [] policies = getAdminPolicies('delete_before', scope='reporting') if policies['active'] and policies['realms']: realm_whitelist = policies.get('realms') # if there are no policies for us, we are allowed to see all realms if not realm_whitelist or '*' in realm_whitelist: realm_whitelist = request_context['Realms'].keys() realms = match_realms(request_realms, realm_whitelist) result = delete(date=border_day, realms=realms, status=status) Session.commit() return sendResult(response, result) except PolicyException as policy_exception: log.exception(policy_exception) Session.rollback() return sendError(response, unicode(policy_exception), 1) except ValueError as value_error: log.exception(value_error) Session.rollback() return sendError(response, unicode(value_error), 1) except Exception as exc: log.exception(exc) Session.rollback() return sendError(response, exc) finally: Session.close()
def delete_all(self): """ method: reporting/delete_all description: delete entries from the reporting database table arguments: * realms - optional: takes realms, only the reporting entries from this realm are dedleted * status - optional: filters reporting entries by status like 'assigned' or 'inactive' returns: dict in which value is the number of deleted rows exception: if an error occurs an exception is serialized and returned """ try: request_realms = self.request_params.get('realms', '').split(',') status = self.request_params.get('status', ['total']) if status != ['total']: status = status.split(',') realm_whitelist = [] policies = getAdminPolicies('delete_all', scope='reporting.access') if policies['active'] and policies['realms']: realm_whitelist = policies.get('realms') # if there are no policies for us, we are allowed to see all realms if not realm_whitelist or '*' in realm_whitelist: realm_whitelist = request_context['Realms'].keys() realms = match_realms(request_realms, realm_whitelist) if '*' in status: status.remove('*') status.extend(['active', 'inactive', 'assigned', 'unassigned', 'active&assigned', 'active&unassigned', 'inactive&assigned', 'inactive&unassigned', 'total']) result = delete(realms=realms, status=status) Session.commit() return sendResult(response, result) except PolicyException as policy_exception: log.exception(policy_exception) Session.rollback() return sendError(response, unicode(policy_exception), 1) except Exception as exc: log.exception(exc) Session.rollback() return sendError(response, exc) finally: Session.close()