Completed
Push — master ( 609278...8dc5cd )
by Mauro
02:19
created

TaskRepository   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 59
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 8
c 1
b 0
f 0
lcom 1
cbo 1
dl 0
loc 59
rs 10

8 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getTasks() 0 8 1
A getTaskQuery() 0 4 1
A getTasksQuery() 0 4 1
A searchTasksQuery() 0 4 1
A createTaskQuery() 0 4 1
A updateTaskQuery() 0 4 1
A deleteTaskQuery() 0 4 1
1
<?php
2
3
namespace App\Repository;
4
5
/**
6
 * Tasks Repository.
7
 */
8
class TaskRepository extends BaseRepository
9
{
10
    /**
11
     * @param object $database
12
     */
13
    public function __construct(\PDO $database = null)
14
    {
15
        $this->database = $database;
16
    }
17
18
    /**
19
     * Get all tasks.
20
     *
21
     * @return array
22
     */
23
    public function getTasks()
24
    {
25
        $query = $this->getTasksQuery();
26
        $statement = $this->database->prepare($query);
27
        $statement->execute();
28
29
        return $statement->fetchAll();
30
    }
31
32
    /**
33
     * Get Task Sql Query.
34
     *
35
     * @return string
36
     */
37
    public function getTaskQuery()
38
    {
39
        return 'SELECT * FROM tasks WHERE id=:id';
40
    }
41
42
    public function getTasksQuery()
43
    {
44
        return 'SELECT * FROM tasks ORDER BY task';
45
    }
46
47
    public function searchTasksQuery()
48
    {
49
        return 'SELECT * FROM tasks WHERE UPPER(task) LIKE :query ORDER BY task';
50
    }
51
52
    public function createTaskQuery()
53
    {
54
        return 'INSERT INTO tasks (task, status) VALUES (:task, :status)';
55
    }
56
57
    public function updateTaskQuery()
58
    {
59
        return 'UPDATE tasks SET task=:task, status=:status WHERE id=:id';
60
    }
61
62
    public function deleteTaskQuery()
63
    {
64
        return 'DELETE FROM tasks WHERE id=:id';
65
    }
66
}
67