about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gn3/case_attributes.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/gn3/case_attributes.py b/gn3/case_attributes.py
index 98ba047..2115fc9 100644
--- a/gn3/case_attributes.py
+++ b/gn3/case_attributes.py
@@ -398,9 +398,12 @@ def edit_case_attributes(inbredset_id: int) -> Response:
                 "diff-filename": str(diff_filename.name)
             })
 
-@caseattr.route("/list/<int:inbredset_id>", methods=["GET"])
+@caseattr.route("/<int:inbredset_id>/diff/list", methods=["GET"])
 def list_diffs(inbredset_id: int) -> Response:
     """List any changes that have not been approved/rejected."""
+    Path(current_app.config.get("TMPDIR"), CATTR_DIFFS_DIR).mkdir(
+        parents=True, exist_ok=True)
+
     def __generate_diff_files__(diffs):
         diff_dir = Path(current_app.config.get("TMPDIR"), CATTR_DIFFS_DIR)
         review_files = set(afile.name for afile in diff_dir.iterdir()
@@ -434,7 +437,13 @@ def list_diffs(inbredset_id: int) -> Response:
 
     __generate_diff_files__(diffs)
     resp = make_response(json.dumps(
-        tuple(diff for diff in diffs
+        tuple({
+            **diff,
+            "filename": (
+                f"{diff['json_diff_data']['inbredset_id']}:::"
+                f"{diff['json_diff_data']['user_id']}:::"
+                f"{diff['time_stamp'].isoformat()}")
+        } for diff in diffs
               if diff["json_diff_data"].get("inbredset_id") == inbredset_id),
         cls=CAJSONEncoder))
     resp.headers["Content-Type"] = "application/json"