From 67f7ba2a88ff5aec628a35beefb47810dae73f0a Mon Sep 17 00:00:00 2001
From: Kacper Donat <kadet1090@gmail.com>
Date: Wed, 12 Feb 2020 20:16:26 +0100
Subject: [PATCH] Remove unnecessary methods from LineRepository

---
 src/Provider/Database/DatabaseRepository.php    |  5 ++++-
 src/Provider/Database/GenericLineRepository.php | 17 +----------------
 src/Provider/FluentRepository.php               |  3 ++-
 src/Provider/LineRepository.php                 |  8 --------
 .../ZtmGdansk/ZtmGdanskDepartureRepository.php  |  4 +++-
 5 files changed, 10 insertions(+), 27 deletions(-)

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');