Admiral/admiral-worker/core/repos/OptimizationResultRepo.py
2025-06-24 14:22:50 +02:00

33 lines
857 B
Python

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