From c81421d34082b1fabb563af0bf3e46141d916e03 Mon Sep 17 00:00:00 2001 From: Yongteng Lei Date: Wed, 24 Dec 2025 16:13:50 +0800 Subject: [PATCH] Feat: add document metadata setting (#12156) ### What problem does this PR solve? Add document metadata setting. ### Type of change - [x] New Feature (non-breaking change which adds functionality) Co-authored-by: Jin Hai --- api/apps/document_app.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/api/apps/document_app.py b/api/apps/document_app.py index 723e909ec..482270f3b 100644 --- a/api/apps/document_app.py +++ b/api/apps/document_app.py @@ -447,6 +447,26 @@ async def metadata_update(): return get_json_result(data={"updated": updated, "matched_docs": len(target_doc_ids)}) +@manager.route("/update_metadata_setting", methods=["POST"]) # noqa: F821 +@login_required +@validate_request("doc_id", "metadata") +async def update_metadata_setting(): + req = await get_request_json() + if not DocumentService.accessible(req["doc_id"], current_user.id): + return get_json_result(data=False, message="No authorization.", code=RetCode.AUTHENTICATION_ERROR) + + e, doc = DocumentService.get_by_id(req["doc_id"]) + if not e: + return get_data_error_result(message="Document not found!") + + DocumentService.update_parser_config(doc.id, {"metadata": req["metadata"]}) + e, doc = DocumentService.get_by_id(doc.id) + if not e: + return get_data_error_result(message="Document not found!") + + return get_json_result(data=doc.to_dict()) + + @manager.route("/thumbnails", methods=["GET"]) # noqa: F821 # @login_required def thumbnails():