Changeset View
Changeset View
Standalone View
Standalone View
swh/graphql/resolvers/resolver_factory.py
Show All 20 Lines | from .snapshot import ( | ||||
TargetSnapshotNode, | TargetSnapshotNode, | ||||
VisitSnapshotNode, | VisitSnapshotNode, | ||||
) | ) | ||||
from .snapshot_branch import AliasSnapshotBranchNode, SnapshotBranchConnection | from .snapshot_branch import AliasSnapshotBranchNode, SnapshotBranchConnection | ||||
from .visit import LatestVisitNode, OriginVisitConnection, OriginVisitNode | from .visit import LatestVisitNode, OriginVisitConnection, OriginVisitNode | ||||
from .visit_status import LatestVisitStatusNode, VisitStatusConnection | from .visit_status import LatestVisitStatusNode, VisitStatusConnection | ||||
def get_node_resolver(resolver_type): | def get_node_resolver(resolver_type: str): | ||||
# FIXME, replace with a proper factory method | # FIXME, replace with a proper factory method | ||||
mapping = { | mapping = { | ||||
"origin": OriginNode, | "origin": OriginNode, | ||||
"visit": OriginVisitNode, | "visit": OriginVisitNode, | ||||
"latest-visit": LatestVisitNode, | "latest-visit": LatestVisitNode, | ||||
"latest-status": LatestVisitStatusNode, | "latest-status": LatestVisitStatusNode, | ||||
"visit-snapshot": VisitSnapshotNode, | "visit-snapshot": VisitSnapshotNode, | ||||
"snapshot": SnapshotNode, | "snapshot": SnapshotNode, | ||||
Show All 25 Lines | mapping = { | ||||
"search-result-directory": TargetDirectoryNode, | "search-result-directory": TargetDirectoryNode, | ||||
"search-result-content": TargetContentNode, | "search-result-content": TargetContentNode, | ||||
} | } | ||||
if resolver_type not in mapping: | if resolver_type not in mapping: | ||||
raise AttributeError(f"Invalid node type: {resolver_type}") | raise AttributeError(f"Invalid node type: {resolver_type}") | ||||
return mapping[resolver_type] | return mapping[resolver_type] | ||||
def get_connection_resolver(resolver_type): | def get_connection_resolver(resolver_type: str): | ||||
# FIXME, replace with a proper factory method | # FIXME, replace with a proper factory method | ||||
mapping = { | mapping = { | ||||
"origins": OriginConnection, | "origins": OriginConnection, | ||||
"origin-visits": OriginVisitConnection, | "origin-visits": OriginVisitConnection, | ||||
"origin-snapshots": OriginSnapshotConnection, | "origin-snapshots": OriginSnapshotConnection, | ||||
"visit-status": VisitStatusConnection, | "visit-status": VisitStatusConnection, | ||||
"snapshot-branches": SnapshotBranchConnection, | "snapshot-branches": SnapshotBranchConnection, | ||||
"revision-parents": ParentRevisionConnection, | "revision-parents": ParentRevisionConnection, | ||||
"revision-log": LogRevisionConnection, | "revision-log": LogRevisionConnection, | ||||
"directory-entries": DirectoryEntryConnection, | "directory-entries": DirectoryEntryConnection, | ||||
"resolve-swhid": ResolveSwhidConnection, | "resolve-swhid": ResolveSwhidConnection, | ||||
"search": SearchConnection, | "search": SearchConnection, | ||||
} | } | ||||
if resolver_type not in mapping: | if resolver_type not in mapping: | ||||
raise AttributeError(f"Invalid connection type: {resolver_type}") | raise AttributeError(f"Invalid connection type: {resolver_type}") | ||||
return mapping[resolver_type] | return mapping[resolver_type] |