giftcon_dev/app/Repositories/Admin/AdminUserRepository.php
2026-02-04 16:55:00 +09:00

39 lines
911 B
PHP

<?php
namespace App\Repositories\Admin;
use App\Models\AdminUser;
final class AdminUserRepository
{
public function findByEmail(string $email): ?AdminUser
{
return AdminUser::query()
->where('email', $email)
->first();
}
public function findActiveById(int $id): ?AdminUser
{
return AdminUser::query()
->whereKey($id)
->where('status', 'active')
->first();
}
public function touchLogin(AdminUser $admin, string $ip): void
{
$admin->last_login_at = now();
$admin->last_login_ip = inet_pton($ip) ?: null;
$admin->save();
}
public function setPassword(AdminUser $admin, string $plainPassword): void
{
$admin->password = $plainPassword; // ✅ 캐스트가 알아서 해싱함
$admin->must_reset_password = 0;
$admin->save();
}
}