DefaultUsersTableSeeder::run()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 37
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 21
dl 0
loc 37
rs 9.584
c 0
b 0
f 0
cc 4
nc 4
nop 0
1
<?php
2
3
namespace jeremykenedy\LaravelRoles\Database\Seeders;
4
5
use Illuminate\Database\Seeder;
6
7
class DefaultUsersTableSeeder extends Seeder
8
{
9
    /**
10
     * Run the database seeds.
11
     *
12
     * @return void
13
     */
14
    public function run()
15
    {
16
        $userRole = config('roles.models.role')::where('name', '=', 'User')->first();
17
        $adminRole = config('roles.models.role')::where('name', '=', 'Admin')->first();
18
        $permissions = config('roles.models.permission')::all();
19
20
        /*
21
         * Add Users
22
         *
23
         */
24
        $this->command->getOutput()->writeln('<info>Seeding:</info> DefaultUsersTableSeeder');
25
26
        if (config('roles.models.defaultUser')::where('email', '=', '[email protected]')->first() === null) {
27
            $newUser = config('roles.models.defaultUser')::create([
28
                'name'     => 'Admin',
29
                'email'    => '[email protected]',
30
                'password' => bcrypt('password'),
31
            ]);
32
33
            $newUser->attachRole($adminRole);
34
            foreach ($permissions as $permission) {
35
                $newUser->attachPermission($permission);
36
            }
37
            $this->command->getOutput()->writeln(
38
                '<info>Seeding:</info> DefaultUsersTableSeeder - User:[email protected]'
39
            );
40
        }
41
42
        if (config('roles.models.defaultUser')::where('email', '=', '[email protected]')->first() === null) {
43
            $newUser = config('roles.models.defaultUser')::create([
44
                'name'     => 'User',
45
                'email'    => '[email protected]',
46
                'password' => bcrypt('password'),
47
            ]);
48
49
            $newUser->attachRole($userRole);
50
            $this->command->getOutput()->writeln('<info>Seeding:</info> DefaultUsersTableSeeder - User:[email protected]');
51
        }
52
    }
53
}
54