<?php
declare(strict_types=1);
namespace Database\Seeders;
use App\Domain\Account\AccountService;
use App\Domain\Account\Requests\CreateAccountRequest;
use App\Enums\ModelsEnum;
use App\Models\Organization;
use Illuminate\Database\Seeder;
class AccountsSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
/** @var AccountService $service */
$service = app()->make(AccountService::class);
foreach (ModelsEnum::cases() as $case) {
Organization::query()->where('model_id', $case->value)
->each(function (Organization $model) use ($service): void {
$service->createAccount($model->model_id, new CreateAccountRequest(
[
'name' => 'Счет для организации ' . $model->full_name,
'organization_id' => $model->id,
'deposit' => random_int(10000, 100000000) / 100,
'added' => fake()->dateTimeBetween('-5 days', '+5 days'),
'bank_id' => random_int(1, 3),
]
));
});
}
}
}