Completed
Push — master ( 95b578...ad32a5 )
by ARCANEDEV
03:18
created

PermissionsTableSeeder::getDashboardPermissions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 10
ccs 0
cts 10
cp 0
rs 9.4285
cc 1
eloc 5
nc 1
nop 0
crap 2
1
<?php namespace Arcanesoft\Blog\Seeds;
2
3
use Arcanesoft\Auth\Seeds\PermissionsSeeder;
4
use Arcanesoft\Blog\Policies\CategoriesPolicy;
5
use Arcanesoft\Blog\Policies\DashboardPolicy;
6
use Arcanesoft\Blog\Policies\PostsPolicy;
7
use Arcanesoft\Blog\Policies\TagsPolicy;
8
9
/**
10
 * Class     PermissionsTableSeeder
11
 *
12
 * @package  Arcanesoft\Blog\Seeds
13
 * @author   ARCANEDEV <[email protected]>
14
 */
15
class PermissionsTableSeeder extends PermissionsSeeder
16
{
17
    /* -----------------------------------------------------------------
18
     |  Main Methods
19
     | -----------------------------------------------------------------
20
     */
21
22
    /**
23
     * Run the database seeds.
24
     */
25
    public function run()
26
    {
27
        $this->seed([
28
            [
29
                'group'       => [
30
                    'name'        => 'Blog',
31
                    'slug'        => 'blog',
32
                    'description' => 'Blog permissions group',
33
                ],
34
                'permissions' => array_merge(
35
                    $this->getDashboardPermissions(),
36
                    $this->getPostsPermissions(),
37
                    $this->getCategoriesPermissions(),
38
                    $this->getTagsPermissions()
39
                ),
40
            ],
41
        ]);
42
    }
43
44
    /* -----------------------------------------------------------------
45
     |  Other Methods
46
     | -----------------------------------------------------------------
47
     */
48
49
    /**
50
     * Get the dashboard permissions
51
     *
52
     * @return array
53
     */
54
    private function getDashboardPermissions()
55
    {
56
        return [
57
            [
58
                'name'        => 'Statistics - Show all the stats',
59
                'description' => 'Show all the blog stats.',
60
                'slug'        => DashboardPolicy::PERMISSION_STATS,
61
            ],
62
        ];
63
    }
64
65
    /**
66
     * Get the Posts permissions.
67
     *
68
     * @return array
69
     */
70
    private function getPostsPermissions()
71
    {
72
        return [
73
            [
74
                'name'        => 'Posts - List all posts',
75
                'description' => 'Allow to list all posts.',
76
                'slug'        => PostsPolicy::PERMISSION_LIST,
77
            ],
78
            [
79
                'name'        => 'Posts - View a post',
80
                'description' => 'Allow to display a post.',
81
                'slug'        => PostsPolicy::PERMISSION_SHOW,
82
            ],
83
            [
84
                'name'        => 'Posts - Create a post',
85
                'description' => 'Allow to create a post.',
86
                'slug'        => PostsPolicy::PERMISSION_CREATE,
87
            ],
88
            [
89
                'name'        => 'Posts - Update a post',
90
                'description' => 'Allow to update a post.',
91
                'slug'        => PostsPolicy::PERMISSION_UPDATE,
92
            ],
93
            [
94
                'name'        => 'Posts - Delete a post',
95
                'description' => 'Allow to delete a post.',
96
                'slug'        => PostsPolicy::PERMISSION_DELETE,
97
            ],
98
        ];
99
    }
100
101
    /**
102
     * Get the Categories permissions.
103
     *
104
     * @return array
105
     */
106
    private function getCategoriesPermissions()
107
    {
108
        return [
109
            [
110
                'name'        => 'Categories - List all categories',
111
                'description' => 'Allow to list all categories.',
112
                'slug'        => CategoriesPolicy::PERMISSION_LIST,
113
            ],
114
            [
115
                'name'        => 'Categories - View a category',
116
                'description' => 'Allow to display a category.',
117
                'slug'        => CategoriesPolicy::PERMISSION_SHOW,
118
            ],
119
            [
120
                'name'        => 'Categories - Create a category',
121
                'description' => 'Allow to create a category.',
122
                'slug'        => CategoriesPolicy::PERMISSION_CREATE,
123
            ],
124
            [
125
                'name'        => 'Categories - Update a category',
126
                'description' => 'Allow to update a category.',
127
                'slug'        => CategoriesPolicy::PERMISSION_UPDATE,
128
            ],
129
            [
130
                'name'        => 'Categories - Delete a category',
131
                'description' => 'Allow to delete a category.',
132
                'slug'        => CategoriesPolicy::PERMISSION_DELETE,
133
            ],
134
        ];
135
    }
136
137
    /**
138
     * Get the Tags permissions.
139
     *
140
     * @return array
141
     */
142
    private function getTagsPermissions()
143
    {
144
        return [
145
            [
146
                'name'        => 'Tags - List all tags',
147
                'description' => 'Allow to list all tags.',
148
                'slug'        => TagsPolicy::PERMISSION_LIST,
149
            ],
150
            [
151
                'name'        => 'Tags - View a tag',
152
                'description' => 'Allow to display a tag.',
153
                'slug'        => TagsPolicy::PERMISSION_SHOW,
154
            ],
155
            [
156
                'name'        => 'Tags - Create a tag',
157
                'description' => 'Allow to create a tag.',
158
                'slug'        => TagsPolicy::PERMISSION_CREATE,
159
            ],
160
            [
161
                'name'        => 'Tags - Update a tag',
162
                'description' => 'Allow to update a tag.',
163
                'slug'        => TagsPolicy::PERMISSION_UPDATE,
164
            ],
165
            [
166
                'name'        => 'Tags - Delete a tag',
167
                'description' => 'Allow to delete a tag.',
168
                'slug'        => TagsPolicy::PERMISSION_DELETE,
169
            ],
170
        ];
171
    }
172
}
173