feat(backend): add FastAPI backend — procurement, inventory domain, Casdoor auth, PM arrival endpoints
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
"""JSON-safe serialization helpers (contract: ISO 8601 UTC with `Z`)."""
|
||||
from datetime import date, datetime, timezone
|
||||
|
||||
|
||||
def to_iso(value: datetime | None) -> str | None:
|
||||
"""Timestamptz -> '2026-08-02T10:00:00Z' (UTC). Naive values are treated as UTC."""
|
||||
if value is None:
|
||||
return None
|
||||
if value.tzinfo is None:
|
||||
value = value.replace(tzinfo=timezone.utc)
|
||||
return value.astimezone(timezone.utc).isoformat().replace("+00:00", "Z")
|
||||
|
||||
|
||||
def to_date(value: date | None) -> str | None:
|
||||
"""Date -> 'YYYY-MM-DD'."""
|
||||
return value.isoformat() if value is not None else None
|
||||
Reference in New Issue
Block a user