Files
eventify_backend/utils/errors_json_convertor.py

47 lines
1.2 KiB
Python

def simplify_errors(error_response):
"""
Convert nested 'errors' dict like:
{
"errors": {
"__all__": ["Invalid credentials."]
}
}
into:
{
"errors": "Invalid credentials."
}
"""
errors = error_response.get("errors", {})
# Collect all messages into a flat list
messages = []
if isinstance(errors, dict):
for field_errors in errors.values():
if isinstance(field_errors, (list, tuple)):
messages.extend(str(msg) for msg in field_errors)
else:
messages.append(str(field_errors))
else:
# If 'errors' is not a dict, just stringify it
messages.append(str(errors))
# Join multiple messages if needed
combined = " ".join(messages).strip()
return {"errors": combined}
def simplify_form_errors(form):
"""
Flatten Django form.errors into a single 'errors' string.
"""
errors = form.errors # ErrorDict
messages = []
for field_errors in errors.values():
# field_errors is usually an ErrorList (list-like)
for msg in field_errors:
messages.append(str(msg))
combined = " ".join(messages).strip()
return {"errors": combined}