diff --git a/swh/graphql/resolvers/person.py b/swh/graphql/resolvers/person.py new file mode 100644 index 0000000..1fa9a01 --- /dev/null +++ b/swh/graphql/resolvers/person.py @@ -0,0 +1,10 @@ +from .base_node import BaseNode + + +class PersonNode(BaseNode): + """ + """ + + def _get_node_data(self): + """ + """ diff --git a/swh/graphql/resolvers/release.py b/swh/graphql/resolvers/release.py index ebfb36d..935e710 100644 --- a/swh/graphql/resolvers/release.py +++ b/swh/graphql/resolvers/release.py @@ -1,25 +1,36 @@ from swh.graphql.backends import archive from .base_node import BaseNode class ReleaseNode(BaseNode): def _get_node_data(self): """ """ class BranchReleaseNode(BaseNode): """ When the release is requested from a snapshot branch self.obj is a branch object self.obj.target is the release id """ def _get_node_data(self): k = (archive.Archive().get_release(self.obj.target) or None)[0] return k def is_type_of(self): + """ + is_type_of is required only when + requesting from a connection + + This is for ariadne to return the correct type in schema + """ return "Release" + + @property + def author(self): + # return a PersoneNode object + return self.obj.author diff --git a/swh/graphql/resolvers/revision.py b/swh/graphql/resolvers/revision.py index e0c7db4..2185638 100644 --- a/swh/graphql/resolvers/revision.py +++ b/swh/graphql/resolvers/revision.py @@ -1,40 +1,50 @@ from swh.graphql.backends import archive from .base_node import BaseNode class RevisionNode(BaseNode): """ When the revision is requested directly using an id """ def _get_node_data(self): """ """ class BranchRevisionNode(BaseNode): """ When the revision is requested from a snapshot branch self.obj is a branch object self.obj.target is the revision id """ def _get_node_data(self): """ self.obj.target is the Revision id """ # FIXME, make this call async (not for v1) return (archive.Archive().get_revision(self.obj.target) or None)[0] def is_type_of(self): """ is_type_of is required only when requesting from a connection This is for ariadne to return the correct type in schema """ # FIXME, this is coupled with the schema return "Revision" + + @property + def author(self): + # return a PersoneNode object + return self.obj.author + + @property + def committer(self): + # return a PersoneNode object + return self.obj.committer