Skip to content

onconova.oncology.controllers.treatment_response

TreatmentResponseController

Bases: ControllerBase

create_treatment_response(payload)

Source code in onconova/oncology/controllers/treatment_response.py
@route.post(
    path="",
    response={201: ModifiedResourceSchema, **COMMON_HTTP_ERRORS},
    permissions=[perms.CanManageCases],
    operation_id="createTreatmentResponse",
)
def create_treatment_response(self, payload: scm.TreatmentResponseCreate):  # type: ignore
    return 201, payload.model_dump_django().assign_therapy_line()

delete_treatment_response(treatmentRresponseId)

Source code in onconova/oncology/controllers/treatment_response.py
@route.delete(
    path="/{treatmentRresponseId}",
    response={204: None, 404: None, **COMMON_HTTP_ERRORS},
    permissions=[perms.CanManageCases],
    operation_id="deleteTreatmentResponse",
)
def delete_treatment_response(self, treatmentRresponseId: str):
    instance = get_object_or_404(orm.TreatmentResponse, id=treatmentRresponseId)
    case = instance.case
    instance.delete()
    orm.TherapyLine.assign_therapy_lines(case)
    return 204, None

get_all_treatment_response_history_events(treatmentRresponseId)

Source code in onconova/oncology/controllers/treatment_response.py
@route.get(
    path="/{treatmentRresponseId}/history/events",
    response={
        200: Paginated[HistoryEvent.bind_schema(scm.TreatmentResponseCreate)],
        404: None,
        **COMMON_HTTP_ERRORS,
    },
    permissions=[perms.CanViewCases],
    operation_id="getAllTreatmentResponseHistoryEvents",
)
@paginate()
@ordering()
def get_all_treatment_response_history_events(self, treatmentRresponseId: str):
    instance = get_object_or_404(orm.TreatmentResponse, id=treatmentRresponseId)
    return pghistory.models.Events.objects.tracks(instance).all()  # type: ignore

get_all_treatment_responses_matching_the_query(query)

Source code in onconova/oncology/controllers/treatment_response.py
@route.get(
    path="",
    response={
        200: Paginated[scm.TreatmentResponse],
        **COMMON_HTTP_ERRORS,
    },
    permissions=[perms.CanViewCases],
    operation_id="getTreatmentResponses",
)
@paginate()
@ordering()
@anonymize()
def get_all_treatment_responses_matching_the_query(self, query: Query[scm.TreatmentResponseFilters]):  # type: ignore
    queryset = orm.TreatmentResponse.objects.all().order_by("-date")
    return query.filter(queryset)

get_treatment_response_by_id(treatmentRresponseId)

Source code in onconova/oncology/controllers/treatment_response.py
@route.get(
    path="/{treatmentRresponseId}",
    response={200: scm.TreatmentResponse, 404: None, **COMMON_HTTP_ERRORS},
    permissions=[perms.CanViewCases],
    operation_id="getTreatmentResponseById",
)
@anonymize()
def get_treatment_response_by_id(self, treatmentRresponseId: str):
    return get_object_or_404(orm.TreatmentResponse, id=treatmentRresponseId)

get_treatment_response_history_event_by_id(treatmentRresponseId, eventId)

Source code in onconova/oncology/controllers/treatment_response.py
@route.get(
    path="/{treatmentRresponseId}/history/events/{eventId}",
    response={
        200: HistoryEvent.bind_schema(scm.TreatmentResponseCreate),
        404: None,
        **COMMON_HTTP_ERRORS,
    },
    permissions=[perms.CanViewCases],
    operation_id="getTreatmentResponseHistoryEventById",
)
def get_treatment_response_history_event_by_id(
    self, treatmentRresponseId: str, eventId: str
):
    instance = get_object_or_404(orm.TreatmentResponse, id=treatmentRresponseId)
    return get_object_or_404(
        pghistory.models.Events.objects.tracks(instance), pgh_id=eventId  # type: ignore
    )

revert_treatment_response_to_history_event(treatmentRresponseId, eventId)

Source code in onconova/oncology/controllers/treatment_response.py
@route.put(
    path="/{treatmentRresponseId}/history/events/{eventId}/reversion",
    response={201: ModifiedResourceSchema, 404: None, **COMMON_HTTP_ERRORS},
    permissions=[perms.CanManageCases],
    operation_id="revertTreatmentResponseToHistoryEvent",
)
def revert_treatment_response_to_history_event(
    self, treatmentRresponseId: str, eventId: str
):
    instance = get_object_or_404(orm.TreatmentResponse, id=treatmentRresponseId)
    return 201, get_object_or_404(instance.events, pgh_id=eventId).revert()

update_treatment_response(treatmentRresponseId, payload)

Source code in onconova/oncology/controllers/treatment_response.py
@route.put(
    path="/{treatmentRresponseId}",
    response={200: ModifiedResourceSchema, 404: None, **COMMON_HTTP_ERRORS},
    permissions=[perms.CanManageCases],
    operation_id="updateTreatmentResponse",
)
def update_treatment_response(self, treatmentRresponseId: str, payload: scm.TreatmentResponseCreate):  
    instance = get_object_or_404(orm.TreatmentResponse, id=treatmentRresponseId)
    return payload.model_dump_django(instance=instance).assign_therapy_line()
runner