33 lines
857 B
Python
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
|