PermissionSeeder.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace Database\Seeders;
  3. use Illuminate\Database\Seeder;
  4. use Itstructure\LaRbac\Models\Permission;
  5. /**
  6. * Class PermissionSeeder
  7. *
  8. * @author Andrey Girnik <girnikandrey@gmail.com>
  9. */
  10. class PermissionSeeder extends Seeder
  11. {
  12. /**
  13. * Run the database seeds.
  14. * @return void
  15. */
  16. public function run()
  17. {
  18. $this->createRecord(
  19. Permission::ADMINISTRATE_PERMISSION,
  20. 'Total administrate of users and content'
  21. );
  22. $this->createRecord(
  23. Permission::VIEW_RECORD_PERMISSION,
  24. 'Permission to view record'
  25. );
  26. $this->createRecord(
  27. Permission::CREATE_RECORD_PERMISSION,
  28. 'Permission to create record'
  29. );
  30. $this->createRecord(
  31. Permission::UPDATE_RECORD_PERMISSION,
  32. 'Permission to update record'
  33. );
  34. $this->createRecord(
  35. Permission::DELETE_RECORD_PERMISSION,
  36. 'Permission to delete record'
  37. );
  38. $this->createRecord(
  39. Permission::PUBLISH_RECORD_PERMISSION,
  40. 'Permission to publish record'
  41. );
  42. }
  43. /**
  44. * Create permission record in database.
  45. * @param string $slug
  46. * @param string $description
  47. * @return void
  48. */
  49. private function createRecord(string $slug, string $description): void
  50. {
  51. Permission::create([
  52. 'name' => str_replace('-', ' ', ucfirst($slug)),
  53. 'slug' => $slug,
  54. 'description' => $description,
  55. ]);
  56. }
  57. }