rvr-nextgen/src/Repository/UserPasswordResetterRepository.php
Pőcze Bence dccb34971b
All checks were successful
rvr-nextgen/pipeline/pr-master This commit looks good
adapt Container usage to new soko-web
2023-04-19 23:38:43 +02:00

40 lines
1.3 KiB
PHP

<?php namespace RVR\Repository;
use DateTime;
use Generator;
use SokoWeb\Database\Query\Select;
use RVR\PersistentData\Model\User;
use RVR\PersistentData\Model\UserPasswordResetter;
class UserPasswordResetterRepository
{
public function getById(int $userConfirmationId): ?UserPasswordResetter
{
return \Container::$persistentDataManager->selectFromDbById($userConfirmationId, UserPasswordResetter::class);
}
public function getByToken(string $token): ?UserPasswordResetter
{
$select = new Select(\Container::$dbConnection);
$select->where('token', '=', $token);
return \Container::$persistentDataManager->selectFromDb($select, UserPasswordResetter::class);
}
public function getByUser(User $user): ?UserPasswordResetter
{
$select = new Select(\Container::$dbConnection);
$select->where('user_id', '=', $user->getId());
return \Container::$persistentDataManager->selectFromDb($select, UserPasswordResetter::class);
}
public function getAllExpired(): Generator
{
$select = new Select(\Container::$dbConnection);
$select->where('expires', '<', (new DateTime())->format('Y-m-d H:i:s'));
yield from \Container::$persistentDataManager->selectMultipleFromDb($select, UserPasswordResetter::class);
}
}