Skip to content

Commit a1d83d2

Browse files
committed
uodate f f
1 parent 8859618 commit a1d83d2

1 file changed

Lines changed: 23 additions & 4 deletions

File tree

backend/app.py

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -243,15 +243,33 @@ def update_image(filename):
243243
return redirect(url_for("index"))
244244

245245
try:
246-
doc_id = get_doc_id_by_filename(filename)
247-
248-
if not doc_id:
246+
# Fetch existing doc to preserve all fields
247+
response = requests.get(LOGIC_READ, timeout=30)
248+
data = response.json()
249+
images = data if isinstance(data, list) else data.get("value", [])
250+
251+
existing = None
252+
for img in images:
253+
if img.get("filename") == filename:
254+
existing = img
255+
break
256+
257+
if not existing:
249258
flash("Image not found in database.", "error")
250259
return redirect(url_for("index"))
251260

261+
doc_id = existing.get("id")
252262
tags = [t.strip() for t in request.form.get("tags", "").split(",") if t.strip()]
263+
264+
# Merge form fields into existing doc — preserves image_url, size_kb etc.
253265
payload = {
254266
"id": doc_id,
267+
"filename": existing.get("filename"),
268+
"image_url": existing.get("image_url"),
269+
"size_kb": existing.get("size_kb"),
270+
"size_mb": existing.get("size_mb"),
271+
"upload_time": existing.get("upload_time"),
272+
"uploaded_by": existing.get("uploaded_by"),
255273
"title": request.form.get("title", "").strip(),
256274
"description": request.form.get("description", "").strip(),
257275
"category": request.form.get("category", "").strip(),
@@ -263,6 +281,7 @@ def update_image(filename):
263281
"location": request.form.get("location", "").strip(),
264282
"tags": tags,
265283
}
284+
266285
logger.info(f"Calling LOGIC_UPDATE with id: {doc_id}")
267286
r = requests.request("PATCH", LOGIC_UPDATE, json=payload, timeout=30)
268287
logger.info(f"LOGIC_UPDATE status: {r.status_code}, response: {r.text[:200]}")
@@ -287,4 +306,4 @@ def health():
287306

288307
if __name__ == "__main__":
289308
port = int(os.environ.get("PORT", 5001))
290-
app.run(port=port)
309+
app.run(port=port)

0 commit comments

Comments
 (0)