diff --git a/swh/graphql/backends/archive.py b/swh/graphql/backends/archive.py index 661f4d6..79485a8 100644 --- a/swh/graphql/backends/archive.py +++ b/swh/graphql/backends/archive.py @@ -1,65 +1,67 @@ from swh.storage import get_storage class Archive: def __init__(self): # FIXME, setup config self.storage = get_storage( cls="remote", url="http://moma.internal.softwareheritage.org:5002" ) def get_origin(self, url): return self.storage.origin_get([url])[0] - def get_origins(self, after=None, first=50): - return self.storage.origin_list(page_token=after, limit=first) + def get_origins(self, after=None, first=50, url_pattern=None): + # STORAGE-TODO + # Make them a single function in the backend + if url_pattern is None: + return self.storage.origin_list(page_token=after, limit=first) - def search_origins(self, pattern, after=None, first=50): return self.storage.origin_search( - url_pattern=pattern, page_token=after, limit=first + url_pattern=url_pattern, page_token=after, limit=first ) def get_origin_visits(self, origin_url, after=None, first=50): return self.storage.origin_visit_get(origin_url, page_token=after, limit=first) def get_origin_visit(self, origin_url, visit_id): return self.storage.origin_visit_get_by(origin_url, visit_id) def get_origin_latest_visit(self, origin_url): return self.storage.origin_visit_get_latest(origin_url) def get_visit_status(self, origin_url, visit_id, after=None, first=50): return self.storage.origin_visit_status_get( origin_url, visit_id, page_token=after, limit=first ) def get_latest_visit_status(self, origin_url, visit_id): return self.storage.origin_visit_status_get_latest(origin_url, visit_id) def get_origin_snapshots(self, origin_url): return self.storage.origin_snapshot_get_all(origin_url) def get_snapshot_branches(self, snapshot, after, first, target_types, name_include): return self.storage.snapshot_get_branches( snapshot, branches_from=after, branches_count=first, target_types=target_types, branch_name_include_substring=name_include, ) def get_revisions(self, revision_ids): return self.storage.revision_get(revision_ids=revision_ids) def get_revision_log(self, revision_ids, after=None, first=50): return self.storage.revision_log(revisions=revision_ids, limit=first) def get_releases(self, release_ids): return self.storage.release_get(releases=release_ids) def get_directory_entries(self, directory_id): return self.storage.directory_ls(directory_id) def get_content(self, content_id): # FIXME, only for tests return self.storage.content_find({"sha1_git": content_id}) diff --git a/swh/graphql/resolvers/origin.py b/swh/graphql/resolvers/origin.py index a8cb5d2..a26ba8a 100644 --- a/swh/graphql/resolvers/origin.py +++ b/swh/graphql/resolvers/origin.py @@ -1,29 +1,20 @@ from swh.graphql.backends import archive from .base_connection import BaseConnection from .base_node import BaseNode class OriginNode(BaseNode): def _get_node_data(self): return archive.Archive().get_origin(self.kwargs.get("url")) class OriginConnection(BaseConnection): _node_class = OriginNode def _get_paged_result(self): - search_pattern = self.kwargs.get("urlPattern") - # STORAGE-TODO - # Make them a single function in the backend - if search_pattern: - return archive.Archive().search_origins( - pattern=self.kwargs.get("urlPattern"), - after=self._get_after_arg(), - first=self._get_first_arg(), - ) - else: - return archive.Archive().get_origins( - after=self._get_after_arg(), - first=self._get_first_arg(), - ) + return archive.Archive().get_origins( + after=self._get_after_arg(), + first=self._get_first_arg(), + url_pattern=self.kwargs.get("urlPattern"), + )