Fix domain reports and sources API 500 errors
- Use begin_timestamp/end_timestamp (Unix ints) instead of begin_date/end_date (ISO strings) when building ReportEntry, fixing Pydantic int_parsing errors - Extract policy string from dict (policy["p"]) when the stored value is a dict, fixing Pydantic string_type validation error - Rename _days -> days in ReportStore.get_domain_sources() so the endpoint's `days=days` keyword call no longer raises TypeError Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/15ac3521-e81f-42fa-81a2-f6804a423e1d Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
@@ -371,15 +371,18 @@ async def get_domain_reports(
|
||||
# Generate report entries
|
||||
report_entries = []
|
||||
for report in reports:
|
||||
policy_val = report.get("policy", "none")
|
||||
if isinstance(policy_val, dict):
|
||||
policy_val = policy_val.get("p", "none")
|
||||
report_entries.append(
|
||||
ReportEntry(
|
||||
id=report.get("report_id", "unknown"),
|
||||
org_name=report.get("org_name", "Unknown Organization"),
|
||||
begin_date=report.get("begin_date", 0),
|
||||
end_date=report.get("end_date", 0),
|
||||
begin_date=report.get("begin_timestamp", 0),
|
||||
end_date=report.get("end_timestamp", 0),
|
||||
total_emails=report.get("total_count", 0),
|
||||
pass_rate=report.get("pass_rate", 0.0),
|
||||
policy=report.get("policy", "none"),
|
||||
policy=policy_val,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user