Skip to content

Commit 4f0069f

Browse files
committed
Stop trying to use a base model for previous version links
1 parent 7a5f847 commit 4f0069f

File tree

1 file changed

+39
-2
lines changed

1 file changed

+39
-2
lines changed

src/eiffel_graphql_api/graphql/schemas/links/source_change_base.py

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616
"""Eiffel source change links."""
17+
1718
import graphene
1819

1920
from eiffel_graphql_api.graphql.schemas.events import (
@@ -68,9 +69,45 @@ def resolve_source_change_created(self, _):
6869
return SourceChangeCreated(event)
6970

7071

71-
class SourceSubmittedPreviousVersion(Base):
72+
class SourceSubmittedPreviousVersion(graphene.ObjectType):
7273
"""Previous source submitted link."""
7374

75+
source_change_submitted = graphene.Field(SourceChangeSubmitted)
76+
77+
def __init__(self, link):
78+
"""Initialize link."""
79+
# pylint:disable=super-init-not-called
80+
self.link = link
81+
82+
def resolve_source_change_submitted(self, _):
83+
"""Resolve source change submitted link."""
84+
from ..union import NotFound # pylint:disable=import-outside-toplevel
85+
86+
event = find_one(
87+
"EiffelSourceChangeSubmittedEvent", {"meta.id": self.link.get("target")}
88+
)
89+
if event is None:
90+
return NotFound(self.link, "Could not find event in database.")
91+
return SourceChangeSubmitted(event)
92+
7493

75-
class SourceCreatedPreviousVersion(SourceChange):
94+
class SourceCreatedPreviousVersion(graphene.ObjectType):
7695
"""Previous source created link."""
96+
97+
source_change_created = graphene.Field(SourceChangeCreated)
98+
99+
def __init__(self, link):
100+
"""Initialize link."""
101+
# pylint:disable=super-init-not-called
102+
self.link = link
103+
104+
def resolve_source_change_created(self, _):
105+
"""Resolve source change created link."""
106+
from ..union import NotFound # pylint:disable=import-outside-toplevel
107+
108+
event = find_one(
109+
"EiffelSourceChangeCreatedEvent", {"meta.id": self.link.get("target")}
110+
)
111+
if event is None:
112+
return NotFound(self.link, "Could not find event in database.")
113+
return SourceChangeCreated(event)

0 commit comments

Comments
 (0)