# Geometry conflicts on API
* refactors internal fetching of GeometryConflict data * adds serializing of GeometryConflict entry data (identifier, id) to GET API calls
This commit is contained in:
@@ -202,3 +202,29 @@ class AbstractModelAPISerializer:
|
||||
obj (Intervention)
|
||||
"""
|
||||
raise NotImplementedError("Must be implemented in subclasses")
|
||||
|
||||
|
||||
def _geometry_conflicts_to_list(self, geometry) -> list:
|
||||
""" Serializes geometry conflict ids into dict
|
||||
|
||||
Args:
|
||||
geometry (Geometry): The geometry to fetch geometry conflicts from
|
||||
|
||||
Returns:
|
||||
ids (list): Serialized geometry conflicts as dict objects inside a list
|
||||
"""
|
||||
ids = []
|
||||
conflict_geometries = geometry.get_conflict_geometries()
|
||||
for geom in conflict_geometries:
|
||||
try:
|
||||
data = geom.get_data_objects(["identifier", "id"])[0]
|
||||
except KeyError:
|
||||
raise AssertionError(f"Geometry {geom.id} is not attached to any entries. Contact an admin!")
|
||||
ids.append(
|
||||
{
|
||||
"identifier": data["identifier"],
|
||||
"id": data["id"],
|
||||
}
|
||||
)
|
||||
|
||||
return ids
|
||||
|
||||
Reference in New Issue
Block a user