Skip to content

Commit 0e0c1d7

Browse files
authored
fix duplicate keys that got through ci due to old PR (#425)
* fix duplicate keys that got through ci due to old PR * branch rules have been updated to prevent this from happening * special case for SimulationCampaign
1 parent 713892d commit 0e0c1d7

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

app/queries/factory.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
MTypeClass,
2626
MTypeClassification,
2727
Simulation,
28+
SimulationCampaign,
2829
SingleNeuronSynaptome,
2930
Species,
3031
Strain,
@@ -143,10 +144,6 @@ def _get_alias[T: type[Identifiable]](db_cls: T, name: str | None = None) -> T:
143144
"id": ion_channel_modeling_config_alias.id,
144145
"label": ion_channel_modeling_config_alias.name,
145146
},
146-
"circuit": {
147-
"id": circuit_alias.id,
148-
"label": circuit_alias.name,
149-
},
150147
}
151148
filter_joins = {
152149
"species": lambda q: q.join(Species, db_model_class.species_id == Species.id),
@@ -223,7 +220,15 @@ def _get_alias[T: type[Identifiable]](db_cls: T, name: str | None = None) -> T:
223220
"simulation.circuit": lambda q: q.outerjoin(
224221
circuit_alias, simulation_alias.entity_id == circuit_alias.id
225222
),
226-
"circuit": lambda q: q.join(circuit_alias, db_model_class.entity_id == circuit_alias.id),
223+
"circuit": lambda q: q.join(
224+
circuit_alias,
225+
(
226+
db_model_class.entity_id
227+
if db_model_class == SimulationCampaign
228+
else db_model_class.circuit_id
229+
)
230+
== circuit_alias.id,
231+
),
227232
"used": lambda q: q.outerjoin(
228233
Usage, db_model_class.id == Usage.usage_activity_id
229234
).outerjoin(used_alias, Usage.usage_entity_id == used_alias.id),
@@ -249,10 +254,6 @@ def _get_alias[T: type[Identifiable]](db_cls: T, name: str | None = None) -> T:
249254
ion_channel_modeling_config_alias,
250255
db_model_class.id == ion_channel_modeling_config_alias.ion_channel_modeling_campaign_id,
251256
),
252-
"circuit": lambda q: q.join(
253-
circuit_alias,
254-
db_model_class.circuit_id == circuit_alias.id,
255-
),
256257
}
257258
name_to_facet_query_params = {k: name_to_facet_query_params[k] for k in facet_keys}
258259
filter_joins = {k: filter_joins[k] for k in filter_keys}

0 commit comments

Comments
 (0)