def workspace_summary(workspace=None): validate_workspace(workspace) services_count = ServiceDAO(workspace).count() vuln_count = VulnerabilityDAO(workspace).count(vuln_filter=flask.request.args) host_count = HostDAO(workspace).count() iface_count = InterfaceDAO(workspace).count() note_count = NoteDAO(workspace).count() response = { 'stats': { 'services': services_count.get('total_count', 0), 'total_vulns': vuln_count.get('total_count', 0), 'web_vulns': vuln_count.get('web_vuln_count', 0), 'std_vulns': vuln_count.get('vuln_count', 0), 'hosts': host_count.get('total_count', 0), 'interfaces': iface_count.get('total_count', 0), 'notes': note_count.get('total_count', 0), } } return flask.jsonify(response)
def list_hosts(workspace=None): validate_workspace(workspace) get_logger(__name__).debug("Request parameters: {!r}"\ .format(flask.request.args)) page = get_integer_parameter('page', default=0) page_size = get_integer_parameter('page_size', default=0) search = flask.request.args.get('search') order_by = flask.request.args.get('sort') order_dir = flask.request.args.get('sort_dir') host_filter = filter_request_args('page', 'page_size', 'search', 'sort', 'sort_dir') dao = HostDAO(workspace) result = dao.list(search=search, page=page, page_size=page_size, order_by=order_by, order_dir=order_dir, host_filter=host_filter) return flask.jsonify(result)