AdminTablesSeeder.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?php
  2. namespace Dcat\Admin\Models;
  3. use Illuminate\Database\Seeder;
  4. class AdminTablesSeeder extends Seeder
  5. {
  6. /**
  7. * Run the database seeds.
  8. *
  9. * @return void
  10. */
  11. public function run()
  12. {
  13. $createdAt = date('Y-m-d H:i:s');
  14. // create a user.
  15. Administrator::truncate();
  16. Administrator::create([
  17. 'username' => 'admin',
  18. 'password' => bcrypt('admin'),
  19. 'name' => 'Administrator',
  20. 'created_at' => $createdAt,
  21. ]);
  22. // create a role.
  23. Role::truncate();
  24. Role::create([
  25. 'name' => 'Administrator',
  26. 'slug' => Role::ADMINISTRATOR,
  27. 'created_at' => $createdAt,
  28. ]);
  29. // add role to user.
  30. Administrator::first()->roles()->save(Role::first());
  31. //create a permission
  32. Permission::truncate();
  33. Permission::insert([
  34. [
  35. 'id' => 1,
  36. 'name' => 'Auth management',
  37. 'slug' => 'auth-management',
  38. 'http_method' => '',
  39. 'http_path' => '',
  40. 'parent_id' => 0,
  41. 'order' => 1,
  42. 'created_at' => $createdAt,
  43. ],
  44. [
  45. 'id' => 2,
  46. 'name' => 'Users',
  47. 'slug' => 'users',
  48. 'http_method' => '',
  49. 'http_path' => '/auth/users*',
  50. 'parent_id' => 1,
  51. 'order' => 2,
  52. 'created_at' => $createdAt,
  53. ],
  54. [
  55. 'id' => 3,
  56. 'name' => 'Roles',
  57. 'slug' => 'roles',
  58. 'http_method' => '',
  59. 'http_path' => '/auth/roles*',
  60. 'parent_id' => 1,
  61. 'order' => 3,
  62. 'created_at' => $createdAt,
  63. ],
  64. [
  65. 'id' => 4,
  66. 'name' => 'Permissions',
  67. 'slug' => 'permissions',
  68. 'http_method' => '',
  69. 'http_path' => '/auth/permissions*',
  70. 'parent_id' => 1,
  71. 'order' => 4,
  72. 'created_at' => $createdAt,
  73. ],
  74. [
  75. 'id' => 5,
  76. 'name' => 'Menu',
  77. 'slug' => 'menu',
  78. 'http_method' => '',
  79. 'http_path' => '/auth/menu*',
  80. 'parent_id' => 1,
  81. 'order' => 5,
  82. 'created_at' => $createdAt,
  83. ],
  84. [
  85. 'id' => 6,
  86. 'name' => 'Operation log',
  87. 'slug' => 'operation-log',
  88. 'http_method' => '',
  89. 'http_path' => '/auth/logs*',
  90. 'parent_id' => 1,
  91. 'order' => 6,
  92. 'created_at' => $createdAt,
  93. ],
  94. ]);
  95. // Role::first()->permissions()->save(Permission::first());
  96. // add default menus.
  97. Menu::truncate();
  98. Menu::insert([
  99. [
  100. 'parent_id' => 0,
  101. 'order' => 1,
  102. 'title' => 'Index',
  103. 'icon' => 'fa-bar-chart',
  104. 'uri' => '/',
  105. 'created_at' => $createdAt,
  106. ],
  107. [
  108. 'parent_id' => 0,
  109. 'order' => 2,
  110. 'title' => 'Admin',
  111. 'icon' => 'fa-tasks',
  112. 'uri' => '',
  113. 'created_at' => $createdAt,
  114. ],
  115. [
  116. 'parent_id' => 2,
  117. 'order' => 3,
  118. 'title' => 'Users',
  119. 'icon' => 'fa-users',
  120. 'uri' => 'auth/users',
  121. 'created_at' => $createdAt,
  122. ],
  123. [
  124. 'parent_id' => 2,
  125. 'order' => 4,
  126. 'title' => 'Roles',
  127. 'icon' => 'fa-user',
  128. 'uri' => 'auth/roles',
  129. 'created_at' => $createdAt,
  130. ],
  131. [
  132. 'parent_id' => 2,
  133. 'order' => 5,
  134. 'title' => 'Permission',
  135. 'icon' => 'fa-ban',
  136. 'uri' => 'auth/permissions',
  137. 'created_at' => $createdAt,
  138. ],
  139. [
  140. 'parent_id' => 2,
  141. 'order' => 6,
  142. 'title' => 'Menu',
  143. 'icon' => 'fa-bars',
  144. 'uri' => 'auth/menu',
  145. 'created_at' => $createdAt,
  146. ],
  147. [
  148. 'parent_id' => 2,
  149. 'order' => 7,
  150. 'title' => 'Operation log',
  151. 'icon' => 'fa-history',
  152. 'uri' => 'auth/logs',
  153. 'created_at' => $createdAt,
  154. ],
  155. ]);
  156. (new Menu())->flushCache();
  157. }
  158. }