diff --git a/src/Provider/Database/DatabaseRepository.php b/src/Provider/Database/DatabaseRepository.php index 4f4dce3..bcc596b 100644 --- a/src/Provider/Database/DatabaseRepository.php +++ b/src/Provider/Database/DatabaseRepository.php @@ -96,7 +96,10 @@ abstract class DatabaseRepository implements ServiceSubscriberInterface, Reposit * * @return array */ - protected abstract static function getHandlers(); + protected static function getHandlers() + { + return []; + } /** * @inheritDoc diff --git a/src/Provider/Database/GenericLineRepository.php b/src/Provider/Database/GenericLineRepository.php index 6982cb1..244b8e0 100644 --- a/src/Provider/Database/GenericLineRepository.php +++ b/src/Provider/Database/GenericLineRepository.php @@ -17,27 +17,12 @@ use Kadet\Functional as f; class GenericLineRepository extends DatabaseRepository implements LineRepository { - public function getAll(): Collection - { - return $this->all(); - } - - public function getById($id): ?Line - { - return $this->first(new IdFilter($id)); - } - - public function getManyById($ids): Collection - { - return $this->all(new IdFilter($ids)); - } - public function first(Modifier ...$modifiers) { return $this->all(Limit::count(1), ...$modifiers)->first(); } - public function all(Modifier ...$modifiers) + public function all(Modifier ...$modifiers): Collection { $builder = $this->em ->createQueryBuilder() diff --git a/src/Provider/FluentRepository.php b/src/Provider/FluentRepository.php index e24545d..d0644fe 100644 --- a/src/Provider/FluentRepository.php +++ b/src/Provider/FluentRepository.php @@ -3,9 +3,10 @@ namespace App\Provider; use App\Modifiers\Modifier; +use Tightenco\Collect\Support\Collection; interface FluentRepository extends Repository { public function first(Modifier ...$modifiers); - public function all(Modifier ...$modifiers); + public function all(Modifier ...$modifiers): Collection; } diff --git a/src/Provider/LineRepository.php b/src/Provider/LineRepository.php index 80bebbd..2ab6884 100644 --- a/src/Provider/LineRepository.php +++ b/src/Provider/LineRepository.php @@ -3,14 +3,6 @@ namespace App\Provider; - -use App\Model\Line; -use Tightenco\Collect\Support\Collection; - interface LineRepository extends FluentRepository { - public function getAll(): Collection; - - public function getById($id): ?Line; - public function getManyById($ids): Collection; } diff --git a/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php b/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php index 0e956bd..165e571 100644 --- a/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php +++ b/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php @@ -6,6 +6,7 @@ use App\Model\Departure; use App\Model\Line; use App\Model\Stop; use App\Model\Vehicle; +use App\Modifiers\IdFilter; use App\Provider\Database\GenericScheduleRepository; use App\Provider\DepartureRepository; use App\Provider\LineRepository; @@ -65,7 +66,8 @@ class ZtmGdanskDepartureRepository implements DepartureRepository $lines = $estimates->map(function ($delay) { return $delay['routeId']; })->unique(); - $lines = $this->lines->getManyById($lines)->keyBy(t\property('id')); + + $lines = $this->lines->all(new IdFilter($lines))->keyBy(t\property('id')); return collect($estimates)->map(function ($delay) use ($stop, $lines) { $scheduled = (new Carbon($delay['theoreticalTime'], 'Europe/Warsaw'))->tz('UTC');