complete Complete User Request Submission section RAD-1
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Enums\UserEnum;
|
||||
use Illuminate\Database\Seeder;
|
||||
use App\Models\Permission;
|
||||
use App\Models\User;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class PermissionSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
User::updateOrCreate(
|
||||
['email' => 'admin@gmail.com'],
|
||||
[
|
||||
'password' => Hash::make('12345678'),
|
||||
'username' => 'admin',
|
||||
'phone' => '09123456789',
|
||||
'level' => UserEnum::Admin->value,
|
||||
'fullname' => 'admin',
|
||||
'national_code' => '1234567890',
|
||||
]
|
||||
);
|
||||
|
||||
$permissions = [
|
||||
'users' => [
|
||||
'label' => 'دسترسی به کاربران',
|
||||
'children' => [
|
||||
'index' => 'دسترسی به لیست کاربران',
|
||||
'create' => 'دسترسی به ایجاد کاربر',
|
||||
'edit' => 'دسترسی به ویرایش کاربر',
|
||||
'delete' => 'دسترسی به حذف کاربر',
|
||||
'own' => 'دسترسی به اطلاعات خود کاربر',
|
||||
],
|
||||
],
|
||||
'permissions' => [
|
||||
'label' => 'دسترسی به سطح دسترسیها',
|
||||
'children' => [
|
||||
'index' => 'دسترسی به لیست سطح دسترسیها',
|
||||
'create' => 'دسترسی به ایجاد سطح دسترسی',
|
||||
'edit' => 'دسترسی به ویرایش سطح دسترسی',
|
||||
'delete' => 'دسترسی به حذف سطح دسترسی',
|
||||
'own' => 'دسترسی به سطح دسترسی خود',
|
||||
],
|
||||
],
|
||||
'medium' => [
|
||||
'label' => 'دسترسی به رسانه ها',
|
||||
'children' => [
|
||||
'index' => 'دسترسی به لیست رسانه ها',
|
||||
'create' => 'دسترسی به ایجاد رسانه',
|
||||
'edit' => 'دسترسی به ویرایش رسانه',
|
||||
'delete' => 'دسترسی به حذف رسانه',
|
||||
'own' => 'دسترسی به رسانه های خود',
|
||||
],
|
||||
],
|
||||
'roles' => [
|
||||
'label' => 'دسترسی به نقشها',
|
||||
'children' => [
|
||||
'index' => 'دسترسی به لیست نقشها',
|
||||
'create' => 'دسترسی به ایجاد نقش',
|
||||
'edit' => 'دسترسی به ویرایش نقش',
|
||||
'delete' => 'دسترسی به حذف نقش',
|
||||
'own' => 'دسترسی به نقش خود',
|
||||
],
|
||||
],
|
||||
'pets' => [
|
||||
'label' => 'دسترسی به کیس ها',
|
||||
'children' => [
|
||||
'index' => 'دسترسی به لیست کیس ها',
|
||||
'create' => 'دسترسی به ایجاد کیس',
|
||||
'edit' => 'دسترسی به ویرایش کیس',
|
||||
'delete' => 'دسترسی به حذف کیس',
|
||||
'own' => 'دسترسی به کیس خود',
|
||||
],
|
||||
],
|
||||
'documents' => [
|
||||
'label' => 'دسترسی به پرونده ها',
|
||||
'children' => [
|
||||
'index' => 'دسترسی به لیست پرونده ها',
|
||||
'create' => 'دسترسی به ایجاد پرونده',
|
||||
'edit' => 'دسترسی به ویرایش پرونده',
|
||||
'delete' => 'دسترسی به حذف پرونده',
|
||||
'own' => 'دسترسی به پرونده خود',
|
||||
],
|
||||
],
|
||||
'reports' => [
|
||||
'label' => 'دسترسی به گزارش ها',
|
||||
'children' => [
|
||||
'index' => 'دسترسی به لیست گزارش ها',
|
||||
'create' => 'دسترسی به ایجاد گزارش',
|
||||
'edit' => 'دسترسی به ویرایش گزارش',
|
||||
'delete' => 'دسترسی به حذف گزارش',
|
||||
'own' => 'دسترسی به گزارش خود',
|
||||
],
|
||||
],
|
||||
];
|
||||
foreach ($permissions as $key => $data) {
|
||||
$parent = Permission::create([
|
||||
'name' => $key,
|
||||
'label' => $data['label'],
|
||||
'parent_id' => 0,
|
||||
]);
|
||||
|
||||
foreach ($data['children'] as $action => $label) {
|
||||
Permission::create([
|
||||
'name' => "$key.$action",
|
||||
'label' => $label,
|
||||
'parent_id' => $parent->id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
$adminRole = Role::firstOrCreate(['name' => 'admin', 'label' => 'مدیر کل']);
|
||||
$adminRole->syncPermissions(Permission::all());
|
||||
|
||||
|
||||
$admin = User::where('email', 'admin@gmail.com')->first();
|
||||
$admin->assignRole($adminRole);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user