Completed
Pull Request — master (#39)
by
unknown
02:27
created

ArticleRepository::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 5
rs 9.4285
cc 1
eloc 3
nc 1
nop 2
1
<?php
2
namespace Admin\Model\Repository;
3
4
use Admin\Model\Entity\ArticleEntity;
5
use Admin\Model\Storage\ArticleStorageInterface;
6
7
class ArticleRepository implements ArticleRepositoryInterface
8
{
9
    /**
10
     * @var ArticleStorageInterface
11
     */
12
    private $articleStorage;
13
14
    /**
15
     * @var \DateTime
16
     */
17
    private $dateTime;
18
19
    /**
20
     * ArticleRepository constructor.
21
     *
22
     * @param ArticleStorageInterface $articleStorage
23
     * @param \DateTime $dateTime
24
     */
25
    public function __construct(ArticleStorageInterface $articleStorage, \DateTime $dateTime)
26
    {
27
        $this->articleStorage = $articleStorage;
28
        $this->dateTime = $dateTime;
29
    }
30
31
    /**
32
     * @param array $params
33
     *
34
     * @return \Zend\Db\ResultSet\ResultSetInterface
35
     */
36
    public function fetchAllArticles($params = array()) : \Zend\Db\ResultSet\ResultSetInterface
37
    {
38
        return $this->articleStorage->fetchAll($params);
39
    }
40
41
    /**
42
     * @param string $articleUuid
43
     * @return ArticleEntity
44
     */
45
    public function fetchSingleArticle($articleUuid) : ArticleEntity
46
    {
47
        return $this->articleStorage->fetchOne($articleUuid);
48
    }
49
50
    /**
51
     * Saves article to repository.
52
     *
53
     * @param ArticleEntity $article
54
     *
55
     * @return bool
56
     */
57
    public function createArticle(ArticleEntity $article)
58
    {
59
            return $this->articleStorage->create($article);
60
    }
61
62
    /**
63
     *
64
     * @param ArticleEntity $article
65
     *
66
     * @return bool
67
     */
68
    public function updateArticle(ArticleEntity $article)
69
    {
70
        return $this->articleStorage->update($article);
71
    }
72
73
    public function deleteArticle(ArticleEntity $article)
74
    {
75
        return $this->articleStorage->delete(['article_uuid' => $article->getArticle_uuid()]);
76
    }
77
78
}