-
Notifications
You must be signed in to change notification settings - Fork 0
/
TaskPermissionSeeder.php
33 lines (28 loc) · 1.03 KB
/
TaskPermissionSeeder.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
namespace EscolaLms\Tasks\Database\Seeders;
use EscolaLms\Tasks\Enums\TaskPermissionEnum;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class TaskPermissionSeeder extends Seeder
{
public function run()
{
$admin = Role::findOrCreate('admin', 'api');
$student = Role::findOrCreate('student', 'api');
foreach (TaskPermissionEnum::asArray() as $const => $value) {
Permission::findOrCreate($value, 'api');
}
$admin->givePermissionTo(TaskPermissionEnum::asArray());
$student->givePermissionTo([
TaskPermissionEnum::CREATE_OWN_TASK,
TaskPermissionEnum::UPDATE_OWN_TASK,
TaskPermissionEnum::DELETE_OWN_TASK,
TaskPermissionEnum::LIST_OWN_TASK,
TaskPermissionEnum::FIND_OWN_TASK,
TaskPermissionEnum::CREATE_OWN_TASK_NOTE,
TaskPermissionEnum::UPDATE_OWN_TASK_NOTE,
TaskPermissionEnum::DELETE_OWN_TASK_NOTE,
]);
}
}