Mahdee Rajon
File "RoleTableSeeder.php"
Full Path: /var/www/html/back/database/seeders/RoleTableSeeder.php
File size: 1.04 KB
MIME-type: text/x-php
Charset: utf-8
<?php
declare(strict_types=1);
namespace Database\Seeders;
use App\Domain\Users\UserService;
use App\Enums\RoleEnum;
use App\Models\System;
use App\Models\User;
use Illuminate\Database\Seeder;
final class RoleTableSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
/**
* @var UserService $service
*/
$service = app()->make(UserService::class);
$roles = [
//'admin', // Супер-пользователь
RoleEnum::ACCOUNTANT, // Бухгалтер
RoleEnum::MODERATOR, // Согласование
RoleEnum::COLLABORATOR // Сотрудник
];
$users = User::query()->where('email', '!=', 'replay@top-it.ru')->get();
$models = System::query()->get();
foreach ($users as $index => $user) {
$role = $roles[$index % count($roles)];
foreach ($models as $model) {
$service->assignRole($user, $role, $model->id);
}
}
}
}