changes
This commit is contained in:
@@ -579,7 +579,7 @@ async def generate_qdro_document(
|
||||
"MATTER": file_obj.regarding,
|
||||
})
|
||||
# Merge with provided context
|
||||
context = build_context({**base_ctx, **(payload.context or {})})
|
||||
context = build_context({**base_ctx, **(payload.context or {})}, "file", qdro.file_no)
|
||||
resolved, unresolved = resolve_tokens(db, tokens, context)
|
||||
|
||||
output_bytes = content
|
||||
@@ -591,7 +591,21 @@ async def generate_qdro_document(
|
||||
audit_service.log_action(db, action="GENERATE", resource_type="QDRO", user=current_user, resource_id=qdro_id, details={"template_id": payload.template_id, "version_id": version_id, "unresolved": unresolved})
|
||||
except Exception:
|
||||
pass
|
||||
return GenerateResponse(resolved=resolved, unresolved=unresolved, output_mime_type=output_mime, output_size=len(output_bytes))
|
||||
# Sanitize resolved values to ensure JSON-serializable output
|
||||
def _json_sanitize(value: Any) -> Any:
|
||||
if value is None or isinstance(value, (str, int, float, bool)):
|
||||
return value
|
||||
if isinstance(value, (date, datetime)):
|
||||
return value.isoformat()
|
||||
if isinstance(value, (list, tuple)):
|
||||
return [_json_sanitize(v) for v in value]
|
||||
if isinstance(value, dict):
|
||||
return {k: _json_sanitize(v) for k, v in value.items()}
|
||||
# Fallback: stringify unsupported types (e.g., functions)
|
||||
return str(value)
|
||||
|
||||
sanitized_resolved = {k: _json_sanitize(v) for k, v in resolved.items()}
|
||||
return GenerateResponse(resolved=sanitized_resolved, unresolved=unresolved, output_mime_type=output_mime, output_size=len(output_bytes))
|
||||
|
||||
|
||||
class PlanInfoCreate(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user