feat(User,Role): add users and role , permssion , filament panel | [USER , ROLE]

This commit is contained in:
2026-05-29 15:28:56 +03:30
parent d923019dc5
commit 1c408130d0
71 changed files with 3111 additions and 11 deletions

View File

@@ -2,6 +2,8 @@
namespace Database\Seeders;
use App\Models\Permission;
use App\Models\Role;
use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
@@ -17,9 +19,33 @@ class DatabaseSeeder extends Seeder
{
// User::factory(10)->create();
User::factory()->create([
'name' => 'Test User',
'email' => 'test@example.com',
]);
$permissions = collect([
['name' => 'دسترسی به پنل مدیریت', 'slug' => 'admin.access'],
['name' => 'مدیریت کاربران', 'slug' => 'users.manage'],
['name' => 'مدیریت نقش‌ها', 'slug' => 'roles.manage'],
['name' => 'مدیریت دسترسی‌ها', 'slug' => 'permissions.manage'],
])->map(fn (array $permission) => Permission::query()->updateOrCreate(
['slug' => $permission['slug']],
['name' => $permission['name']],
));
$adminRole = Role::query()->updateOrCreate(
['slug' => 'admin'],
['name' => 'مدیر'],
);
$adminRole->permissions()->sync($permissions->pluck('id'));
$user = User::query()->firstOrCreate(
['email' => 'test@example.com'],
[
'name' => 'Test User',
'mobile' => '09120000000',
'email_verified_at' => now(),
'password' => 'password',
],
);
$user->roles()->sync([$adminRole->id]);
}
}