"""
External Service Models Package

Import all models to ensure they are registered with SQLAlchemy Base.
"""

# Import AuditLog model for this service
from shared.security import create_audit_log_model
from shared.database.base import Base

# Create audit log model for this service
AuditLog = create_audit_log_model(Base)

# Import all models to register them with the Base metadata
from .traffic import (
    TrafficData,
    TrafficMeasurementPoint,
    TrafficDataBackgroundJob,
)

from .weather import (
    WeatherData,
    WeatherForecast,
)

from .city_weather import CityWeatherData
from .city_traffic import CityTrafficData
from .calendar import SchoolCalendar, TenantLocationContext

# List all models for easier access
__all__ = [
    # Traffic models
    "TrafficData",
    "TrafficMeasurementPoint",
    "TrafficDataBackgroundJob",
    # Weather models
    "WeatherData",
    "WeatherForecast",
    # City-based models (new)
    "CityWeatherData",
    "CityTrafficData",
    # Calendar models (hyperlocal)
    "SchoolCalendar",
    "TenantLocationContext",
    "AuditLog",
]
