first commit

This commit is contained in:
brusnitsyn
2026-06-24 17:20:43 +09:00
commit 43499acf1c
165 changed files with 25929 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
<?php
namespace Database\Factories;
use App\Models\PersonalData;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends Factory<PersonalData>
*/
class PersonalDataFactory extends Factory
{
protected $model = PersonalData::class;
/**
* @return array<string, mixed>
*/
public function definition(): array
{
return [
'last_name' => fake()->lastName(),
'first_name' => fake()->firstName(),
'middle_name' => fake()->firstName(),
'birth_date' => fake()->date(),
'passport' => fake()->numerify('#### ######'),
'snils' => fake()->numerify('###-###-### ##'),
'phone' => fake()->phoneNumber(),
];
}
}

View File

@@ -0,0 +1,67 @@
<?php
namespace Database\Factories;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
/**
* @extends Factory<User>
*/
class UserFactory extends Factory
{
/**
* The current password being used by the factory.
*/
protected static ?string $password;
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition(): array
{
return [
'name' => fake()->name(),
'email' => fake()->unique()->safeEmail(),
'email_verified_at' => now(),
'password' => static::$password ??= Hash::make('password'),
'password_changed_at' => now(),
'remember_token' => Str::random(10),
];
}
/**
* Indicate that the model's email address should be unverified.
*/
public function unverified(): static
{
return $this->state(fn (array $attributes) => [
'email_verified_at' => null,
]);
}
/**
* Пользователь с истёкшим сроком действия пароля (для тестов ИАФ.3).
*/
public function passwordExpired(): static
{
return $this->state(fn (array $attributes) => [
'password_changed_at' => now()->subDays((int) config('security.password.max_age_days') + 1),
]);
}
/**
* Пользователь с подтверждённым вторым фактором (для тестов ИАФ.4).
*/
public function withMfa(): static
{
return $this->state(fn (array $attributes) => [
'mfa_secret' => 'JBSWY3DPEHPK3PXP',
'mfa_confirmed_at' => now(),
]);
}
}