'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' => 'دسترسی به گزارش خود', ], ], 'shifts' => [ '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); } }