forked from grokability/snipe-it
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPredefinedFilterPermissionSeeder.php
More file actions
61 lines (51 loc) · 1.66 KB
/
PredefinedFilterPermissionSeeder.php
File metadata and controls
61 lines (51 loc) · 1.66 KB
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
namespace Database\Seeders;
use App\Models\PredefinedFilter;
use App\Models\PredefinedFilterPermission;
use Exception;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\User;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Support\Facades\Hash;
use Log;
class PredefinedFilterPermissionSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
PredefinedFilterPermission::query()->delete();
$userToDelete = User::where("email","predefinedfilters@permission.com")->first();
if ($userToDelete) {
$userToDelete->delete();
}
$user = User::firstOrCreate(
['email'=> 'predefined@filter.com'],
[
'activated' => 1,
'first_name' => 'Filter',
'last_name'=> 'Permission',
'username' => 'filterPermission',
'email'=> 'predefinedfilters@permission.com',
'password'=> Hash::make('1234567890'),
'permissions' => '{"superuser":"1"}',
]);
if (!$user instanceof User) {
throw new Exception('user could not be created.. seeder aborting..');
}
$filters = PredefinedFilter::limit(3)->get();
try {
foreach ($filters as $filter) {
PredefinedFilterPermission::create([
'predefined_filter_id' => $filter->id,
'permission_group_id' => 1,
'created_by' => $user->id,
]);
}
}catch (\Exception $e) {
Log::debug($e);
}
}
}