Skip to content

Commit

Permalink
fix broken change where a cre would be added twice
Browse files Browse the repository at this point in the history
  • Loading branch information
northdpole committed Nov 12, 2024
1 parent c68969d commit e58896a
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 9 deletions.
13 changes: 5 additions & 8 deletions application/database/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -1174,11 +1174,12 @@ def __make_cre_internal_links(self, cre: CRE) -> List[cre_defs.Link]:
)

for internal_link in internal_links:

linked_cre_query = self.session.query(CRE)
link_type = cre_defs.LinkTypes.from_str(internal_link.type)

if internal_link.cre == cre.id:
# if we are the lower cre in this relationship, we need to flip the "Contains" linktypes
# if we are the lower cre in this relationship, we need to flip the "Contains" linktypes
linked_cre = linked_cre_query.filter(
CRE.id == internal_link.group
).first() # get the higher cre so we can add the link
Expand All @@ -1195,14 +1196,10 @@ def __make_cre_internal_links(self, cre: CRE) -> List[cre_defs.Link]:
links.append(
cre_defs.Link(ltype=link_type, document=CREfromDB(linked_cre))
)

continue
# if we are are the higher cre then we don't need to do anything, relationship types are always "higher"->"lower"
linked_cre = linked_cre_query.filter(
CRE.id == internal_link.cre
).first()
links.append(
cre_defs.Link(ltype=link_type, document=CREfromDB(linked_cre))
)
linked_cre = linked_cre_query.filter(CRE.id == internal_link.cre).first()
links.append(cre_defs.Link(ltype=link_type, document=CREfromDB(linked_cre)))
return links

def __make_cre_links(
Expand Down
2 changes: 1 addition & 1 deletion application/tests/cre_main_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ def test_register_cre(self) -> None:
c_lower = self.collection.get_CREs(cre_lower.id)[0]
c_equal = self.collection.get_CREs(cre_equal.id)[0]
retrieved_cre = self.collection.get_CREs(cre.id)[0]

self.maxDiff = None
self.assertCountEqual(
c_higher.links,
[
Expand Down
1 change: 1 addition & 0 deletions application/tests/db_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,7 @@ def test_get_CREs(self) -> None:
)
)
collection.session.commit()
self.maxDiff = None

# we can retrieve children cres
self.assertEqual(
Expand Down

0 comments on commit e58896a

Please sign in to comment.