Skip to content

Commit c54c6ac

Browse files
author
Saurabh Sharma
committed
Rectify errors
1 parent b6c755a commit c54c6ac

File tree

3 files changed

+64
-2
lines changed

3 files changed

+64
-2
lines changed

app/Models/Permission.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use Spatie\Permission\Models\Permission as SpatiePermission;
44
use Illuminate\Database\Eloquent\Concerns\HasUuids;
55

6-
class Role extends SpatiePermission
6+
class Permission extends SpatiePermission
77
{
88
use HasUuids;
99
}

app/Models/User.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@
88
use Illuminate\Notifications\Notifiable;
99
use Laravel\Sanctum\HasApiTokens;
1010
use Illuminate\Database\Eloquent\Concerns\HasUuids;
11+
use Spatie\Permission\Traits\HasRoles;
1112

1213
class User extends Authenticatable
1314
{
1415
use HasApiTokens, HasFactory, Notifiable;
15-
use HasUuids;
16+
use HasUuids, HasRoles;
1617

1718
/**
1819
* The attributes that are mass assignable.
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?php
2+
3+
namespace Database\Seeders;
4+
5+
use Illuminate\Database\Seeder;
6+
use App\Models\Permission;
7+
use App\Models\Role;
8+
use Spatie\Permission\PermissionRegistrar;
9+
10+
final class PermissionsSeeder extends Seeder
11+
{
12+
/**
13+
* Create the initial roles and permissions.
14+
*
15+
* @return void
16+
*/
17+
public function run()
18+
{
19+
// Reset cached roles and permissions
20+
app()[PermissionRegistrar::class]->forgetCachedPermissions();
21+
22+
// create permissions
23+
24+
\App\Models\Permission::create(['name' => 'edit articles']);
25+
\App\Models\Permission::create(['name' => 'delete articles']);
26+
\App\Models\Permission::create(['name' => 'publish articles']);
27+
\App\Models\Permission::create(['name' => 'unpublish articles']);
28+
29+
// create roles and assign existing permissions
30+
$role1 = Role::create(['name' => 'writer']);
31+
$role1->givePermissionTo('edit articles');
32+
$role1->givePermissionTo('delete articles');
33+
34+
$role2 = Role::create(['name' => 'admin']);
35+
$role2->givePermissionTo('publish articles');
36+
$role2->givePermissionTo('unpublish articles');
37+
38+
$role3 = Role::create(['name' => 'Super-Admin']);
39+
// gets all permissions via Gate::before rule; see AuthServiceProvider
40+
41+
// create demo users
42+
$user = \App\Models\User::factory()->create([
43+
'name' => 'Example User',
44+
'email' => 'test@example.com',
45+
]);
46+
$user->assignRole($role1);
47+
48+
$user = \App\Models\User::factory()->create([
49+
'name' => 'Example Admin User',
50+
'email' => 'admin@example.com',
51+
]);
52+
$user->assignRole($role2);
53+
54+
$user = \App\Models\User::factory()->create([
55+
'name' => 'Example Super-Admin User',
56+
'email' => 'superadmin@example.com',
57+
]);
58+
$user->assignRole($role3);
59+
60+
}
61+
}

0 commit comments

Comments
 (0)