Update authentication method to BearerAuth for DICOM endpoints
This commit is contained in:
+19
-18
@@ -120,7 +120,7 @@ class CaseSchema(ModelSchema):
|
|||||||
fields = ["id", "title"]
|
fields = ["id", "title"]
|
||||||
|
|
||||||
|
|
||||||
@router.post("/upload_dicom", auth=TokenAuth())
|
@router.post("/upload_dicom", auth=BearerAuth())
|
||||||
def upload_dicom(request, files: List[UploadedFile] = File(...)):
|
def upload_dicom(request, files: List[UploadedFile] = File(...)):
|
||||||
uploaded = []
|
uploaded = []
|
||||||
duplicate = []
|
duplicate = []
|
||||||
@@ -153,7 +153,7 @@ def upload_dicom(request, files: List[UploadedFile] = File(...)):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@router.post("/generate_image_hash", auth=TokenAuth())
|
@router.post("/generate_image_hash", auth=BearerAuth())
|
||||||
def generate_image_hash(request, id: int):
|
def generate_image_hash(request, id: int):
|
||||||
s = SeriesImage.objects.get(pk=id)
|
s = SeriesImage.objects.get(pk=id)
|
||||||
s.generate_hashes()
|
s.generate_hashes()
|
||||||
@@ -165,7 +165,7 @@ def generate_image_hash(request, id: int):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@router.post("/clear_dicoms", auth=TokenAuth())
|
@router.post("/clear_dicoms", auth=BearerAuth())
|
||||||
def clear_dicoms(request):
|
def clear_dicoms(request):
|
||||||
if "selection" in request.POST:
|
if "selection" in request.POST:
|
||||||
dicoms = UncategorisedDicom.objects.filter(
|
dicoms = UncategorisedDicom.objects.filter(
|
||||||
@@ -180,7 +180,7 @@ def clear_dicoms(request):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
@router.get("/uncategorised_dicoms", auth=TokenAuth())
|
@router.get("/uncategorised_dicoms", auth=BearerAuth())
|
||||||
def uncategorised_dicoms(request):
|
def uncategorised_dicoms(request):
|
||||||
dicoms = UncategorisedDicom.objects.filter(user=request.user)
|
dicoms = UncategorisedDicom.objects.filter(user=request.user)
|
||||||
|
|
||||||
@@ -279,7 +279,7 @@ def import_dicoms_helper(request, case_id: int | None = None):
|
|||||||
|
|
||||||
|
|
||||||
@router.post(
|
@router.post(
|
||||||
"/import_dicoms", auth=TokenAuth(), response=List[Tuple[SeriesSchema, str]]
|
"/import_dicoms", auth=BearerAuth(), response=List[Tuple[SeriesSchema, str]]
|
||||||
)
|
)
|
||||||
def import_dicoms(request):
|
def import_dicoms(request):
|
||||||
return import_dicoms_helper(request)
|
return import_dicoms_helper(request)
|
||||||
@@ -287,14 +287,14 @@ def import_dicoms(request):
|
|||||||
|
|
||||||
@router.post(
|
@router.post(
|
||||||
"/import_dicoms/{case_id}",
|
"/import_dicoms/{case_id}",
|
||||||
auth=TokenAuth(),
|
auth=BearerAuth(),
|
||||||
response=List[Tuple[SeriesSchema, str]],
|
response=List[Tuple[SeriesSchema, str]],
|
||||||
)
|
)
|
||||||
def import_dicoms_case(request, case_id: int):
|
def import_dicoms_case(request, case_id: int):
|
||||||
return import_dicoms_helper(request, case_id=case_id)
|
return import_dicoms_helper(request, case_id=case_id)
|
||||||
|
|
||||||
|
|
||||||
@router.post("/upload_dicom_case/{case_id}", auth=TokenAuth(), response=List[Tuple[SeriesSchema, str]])
|
@router.post("/upload_dicom_case/{case_id}", auth=BearerAuth(), response=List[Tuple[SeriesSchema, str]])
|
||||||
def upload_dicom_case(request, case_id: int, files: List[UploadedFile] = File(...)):
|
def upload_dicom_case(request, case_id: int, files: List[UploadedFile] = File(...)):
|
||||||
"""Upload DICOM files and immediately import them into the given case.
|
"""Upload DICOM files and immediately import them into the given case.
|
||||||
|
|
||||||
@@ -314,12 +314,12 @@ def upload_dicom_case(request, case_id: int, files: List[UploadedFile] = File(..
|
|||||||
return import_dicoms_helper(request, case_id=case_id)
|
return import_dicoms_helper(request, case_id=case_id)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/orphan_series", auth=TokenAuth(), response=List[SeriesSchema])
|
@router.get("/orphan_series", auth=BearerAuth(), response=List[SeriesSchema])
|
||||||
def orphan_series(request):
|
def orphan_series(request):
|
||||||
return request.user.series.filter(case=None)
|
return request.user.series.filter(case=None)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/series_remove_duplicate_images", auth=TokenAuth())
|
@router.get("/series_remove_duplicate_images", auth=BearerAuth())
|
||||||
def series_remove_duplicate_images(request, series_id: int):
|
def series_remove_duplicate_images(request, series_id: int):
|
||||||
series = get_object_or_404(Series, pk=series_id)
|
series = get_object_or_404(Series, pk=series_id)
|
||||||
|
|
||||||
@@ -336,14 +336,15 @@ def series_remove_duplicate_images(request, series_id: int):
|
|||||||
return len(dupes)
|
return len(dupes)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/get_cases_user", auth=TokenAuth(), response=List[CaseSchema])
|
@router.get("/get_cases_user", auth=BearerAuth(), response=List[CaseSchema])
|
||||||
def get_cases_user(request):
|
def get_cases_user(request):
|
||||||
return Case.objects.filter(author=request.user)
|
return Case.objects.filter(author=request.user)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/get_cases_available", auth=TokenAuth(), response=List[CaseSchema])
|
@router.get("/get_cases_available", auth=BearerAuth(), response=List[CaseSchema])
|
||||||
def get_cases_available(request):
|
def get_cases_available(request):
|
||||||
"""Return cases available to the authenticated user (via get_cases_available_to_user)."""
|
"""Return cases available to the authenticated user (via get_cases_available_to_user)."""
|
||||||
|
logger.error(f"Getting cases available to user {request.user}")
|
||||||
qs = get_cases_available_to_user(request.user)
|
qs = get_cases_available_to_user(request.user)
|
||||||
return qs.order_by('-created_date')[:200]
|
return qs.order_by('-created_date')[:200]
|
||||||
|
|
||||||
@@ -358,7 +359,7 @@ class APITokenOut(Schema):
|
|||||||
last_used: str | None = None
|
last_used: str | None = None
|
||||||
|
|
||||||
|
|
||||||
@router.get("/api_tokens", auth=TokenAuth(), response=List[APITokenOut])
|
@router.get("/api_tokens", auth=BearerAuth(), response=List[APITokenOut])
|
||||||
def list_api_tokens(request):
|
def list_api_tokens(request):
|
||||||
tokens = APIToken.objects.filter(user=request.user).order_by("-created")
|
tokens = APIToken.objects.filter(user=request.user).order_by("-created")
|
||||||
out = []
|
out = []
|
||||||
@@ -505,7 +506,7 @@ def token_check(request):
|
|||||||
# return {"token": token, "id": obj.id}
|
# return {"token": token, "id": obj.id}
|
||||||
|
|
||||||
|
|
||||||
@router.post("/api_tokens/{token_id}/revoke", auth=TokenAuth())
|
@router.post("/api_tokens/{token_id}/revoke", auth=BearerAuth())
|
||||||
def revoke_api_token(request, token_id: int):
|
def revoke_api_token(request, token_id: int):
|
||||||
try:
|
try:
|
||||||
t = APIToken.objects.get(pk=token_id, user=request.user)
|
t = APIToken.objects.get(pk=token_id, user=request.user)
|
||||||
@@ -516,7 +517,7 @@ def revoke_api_token(request, token_id: int):
|
|||||||
return {"status": "revoked"}
|
return {"status": "revoked"}
|
||||||
|
|
||||||
|
|
||||||
@router.get("/check_image_hash/{hash}", auth=TokenAuth())
|
@router.get("/check_image_hash/{hash}", auth=BearerAuth())
|
||||||
def check_image_hash(request, hash: str):
|
def check_image_hash(request, hash: str):
|
||||||
try:
|
try:
|
||||||
series_image = SeriesImage.objects.get(image_blake3_hash=hash)
|
series_image = SeriesImage.objects.get(image_blake3_hash=hash)
|
||||||
@@ -531,7 +532,7 @@ def check_image_hash(request, hash: str):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
@router.post("/check_image_hashes/", auth=TokenAuth())
|
@router.post("/check_image_hashes/", auth=BearerAuth())
|
||||||
def check_images_hashes(request, hashes: List[str]):
|
def check_images_hashes(request, hashes: List[str]):
|
||||||
"""Checks a list of image hashes and returns the series id / url if found
|
"""Checks a list of image hashes and returns the series id / url if found
|
||||||
|
|
||||||
@@ -579,13 +580,13 @@ def check_images_hashes(request, hashes: List[str]):
|
|||||||
# print(series_image)
|
# print(series_image)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/view_dicom_tags/{hash}", auth=TokenAuth())
|
@router.get("/view_dicom_tags/{hash}", auth=BearerAuth())
|
||||||
def view_dicom_tags(request, hash: str):
|
def view_dicom_tags(request, hash: str):
|
||||||
item = SeriesImage.objects.get(image_blake3_hash=hash)
|
item = SeriesImage.objects.get(image_blake3_hash=hash)
|
||||||
return item.get_dicom_json()
|
return item.get_dicom_json()
|
||||||
|
|
||||||
|
|
||||||
@router.get("/series_split_by_dicom_tag/{series_id}/{dicom_tag}", auth=TokenAuth())
|
@router.get("/series_split_by_dicom_tag/{series_id}/{dicom_tag}", auth=BearerAuth())
|
||||||
def series_split_by_tag(request, series_id: int, dicom_tag: str):
|
def series_split_by_tag(request, series_id: int, dicom_tag: str):
|
||||||
series = get_object_or_404(Series, pk=series_id)
|
series = get_object_or_404(Series, pk=series_id)
|
||||||
|
|
||||||
@@ -633,7 +634,7 @@ def series_split_by_tag(request, series_id: int, dicom_tag: str):
|
|||||||
return new_series
|
return new_series
|
||||||
|
|
||||||
|
|
||||||
@router.get("/split_order_by_dicom_tag/{series_id}/{dicom_tag}", auth=TokenAuth())
|
@router.get("/split_order_by_dicom_tag/{series_id}/{dicom_tag}", auth=BearerAuth())
|
||||||
def series_order_by_tag(request, series_id: int, dicom_tag: str):
|
def series_order_by_tag(request, series_id: int, dicom_tag: str):
|
||||||
series = get_object_or_404(Series, pk=series_id)
|
series = get_object_or_404(Series, pk=series_id)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user