mirror of
https://github.com/tiennm99/DocsGPT.git
synced 2026-10-20 02:16:39 +00:00
Answer 404 when a wiki settings change finds no row to update
This commit is contained in:
1 parent
c66afd6b30
commit
91e70d2f0c
2 files changed
+19
-4
No files matched your search
@@ -1091,8 +1091,8 @@ class WikiSettings(Resource):
|
|||||||
|
|
||||||
@api.doc(
|
@api.doc(
|
||||||
description="Change a wiki's settings (owner only, manage_settings). "
|
description="Change a wiki's settings (owner only, manage_settings). "
|
||||||
"Body: {\"allow_outside_edits\": bool}: whether runs from the agent's "
|
"Body: {\"allow_outside_edits\": bool}: whether runs from an agent's "
|
||||||
"API key, widget or public link may edit the wiki."
|
"API key or widget may edit the wiki."
|
||||||
)
|
)
|
||||||
def put(self, source_id):
|
def put(self, source_id):
|
||||||
decoded_token = request.decoded_token
|
decoded_token = request.decoded_token
|
||||||
@@ -1118,9 +1118,12 @@ class WikiSettings(Resource):
|
|||||||
return make_response(
|
return make_response(
|
||||||
jsonify({"success": False, "message": "Source is not a wiki"}), 400
|
jsonify({"success": False, "message": "Source is not a wiki"}), 400
|
||||||
)
|
)
|
||||||
SourcesRepository(conn).set_wiki_outside_edits(
|
if not SourcesRepository(conn).set_wiki_outside_edits(
|
||||||
str(doc["id"]), ra.owner_id, allowed
|
str(doc["id"]), ra.owner_id, allowed
|
||||||
)
|
):
|
||||||
|
return make_response(
|
||||||
|
jsonify({"success": False, "message": "Source not found"}), 404
|
||||||
|
)
|
||||||
record_event(
|
record_event(
|
||||||
conn,
|
conn,
|
||||||
"source.wiki_settings_updated",
|
"source.wiki_settings_updated",
|
||||||
|
|||||||
@@ -705,3 +705,15 @@ class TestWikiSettings:
|
|||||||
)
|
)
|
||||||
assert response.status_code == 400
|
assert response.status_code == 400
|
||||||
assert self._stored(pg_conn, sid) is False
|
assert self._stored(pg_conn, sid) is False
|
||||||
|
|
||||||
|
def test_no_row_updated_is_404(self, app, pg_conn):
|
||||||
|
sid = self._wiki(pg_conn, "alice-ws-gone")
|
||||||
|
with patch(
|
||||||
|
"docsgpt.storage.db.repositories.sources.SourcesRepository.set_wiki_outside_edits",
|
||||||
|
return_value=False,
|
||||||
|
):
|
||||||
|
response = _settings_call(
|
||||||
|
app, pg_conn, sid, "alice-ws-gone", "PUT", {"allow_outside_edits": True}
|
||||||
|
)
|
||||||
|
assert response.status_code == 404
|
||||||
|
assert response.json["success"] is False
|
||||||
Reference in new issue
Block a user