This repository has been archived by the owner on Feb 19, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
seeds.stub
100 lines (80 loc) · 3 KB
/
seeds.stub
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
use Illuminate\Database\Seeder;
class VaultTableSeeder extends Seeder {
public function run() {
DB::statement('SET FOREIGN_KEY_CHECKS=0;');
//Add the master administrator, user id of 1
DB::table(Config::get('auth.table'))->truncate();
$user = array(
'name' => 'Admin Istrator',
'email' => 'admin@admin.com',
'password' => Hash::make('1234'),
'created_at' => Carbon\Carbon::now(),
'updated_at' => Carbon\Carbon::now()
);
DB::table(Config::get('auth.table'))->insert($user);
$user = array(
'name' => 'Default User',
'email' => 'user@user.com',
'password' => Hash::make('1234'),
'created_at' => Carbon\Carbon::now(),
'updated_at' => Carbon\Carbon::now()
);
DB::table(Config::get('auth.table'))->insert($user);
//Add the master administrator, user id of 1
DB::table(Config::get('vault.roles_table'))->truncate();
DB::table(Config::get('vault.assigned_roles_table'))->truncate();
//Create admin role, id of 1
$role_model = Config::get('vault.role');
$admin = new $role_model;
$admin->name = 'Administrator';
$admin->created_at = \Carbon\Carbon::now();
$admin->updated_at = \Carbon\Carbon::now();
$admin->save();
//Make first user admin, attaches to user with id of 1
$user_model = Config::get('auth.model');
$user_model::first()->attachRole($admin);
//id = 2
$user = new $role_model;
$user->name = 'User';
$user->created_at = \Carbon\Carbon::now();
$user->updated_at = \Carbon\Carbon::now();
$user->save();
$user_model = Config::get('auth.model');
$user_model::find(2)->attachRole($user);
DB::table(Config::get('vault.permissions_table'))->truncate();
DB::table(Config::get('vault.permission_role_table'))->truncate();
$permission_model = Config::get('vault.permission');
$viewAdminLink = new $permission_model;
$viewAdminLink->name = 'view_admin_link';
$viewAdminLink->display_name = 'View Administrator Link';
$viewAdminLink->system = true;
$viewAdminLink->created_at = \Carbon\Carbon::now();
$viewAdminLink->updated_at = \Carbon\Carbon::now();
$viewAdminLink->save();
//Find the first role (admin) give it all permissions
$role_model = Config::get('vault.role');
$admin = $role_model::first();
$admin->permissions()->sync(
[
$viewAdminLink->id,
]
);
$permission_model = Config::get('vault.permission');
$userOnlyPermission = new $permission_model;
$userOnlyPermission->name = 'user_only_permission';
$userOnlyPermission->display_name = 'Test User Only Permission';
$userOnlyPermission->system = false;
$userOnlyPermission->created_at = \Carbon\Carbon::now();
$userOnlyPermission->updated_at = \Carbon\Carbon::now();
$userOnlyPermission->save();
$user_model = Config::get('auth.model');
$user = $user_model::find(2);
$user->permissions()->sync(
[
$userOnlyPermission->id,
]
);
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
}
}