🐛(backend) Forbid restoring a non-deleted document

Catch RuntimeError raised by Document.restore() and translate it into a
DRF ValidationError so callers get a 400 instead of a 500, when trying
to restore a non-deleted document.
    
Signed-off-by: Mohamed El Amine BOUKERFA <boukerfa.ma@gmail.com>
This commit is contained in:
Mohamed El Amine BOUKERFA
2026-04-28 14:53:30 +00:00
committed by GitHub
parent ed663f2e1e
commit cfd1fd00da
3 changed files with 24 additions and 1 deletions
+4 -1
View File
@@ -996,7 +996,10 @@ class DocumentViewSet(
Restore a soft-deleted document if it was deleted less than x days ago.
"""
document = self.get_object()
document.restore()
try:
document.restore()
except RuntimeError as err:
raise drf.exceptions.ValidationError({"detail": str(err)}) from err
return drf_response.Response(
{"detail": "Document has been successfully restored."},