Skip to content

Commit

Permalink
#146: Implement second ISIS specific endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
MRichards99 committed Oct 14, 2020
1 parent 8d1dba2 commit e28c39b
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions common/icat/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -563,6 +563,40 @@ def get_investigations_for_instrument_in_facility_cycle(
client, "Investigation", aggregate=query_aggregate, isis_endpoint=True
)

instrument_id_check = PythonICATWhereFilter(
"facility.instruments.id", instrument_id, "eq"
)
investigation_instrument_id_check = PythonICATWhereFilter(
"investigationInstruments.instrument.id", instrument_id, "eq",
)
facility_cycle_id_check = PythonICATWhereFilter(
"facility.facilityCycles.id", facilitycycle_id, "eq"
)
facility_cycle_start_date_check = PythonICATWhereFilter(
"facility.facilityCycles.startDate", "o.startDate", "lte"
)
facility_cycle_end_date_check = PythonICATWhereFilter(
"facility.facilityCycles.endDate", "o.startDate", "gte"
)

required_filters = [
instrument_id_check,
investigation_instrument_id_check,
facility_cycle_id_check,
facility_cycle_start_date_check,
facility_cycle_end_date_check,
]
filters.extend(required_filters)
filter_handler = FilterOrderHandler()
filter_handler.manage_icat_filters(filters, query.query)

data = query.execute_query(client, True)

if not data:
raise MissingRecordError("No results found")
else:
return data


def get_investigations_for_instrument_in_facility_cycle_count(
client, instrument_id, facilitycycle_id, filters
Expand Down

0 comments on commit e28c39b

Please sign in to comment.