Retain original bank statements for 24 hours
This commit is contained in:
@@ -16,7 +16,18 @@ from app.core.templating import templates
|
||||
from app.modules.core.rbac.deps import get_user_permissions, get_user_roles
|
||||
|
||||
from .parsers.registry import BANK_OPTIONS
|
||||
from .service import can_use, create_job_folder, delete_owned_job, enqueue_job, ensure_worker_started, get_owned_job, job_view, list_user_jobs, save_uploads
|
||||
from .service import (
|
||||
can_use,
|
||||
create_job_folder,
|
||||
delete_owned_job,
|
||||
enqueue_job,
|
||||
ensure_worker_started,
|
||||
get_owned_job,
|
||||
get_owned_original_statement,
|
||||
job_view,
|
||||
list_user_jobs,
|
||||
save_uploads,
|
||||
)
|
||||
|
||||
router = APIRouter(prefix="/tools/bank-statement-analyzer", tags=["bank-statement-analyzer-ui"])
|
||||
|
||||
@@ -186,6 +197,26 @@ def download(job_id: str, request: Request):
|
||||
db.close()
|
||||
|
||||
|
||||
@router.get("/jobs/{job_id}/statements/{file_index}/download")
|
||||
def download_original_statement(job_id: str, file_index: int, request: Request):
|
||||
db = CommonSessionLocal()
|
||||
try:
|
||||
user, roles, denied = _auth(request, db)
|
||||
if denied:
|
||||
return denied
|
||||
resolved = get_owned_original_statement(user.id, job_id, file_index)
|
||||
if not resolved:
|
||||
return not_found_response(request, "Original statement is unavailable or has expired.")
|
||||
_job, path = resolved
|
||||
return FileResponse(
|
||||
path=path,
|
||||
filename=path.name,
|
||||
media_type="application/pdf",
|
||||
)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
|
||||
@router.post("/jobs/{job_id}/delete")
|
||||
def delete(job_id: str, request: Request, csrf_token: str = Form(...)):
|
||||
db = CommonSessionLocal()
|
||||
|
||||
Reference in New Issue
Block a user