File manager - Edit - /var/www/html/spdc/api/database/seeders/SeederDeparmentUser.php
Back
<?php namespace Database\Seeders; use App\Enums\ScaleType; use App\Models\Department; use App\Enums\WarningScaleType; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; use Illuminate\Database\Console\Seeds\WithoutModelEvents; class SeederDeparmentUser extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $departments = []; $departments[] = Department::create([ 'name' => 'Operações', 'acronym' => 'OPE', 'scale_type' => ScaleType::EQUIPE->value, 'warning_scale_type' => WarningScaleType::SEMANAL->value, 'enable' => true ]); $departments[] = Department::create([ 'name' => 'Engenharia', 'acronym' => 'ENG', 'scale_type' => ScaleType::INDIVIDUAL->value, 'warning_scale_type' => WarningScaleType::DIARIO->value, 'enable' => true ]); $departments[] = Department::create([ 'name' => 'Cemaden', 'acronym' => 'CEM', 'scale_type' => ScaleType::INDIVIDUAL->value, 'warning_scale_type' => WarningScaleType::SEMANAL->value, 'enable' => true ]); $departments[] = Department::create([ 'name' => 'Integração Comunitária', 'acronym' => 'INT', 'scale_type' => ScaleType::INDIVIDUAL->value, 'warning_scale_type' => WarningScaleType::DIARIO->value, 'enable' => true ]); $departments[] = Department::create([ 'name' => 'Administração', 'acronym' => 'ADM', 'scale_type' => ScaleType::INDIVIDUAL->value, 'warning_scale_type' => WarningScaleType::DIARIO->value, 'enable' => true ]); $departments[] = Department::create([ 'name' => 'Manutenção', 'acronym' => 'MAN', 'scale_type' => ScaleType::INDIVIDUAL->value, 'warning_scale_type' => WarningScaleType::SEMANAL->value, 'enable' => true ]); $departments[] = Department::create([ 'name' => 'Almoxarifado', 'acronym' => 'ALM', 'scale_type' => ScaleType::INDIVIDUAL->value, 'warning_scale_type' => WarningScaleType::DIARIO->value, 'enable' => true ]); // creating users // 25 users to operações and 5 to other departments // one user from each department will be attached to another department $accessToken = authLogin()['access_token']; $url = env('AUTH_SERVICE_URL') . '/api/user?like=app_id,' . env('CLIENT_APP_KEY'); foreach($departments as $key => $department) { $usersAmount = $department->name === 'Operações' ? 25: 5; for ($i = 0; $i < $usersAmount; $i++) { $userRequest = [ 'name' => fake()->unique->name, 'document' => generateValidCPF(), 'email' => fake()->unique->email, 'password' => '12345678', 'user_type_id' => 1, ]; // create new user $newUserResponse = authServiceClient('post', $url, $userRequest, [ 'Authorization' => 'Bearer ' . $accessToken ]); if ($newUserResponse->successful()) { $user = $newUserResponse->json()['data']['user']; DB::table('department_user')->insert([ 'user_id' => $user['id'], 'department_id' => $department->id ]); // o primeiro usuário será vinculado a um outro departamento if ($i === 0) { $index = $key === count($departments) - 1 ? 0 : $key + 1; DB::table('department_user')->insert([ 'user_id' => $user['id'], 'department_id' => $departments[$index]->id ]); } } $i++; } } /** * if users count is smaller than 3, create three new users */ } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings