TorbatYar/backend/services/experience/app/validators/analytics.py
Mortezakoohjani 203671a7bf feat(experience): ship Experience Platform phases 11.0-11.10
Add the experience service with sites through analytics/AI hooks, migrations through 0011, and phase docs/manifests marking the track complete.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 11:43:10 +03:30

21 lines
715 B
Python

"""Analytics boundary validation — Phase 11.10."""
from typing import Any
from app.validators.foundation import ValidationError
from app.validators.integrations import validate_json_object
def validate_metadata(value: Any) -> dict | None:
return validate_json_object(value, "metadata_json")
def validate_metric_keys(metric_keys: list[str]) -> list[str]:
if not metric_keys:
raise ValidationError(
"حداقل یک metric_key الزامی است",
{"field": "metric_keys"},
)
if not isinstance(metric_keys, list):
raise ValidationError("metric_keys باید آرایه باشد", {"field": "metric_keys"})
return metric_keys