39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
|
<?php namespace MapGuesser\Repository;
|
||
|
|
||
|
use Generator;
|
||
|
use MapGuesser\Database\Query\Select;
|
||
|
use MapGuesser\PersistentData\Model\User;
|
||
|
use MapGuesser\PersistentData\Model\UserPasswordResetter;
|
||
|
use MapGuesser\PersistentData\PersistentDataManager;
|
||
|
|
||
|
class UserPasswordResetterRepository
|
||
|
{
|
||
|
private PersistentDataManager $pdm;
|
||
|
|
||
|
public function __construct()
|
||
|
{
|
||
|
$this->pdm = new PersistentDataManager();
|
||
|
}
|
||
|
|
||
|
public function getById(int $userConfirmationId): ?UserPasswordResetter
|
||
|
{
|
||
|
return $this->pdm->selectFromDbById($userConfirmationId, UserPasswordResetter::class);
|
||
|
}
|
||
|
|
||
|
public function getByToken(string $token): ?UserPasswordResetter
|
||
|
{
|
||
|
$select = new Select(\Container::$dbConnection);
|
||
|
$select->where('token', '=', $token);
|
||
|
|
||
|
return $this->pdm->selectFromDb($select, UserPasswordResetter::class);
|
||
|
}
|
||
|
|
||
|
public function getByUser(User $user): Generator
|
||
|
{
|
||
|
$select = new Select(\Container::$dbConnection);
|
||
|
$select->where('user_id', '=', $user->getId());
|
||
|
|
||
|
yield from $this->pdm->selectMultipleFromDb($select, UserPasswordResetter::class);
|
||
|
}
|
||
|
}
|