"""Tracking validators — Phase 10.7.""" from __future__ import annotations from shared.exceptions import AppError def validate_coordinates(*, latitude: float, longitude: float) -> None: if not (-90 <= latitude <= 90): raise AppError( "عرض جغرافیایی نامعتبر است", status_code=422, error_code="invalid_latitude", ) if not (-180 <= longitude <= 180): raise AppError( "طول جغرافیایی نامعتبر است", status_code=422, error_code="invalid_longitude", ) def validate_pod_refs( *, signature_file_ref: str | None, photo_file_ref: str | None ) -> None: if not signature_file_ref and not photo_file_ref: raise AppError( "حداقل یک مرجع فایل برای اثبات تحویل الزامی است", status_code=422, error_code="pod_file_ref_required", )