1
0
Fork 0
party-rank-server/database/seeders/AdminSeeder.php

93 lines
2.7 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Slowlyo\OwlAdmin\Models\AdminMenu;
use Slowlyo\OwlAdmin\Models\AdminPermission;
use Slowlyo\OwlAdmin\Models\AdminRole;
use Slowlyo\OwlAdmin\Models\AdminUser;
class AdminSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// DB::table('admin_role_permissions')->truncate();
// DB::table('admin_role_users')->truncate();
AdminUser::truncate();
$user = AdminUser::create([
'username' => 'admin',
'password' => bcrypt('admin'),
'name' => 'Administrator',
]);
AdminRole::truncate();
$role = AdminRole::create([
'name' => 'Administrator',
'slug' => 'administrator',
]);
$user->roles()->attach($role);
// $menus = AdminMenu::all()->toArray();
//
// $permissions = [];
// foreach ($menus as $menu) {
// $_httpPath = $menu['url_type'] == AdminMenu::TYPE_ROUTE ? $this->getHttpPath($menu['url']) : '';
//
// $permissions[] = [
// 'id' => $menu['id'],
// 'name' => $menu['title'],
// 'slug' => 'permission_'.$menu['id'],
// 'http_path' => json_encode($_httpPath ? [$_httpPath] : ''),
// 'order' => $menu['order'],
// 'parent_id' => $menu['parent_id'],
// 'created_at' => $menu['created_at'],
// 'updated_at' => $menu['updated_at'],
// ];
// }
//
// AdminPermission::query()->truncate();
// AdminPermission::query()->insert($permissions);
//
// DB::table('admin_permission_menu')->truncate();
// foreach ($permissions as $item) {
// $query = DB::table('admin_permission_menu');
// $query->insert([
// 'permission_id' => $item['id'],
// 'menu_id' => $item['id'],
// ]);
//
// $_id = $item['id'];
// while ($item['parent_id'] != 0) {
// (clone $query)->insert([
// 'permission_id' => $_id,
// 'menu_id' => $item['parent_id'],
// ]);
//
// $item = AdminMenu::query()->find($item['parent_id']);
// }
// }
}
private function getHttpPath($uri)
{
$excepts = ['/', '', '-'];
if (in_array($uri, $excepts)) {
return '';
}
if (! str_starts_with($uri, '/')) {
$uri = '/'.$uri;
}
return $uri.'*';
}
}