further improvements

This commit is contained in:
Ross
2023-08-14 14:30:01 +01:00
parent cc2cbde691
commit a4e66696bd
8 changed files with 139 additions and 49 deletions
+24 -5
View File
@@ -32,6 +32,11 @@ class SeriesSchema(ModelSchema):
def resolve_case_id(obj):
return [i.id for i in obj.case.all()]
class CaseSchema(ModelSchema):
class Config:
model = Case
model_fields = ["id", "title"]
@router.post("/upload_dicom", auth=django_auth)
def upload_dicom(request, files: List[UploadedFile] = File(...)):
@@ -73,9 +78,7 @@ def uncategorised_dicoms(request):
return data
@router.get("/import_dicoms", auth=django_auth, response=List[SeriesSchema])
def import_dicoms(request):
def import_dicoms_helper(request, case_id: int | None=None):
dicoms = UncategorisedDicom.objects.filter(user=request.user)
data = defaultdict(list)
@@ -104,16 +107,30 @@ def import_dicoms(request):
# We might only want to add the author during creation....
series.author.add(request.user)
if case_id is not None:
series.case.add(case_id)
for dicom, dicom_tags in data[series_uid]:
series_image = SeriesImage(image=dicom.image, series=series)
series_image.save()
dicom.image.delete()
#dicom.image.delete()
dicom.delete()
series_list.append(series)
return series_list
@router.get("/import_dicoms", auth=django_auth, response=List[SeriesSchema])
def import_dicoms(request):
return import_dicoms_helper(request)
@router.get("/import_dicoms/{case_id}", auth=django_auth, response=List[SeriesSchema])
def import_dicoms_case(request, case_id: int):
return import_dicoms_helper(request, case_id=case_id)
@router.get("/orphan_series", auth=django_auth, response=List[SeriesSchema])
def orphan_series(request):
#print(request.user.series.filter(case=None))
@@ -137,4 +154,6 @@ def series_remove_duplicate_images(request, series_id: int):
return len(dupes)
@router.get("/get_cases_user", auth=django_auth, response=List[CaseSchema])
def get_cases_user(request):
return Case.objects.filter(author=request.user)