LikeDislikeRepository   A
last analyzed

Complexity

Total Complexity 9

Size/Duplication

Total Lines 112
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 9
c 1
b 0
f 0
lcom 0
cbo 1
dl 0
loc 112
ccs 25
cts 25
cp 1
rs 10

8 Methods

Rating   Name   Duplication   Size   Complexity  
A model() 0 4 1
A getLikesCount() 0 6 1
A getDislikesCount() 0 6 1
A getLikesAll() 0 6 1
A getDislikesAll() 0 6 1
A checkIfDataExists() 0 10 2
A getLikes() 0 6 1
A getDislikes() 0 6 1
1
<?php
2
3
namespace App\Repositories;
4
5
use App\LikeDislike;
6
use App\Repositories\Eloquent\Repository;
7
8
/**
9
 * Class LikeDislikeRepository.
10
 */
11
class LikeDislikeRepository extends Repository
12
{
13
    /**
14
     * @return mixed
15
     */
16 7
    public function model()
17
    {
18 7
        return LikeDislike::class;
19
    }
20
21
    /**
22
     * Get likes count.
23
     *
24
     * @param $video_id
25
     *
26
     * @return mixed
27
     */
28 1
    public function getLikesCount($video_id)
29
    {
30 1
        $video_likes = $this->getLikes($video_id);
31
32 1
        return $video_likes->count();
33
    }
34
35
    /**
36
     * Get dislikes count.
37
     *
38
     * @param $video_id
39
     *
40
     * @return mixed
41
     */
42 1
    public function getDislikesCount($video_id)
43
    {
44 1
        $video_dislikes = $this->getDislikes($video_id);
45
46 1
        return $video_dislikes->count();
47
    }
48
49
    /**
50
     * Get likes all camps.
51
     *
52
     * @param $video_id
53
     *
54
     * @return mixed
55
     */
56 3
    public function getLikesAll($video_id)
57
    {
58 3
        $video_likes = $this->getLikes($video_id);
59
60 3
        return $video_likes;
61
    }
62
63
    /**
64
     * Get dislikes all camps.
65
     *
66
     * @param $video_id
67
     *
68
     * @return mixed
69
     */
70 2
    public function getDislikesAll($video_id)
71
    {
72 2
        $video_dislikes = $this->getDislikes($video_id);
73
74 2
        return $video_dislikes;
75
    }
76
77
    /**
78
     * Check if database contains data.
79
     *
80
     * @param $data
81
     *
82
     * @return int
83
     */
84 3
    public function checkIfDataExists($data)
85
    {
86 3
        $like = LikeDislike::where('video_id', $data->input('video_id'))->where('user_id', $data->input('user_id'))->get();
87
88 3
        if (empty($like[0])) {
89 1
            return 0;
90
        } else {
91 2
            return $like[0]->id;
92
        }
93
    }
94
95
    /**
96
     * Get likes.
97
     *
98
     * @param $id
99
     *
100
     * @return mixed
101
     */
102 4
    private function getLikes($id)
103
    {
104 4
        $video = LikeDislike::where('video_id', $id)->get();
105
106 4
        return $video->where('type', 'like');
107
    }
108
109
    /**
110
     * Get dislikes.
111
     *
112
     * @param $id
113
     *
114
     * @return mixed
115
     */
116 3
    private function getDislikes($id)
117
    {
118 3
        $video = LikeDislike::where('video_id', $id)->get();
119
120 3
        return $video->where('type', 'dislike');
121
    }
122
}
123