Code Duplication    Length = 54-54 lines in 2 locations

src/SavedSearches/FixedSavedSearchRepository.php 1 location

@@ 17-70 (lines=54) @@
14
 * Class FixedSavedSearchRepository
15
 * @package CultuurNet\UDB3\SavedSearches
16
 */
17
class FixedSavedSearchRepository implements SavedSearchRepositoryInterface
18
{
19
    /**
20
     * @var \CultureFeed_User
21
     */
22
    private $user;
23
24
    /**
25
     * @var CreatedByQueryMode
26
     */
27
    protected $createdByQueryMode;
28
29
    /**
30
     * @param \CultureFeed_User $user
31
     * @param CreatedByQueryMode $createdByQueryMode
32
     */
33
    public function __construct(
34
        \CultureFeed_User $user,
35
        CreatedByQueryMode $createdByQueryMode
36
    ) {
37
        $this->user = $user;
38
        $this->createdByQueryMode = $createdByQueryMode;
39
    }
40
41
    /**
42
     * @return SavedSearch[]
43
     */
44
    public function ownedByCurrentUser(): array
45
    {
46
        $name = new StringLiteral('Door mij ingevoerd');
47
48
        switch ($this->createdByQueryMode->toNative()) {
49
            case CreatedByQueryMode::EMAIL:
50
                $createdByQueryString = new CreatedByQueryString(
51
                    $this->user->mbox
52
                );
53
                break;
54
            case CreatedByQueryMode::MIXED:
55
                $createdByQueryString = new CreatedByQueryString(
56
                    $this->user->mbox,
57
                    $this->user->id
58
                );
59
                break;
60
            default:
61
                $createdByQueryString = new CreatedByQueryString(
62
                    $this->user->id
63
                );
64
        }
65
66
        return [
67
            new SavedSearch($name, $createdByQueryString)
68
        ];
69
    }
70
}
71

src/SavedSearches/Sapi3FixedSavedSearchRepository.php 1 location

@@ 17-70 (lines=54) @@
14
 * Class FixedSavedSearchRepository
15
 * @package CultuurNet\UDB3\SavedSearches
16
 */
17
class Sapi3FixedSavedSearchRepository implements SavedSearchRepositoryInterface
18
{
19
    /**
20
     * @var \CultureFeed_User
21
     */
22
    private $user;
23
24
    /**
25
     * @var CreatedByQueryMode
26
     */
27
    protected $createdByQueryMode;
28
29
    /**
30
     * @param \CultureFeed_User $user
31
     * @param CreatedByQueryMode $createdByQueryMode
32
     */
33
    public function __construct(
34
        \CultureFeed_User $user,
35
        CreatedByQueryMode $createdByQueryMode
36
    ) {
37
        $this->user = $user;
38
        $this->createdByQueryMode = $createdByQueryMode;
39
    }
40
41
    /**
42
     * @return SavedSearch[]
43
     */
44
    public function ownedByCurrentUser(): array
45
    {
46
        $name = new StringLiteral('Door mij ingevoerd');
47
48
        switch ($this->createdByQueryMode->toNative()) {
49
            case CreatedByQueryMode::EMAIL:
50
                $createdByQueryString = new CreatorQueryString(
51
                    $this->user->mbox
52
                );
53
                break;
54
            case CreatedByQueryMode::MIXED:
55
                $createdByQueryString = new CreatorQueryString(
56
                    $this->user->mbox,
57
                    $this->user->id
58
                );
59
                break;
60
            default:
61
                $createdByQueryString = new CreatorQueryString(
62
                    $this->user->id
63
                );
64
        }
65
66
        return [
67
            new SavedSearch($name, $createdByQueryString)
68
        ];
69
    }
70
}
71