from abc import ABC, abstractmethod from typing import Optional from core.domain.optimization.Optimization import Optimization from core.domain.optimization.OptimizationVehicle import OptimizationVehicle from core.types.Id import Id class OptimizationVehicleRepo(ABC): @abstractmethod def getAll(self) -> list[OptimizationVehicle]: pass @abstractmethod def getAllByOptimizationId(self, optimizationId: Id[Optimization]) -> list[OptimizationVehicle]: pass @abstractmethod def get(self, id: Id[OptimizationVehicle]) -> Optional[OptimizationVehicle]: pass