CategoriesPolicy::updatePolicy()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 0
cts 2
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 2
1
<?php namespace Arcanesoft\Blog\Policies;
2
3
use Arcanesoft\Contracts\Auth\Models\User;
4
use Arcanesoft\Core\Bases\Policy;
5
6
/**
7
 * Class     CategoriesPolicy
8
 *
9
 * @package  Arcanesoft\Blog\Policies
10
 * @author   ARCANEDEV <[email protected]>
11
 */
12
class CategoriesPolicy extends Policy
13
{
14
    /* -----------------------------------------------------------------
15
     |  Constants
16
     | -----------------------------------------------------------------
17
     */
18
19
    const PERMISSION_LIST   = 'blog.categories.list';
20
    const PERMISSION_SHOW   = 'blog.categories.show';
21
    const PERMISSION_CREATE = 'blog.categories.create';
22
    const PERMISSION_UPDATE = 'blog.categories.update';
23
    const PERMISSION_DELETE = 'blog.categories.delete';
24
25
    /* -----------------------------------------------------------------
26
     |  Abilities
27
     | -----------------------------------------------------------------
28
     */
29
30
    /**
31
     * Allow to list all the categories.
32
     *
33
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
34
     *
35
     * @return bool
36
     */
37
    public function listPolicy(User $user)
38
    {
39
        return $user->may(static::PERMISSION_LIST);
40
    }
41
42
    /**
43
     * Allow to show a category details.
44
     *
45
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
46
     *
47
     * @return bool
48
     */
49
    public function showPolicy(User $user)
50
    {
51
        return $user->may(static::PERMISSION_SHOW);
52
    }
53
54
    /**
55
     * Allow to create a category.
56
     *
57
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
58
     *
59
     * @return bool
60
     */
61
    public function createPolicy(User $user)
62
    {
63
        return $user->may(static::PERMISSION_CREATE);
64
    }
65
66
    /**
67
     * Allow to update a category.
68
     *
69
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
70
     *
71
     * @return bool
72
     */
73
    public function updatePolicy(User $user)
74
    {
75
        return $user->may(static::PERMISSION_UPDATE);
76
    }
77
78
    /**
79
     * Allow to delete a category.
80
     *
81
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
82
     *
83
     * @return bool
84
     */
85
    public function deletePolicy(User $user)
86
    {
87
        return $user->may(static::PERMISSION_DELETE);
88
    }
89
}
90