def _get_audit_templates_collection(self, filters, marker, limit, sort_key, sort_dir, expand=False, resource_url=None): api_utils.validate_search_filters( filters, objects.audit_template.AuditTemplate.fields.keys()) limit = api_utils.validate_limit(limit) api_utils.validate_sort_dir(sort_dir) marker_obj = None if marker: marker_obj = objects.AuditTemplate.get_by_uuid( pecan.request.context, marker) audit_templates = objects.AuditTemplate.list( pecan.request.context, filters, limit, marker_obj, sort_key=sort_key, sort_dir=sort_dir) return AuditTemplateCollection.convert_with_links(audit_templates, limit, url=resource_url, expand=expand, sort_key=sort_key, sort_dir=sort_dir)
def _get_strategies_collection(self, filters, marker, limit, sort_key, sort_dir, expand=False, resource_url=None): additional_fields = ["goal_uuid", "goal_name"] api_utils.validate_sort_key( sort_key, list(objects.Strategy.fields) + additional_fields) api_utils.validate_search_filters( filters, list(objects.Strategy.fields) + additional_fields) limit = api_utils.validate_limit(limit) api_utils.validate_sort_dir(sort_dir) marker_obj = None if marker: marker_obj = objects.Strategy.get_by_uuid( pecan.request.context, marker) need_api_sort = api_utils.check_need_api_sort(sort_key, additional_fields) sort_db_key = (sort_key if not need_api_sort else None) strategies = objects.Strategy.list( pecan.request.context, limit, marker_obj, filters=filters, sort_key=sort_db_key, sort_dir=sort_dir) strategies_collection = StrategyCollection.convert_with_links( strategies, limit, url=resource_url, expand=expand, sort_key=sort_key, sort_dir=sort_dir) if need_api_sort: api_utils.make_api_sort(strategies_collection.strategies, sort_key, sort_dir) return strategies_collection
def test_validate_search_filters(self): allowed_fields = ["allowed", "authorized"] test_filters = {"allowed": 1, "authorized": 2} try: utils.validate_search_filters(test_filters, allowed_fields) except Exception as exc: self.fail(exc)
def _get_strategies_collection(self, filters, marker, limit, sort_key, sort_dir, expand=False, resource_url=None): api_utils.validate_search_filters( filters, list(objects.strategy.Strategy.fields.keys()) + ["goal_uuid", "goal_name"]) limit = api_utils.validate_limit(limit) api_utils.validate_sort_dir(sort_dir) sort_db_key = (sort_key if sort_key in objects.Strategy.fields.keys() else None) marker_obj = None if marker: marker_obj = objects.Strategy.get_by_uuid( pecan.request.context, marker) strategies = objects.Strategy.list( pecan.request.context, limit, marker_obj, filters=filters, sort_key=sort_db_key, sort_dir=sort_dir) return StrategyCollection.convert_with_links( strategies, limit, url=resource_url, expand=expand, sort_key=sort_key, sort_dir=sort_dir)
def _get_strategies_collection(self, filters, marker, limit, sort_key, sort_dir, expand=False, resource_url=None): api_utils.validate_search_filters( filters, list(objects.strategy.Strategy.fields) + ["goal_uuid", "goal_name"]) limit = api_utils.validate_limit(limit) api_utils.validate_sort_dir(sort_dir) sort_db_key = (sort_key if sort_key in objects.Strategy.fields else None) marker_obj = None if marker: marker_obj = objects.Strategy.get_by_uuid( pecan.request.context, marker) strategies = objects.Strategy.list( pecan.request.context, limit, marker_obj, filters=filters, sort_key=sort_db_key, sort_dir=sort_dir) return StrategyCollection.convert_with_links( strategies, limit, url=resource_url, expand=expand, sort_key=sort_key, sort_dir=sort_dir)