def get_good(request, pk): data = client.get(request, f"/goods/{pk}") return data.json(), data.status_code
def get_team_case_advice(request, case_pk, team_pk): data = client.get(request, f"/cases/{case_pk}/view-team-advice/{team_pk}") return data.json(), data.status_code
def get_case(request, pk): response = client.get(request, f"/cases/{pk}") response.raise_for_status() parsed = response.json() return Case(parsed["case"])
def get_activity_filters(request, pk): data = client.get(request, f"/cases/{pk}/activity/filters/") return data.json()["filters"]
def get_case_documents(request, pk): data = client.get(request, f"/cases/{pk}/documents/") return data.json(), data.status_code
def get_status_properties(request, status): data = client.get(request, f"/static/statuses/properties/{status}") return data.json(), data.status_code
def get_end_user_advisories(request, params): data = client.get(request, "/queries/end-user-advisories/" + params) return data.json()
def get_case_applicant(request, pk): response = client.get(request, f"/cases/{pk}/applicant/") return response.json()
def get_case_additional_contacts(request, pk): response = client.get(request, f"/cases/{pk}/additional-contacts/") return response.json()
def get_generated_document(request, pk, dpk): data = client.get(request, f"/cases/{pk}/generated-documents/{dpk}/") return data.json(), data.status_code
def get_destination(request, pk): data = client.get(request, f"/cases/destinations/{pk}") return data.json()
def get_generated_document_preview(request, pk, template, text, addressee): params = convert_parameters_to_query_params(locals()) data = client.get(request, f"/cases/{pk}/generated-documents/preview/" + params) return data.json(), data.status_code
def get_decisions(request): data = client.get(request, "/static/decisions/") return data.json()["decisions"], data.status_code
def get_goods_type(request, pk): data = client.get(request, f"/goods-types/{pk}") # API doesn't structure the endpoints in a way that flags (currently) works, # so wrap data in dictionary return {"good": data.json()}, data.status_code
def get_case_notes(request, pk): data = client.get(request, f"/cases/{pk}/case-notes/") return data.json(), data.status_code
def get_user_case_queues(request, pk): data = client.get(request, f"/cases/{pk}/assigned-queues/") return data.json()["queues"], data.status_code
def get_case_types(request, type_only=True): data = client.get(request, f"/static/case-types/?type_only={type_only}") return data.json()["case_types"]
def get_blocking_flags(request, case_pk): url = f"/flags/?case={case_pk}&status={FlagStatus.ACTIVE.value}&blocks_finalising=True&disable_pagination=True" data = client.get(request, url) return data.json()
def get_menu_notifications(request): if not hasattr(request, "cached_get_menu_notifications"): request.cached_get_menu_notifications = client.get(request, "/gov-users/notifications/") response = request.cached_get_menu_notifications return response.json()
def get_compliance_licences(request, case_id, reference, page): data = client.get(request, f"/compliance/{case_id}/licences/?reference={reference}&page={page}",) return data.json()
def get_end_user_advisory(request, pk): data = client.get(request, f"/queries/end-user-advisories/{pk}") if data.status_code == HTTPStatus.OK: return data.json().get("end_user_advisory"), data.json().get("case_id") else: return None, None
def get_compliance_visit_case(request, case_id): data = client.get(request, f"/compliance/visit/{case_id}") return data.json()
def get_case_document(request, pk, document_metadata_id): data = client.get(request, f"/cases/{pk}/documents/{document_metadata_id}") return data.json(), data.status_code
def get_compliance_people_present(request, case_id): data = client.get(request, f"/compliance/visit/{case_id}/people-present/?disable_pagination=True") return data.json()
def get_user_case_advice(request, case_pk): data = client.get(request, f"/cases/{case_pk}/user-advice/") return data.json(), data.status_code
def get_finalise_application_goods(request, pk): data = client.get(request, f"/applications/{pk}/final-decision/") return data.json(), data.status_code
def coalesce_user_advice(request, case_pk): data = client.get(request, f"/cases/{case_pk}/team-advice/") return data.json(), data.status_code
def get_application_default_duration(request, pk): return int(client.get(request, f"/applications/{pk}/duration/").json()["licence_duration"])
def get_final_decision_documents(request, case_pk): data = client.get(request, f"/cases/{case_pk}/final-advice-documents/") return data.json(), data.status_code
def get_good_on_application_document_detail(request, pk, good_pk, doc_pk): response = client.get(request, f"/applications/{pk}/goods/{good_pk}/documents/{doc_pk}/") response.raise_for_status() return response.json()