@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class DatabaseSeeder extends Seeder
|
||||
{
|
||||
use WithoutModelEvents;
|
||||
|
||||
/**
|
||||
* Seed the application's database.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$this->call(RolePermissionSeeder::class);
|
||||
$this->call(DeviceCatalogSeeder::class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\DeviceModel;
|
||||
use App\Models\DeviceType;
|
||||
use App\Models\DeviceVendor;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class DeviceCatalogSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
foreach (['MikroTik', 'ZTE', 'C-Data', 'HSGQ', 'HiOSO', 'Hisfocus'] as $name) {
|
||||
DeviceVendor::updateOrCreate(['slug' => str($name)->slug()], ['name' => $name, 'is_active' => true]);
|
||||
}
|
||||
foreach (['Router', 'OLT', 'Switch', 'Access Point', 'Server', 'Other'] as $name) {
|
||||
DeviceType::updateOrCreate(['slug' => str($name)->slug()], ['name' => $name, 'is_active' => true]);
|
||||
}
|
||||
|
||||
$zte = DeviceVendor::where('slug', 'zte')->firstOrFail();
|
||||
$olt = DeviceType::where('slug', 'olt')->firstOrFail();
|
||||
foreach (['C300', 'C320'] as $name) {
|
||||
DeviceModel::updateOrCreate(
|
||||
['device_vendor_id' => $zte->id, 'name' => $name],
|
||||
['device_type_id' => $olt->id, 'model_code' => $name, 'is_active' => true],
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Enums\SystemRole;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Spatie\Permission\PermissionRegistrar;
|
||||
|
||||
class RolePermissionSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
app(PermissionRegistrar::class)->forgetCachedPermissions();
|
||||
|
||||
$permissions = [
|
||||
'tenant.view', 'tenant.create', 'tenant.update', 'tenant.delete', 'tenant.access-any',
|
||||
'user.view', 'user.create', 'user.update', 'user.delete',
|
||||
'device.view', 'device.create', 'device.update', 'device.delete', 'device.connect',
|
||||
'device.credential.view', 'device.credential.create', 'device.credential.update', 'device.credential.delete',
|
||||
'device.user.view', 'device.user.create', 'device.user.update', 'device.user.delete', 'device.user.mass_update',
|
||||
'device.master_account.manage', 'device.command.execute', 'device.command.mass_execute',
|
||||
'device.config.view', 'device.config.deploy', 'device.backup.create', 'device.backup.download',
|
||||
'device.backup.restore', 'device.monitoring.view', 'audit.view',
|
||||
'license.view', 'license.manage', 'installation.view', 'installation.manage',
|
||||
];
|
||||
|
||||
foreach ($permissions as $permission) {
|
||||
$model = Permission::findOrCreate($permission, 'web');
|
||||
$model->forceFill(['is_system' => true])->save();
|
||||
}
|
||||
|
||||
setPermissionsTeamId(null);
|
||||
Role::findOrCreate(SystemRole::MasterAdmin->value, 'web')->syncPermissions(Permission::all());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user