fix: resolve test failures and update flake.nix for factur-x source distribution

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
m3tm3re
2026-02-04 21:08:08 +01:00
parent 3eddd66003
commit d585390289
6 changed files with 223 additions and 41 deletions

View File

@@ -4,6 +4,7 @@ import re
import time
from typing import Any
from pydantic import ValidationError
from src.models import (
ErrorDetail,
ValidateRequest,
@@ -275,7 +276,34 @@ def validate_invoice(request: ValidateRequest) -> ValidationResult:
validation_time_ms=0,
)
xml_data = XmlData(**request.xml_data)
try:
xml_data = XmlData(**request.xml_data)
except ValidationError as e:
# Convert Pydantic validation errors to ValidationResult
validation_errors = []
for error in e.errors():
validation_errors.append(
ErrorDetail(
check="schema_validation",
field=error["loc"][0] if error["loc"] else None,
error_code=error["type"],
message=error["msg"],
severity="critical",
)
)
return ValidationResult(
is_valid=False,
errors=validation_errors,
warnings=[],
summary={
"total_checks": 1,
"checks_passed": 0,
"checks_failed": 1,
"critical_errors": len(validation_errors),
"warnings": 0,
},
validation_time_ms=int((time.time() - start_time) * 1000),
)
# Run requested checks
for check_name in request.checks: