/**
 * route-state.repository.ts
 * Guarda el estado operativo actual de cada ruta:
 * - en qué positionId va el camión
 * - cuál fue la última ETA calculada
 * - cuándo fue la última actualización
 *
 * Esto vive en memoria para el MVP. Más adelante se puede mover a Redis.
 */

import type { EtaResult } from "../use-cases/notifications/calculate-eta.use-case.js";

export interface RouteState {
  routeId: string;
  currentPositionId: number;
  eta: EtaResult;
  status: string;
  updatedAt: string;
}

export interface RouteStateRepository {
  get(routeId: string): Promise<RouteState | null>;
  set(state: RouteState): Promise<void>;
  getAll(): Promise<RouteState[]>;
}
