Completed
Push — master ( 5604b2...680217 )
by Mauro
02:57
created

TaskValidation::validateInputOnUpdateTask()   B

Complexity

Conditions 5
Paths 5

Size

Total Lines 16
Code Lines 10

Duplication

Lines 3
Ratio 18.75 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 3
loc 16
rs 8.8571
cc 5
eloc 10
nc 5
nop 2
1
<?php
2
3
namespace App\Validation;
4
5
use App\Exception\TaskException;
6
7
/**
8
 * Task Validation.
9
 */
10
abstract class TaskValidation extends BaseValidation
11
{
12
    /**
13
     * Validate and sanitize input data when create new task.
14
     *
15
     * @param array|object|null $input
16
     * @return array
17
     * @throws \Exception
18
     */
19
    public static function validateInputOnCreateTask($input)
20
    {
21
        if (empty($input['name'])) {
22
            throw new TaskException(TaskException::TASK_NAME_REQUIRED, 400);
23
        }
24
        $task = self::validateTaskName($input['name']);
25
        $status = 0;
26
        if (isset($input['status'])) {
27
            $status = self::validateStatus($input['status']);
28
        }
29
30
        return ['name' => $task, 'status' => $status];
31
    }
32
33
    /**
34
     * @param array|object|null $input
35
     * @param object $task
36
     * @return string
37
     */
38
    public static function validateNameOnUpdateTask($input, $task)
39
    {
40
        $name = $task->name;
41
        if (isset($input['name'])) {
42
            $name = self::validateTaskName($input['name']);
43
        }
44
45
        return $name;
46
    }
47
48
    /**
49
     * @param array|object|null $input
50
     * @param object $task
51
     * @return int
52
     */
53
    public static function validateStatusOnUpdateTask($input, $task)
54
    {
55
        $status = $task->status;
56
        if (isset($input['status'])) {
57
            $status = self::validateStatus($input['status']);
58
        }
59
60
        return $status;
61
    }
62
}
63