<?php namespace MapGuesser\Repository; use MapGuesser\Database\Query\Select; use MapGuesser\PersistentData\Model\User; use MapGuesser\PersistentData\Model\UserConfirmation; use MapGuesser\PersistentData\PersistentDataManager; class UserConfirmationRepository { private PersistentDataManager $pdm; public function __construct() { $this->pdm = new PersistentDataManager(); } public function getById(int $userConfirmationId): ?UserConfirmation { return $this->pdm->selectFromDbById($userConfirmationId, UserConfirmation::class); } public function getByToken(string $token): ?UserConfirmation { $select = new Select(\Container::$dbConnection); $select->where('token', '=', $token); return $this->pdm->selectFromDb($select, UserConfirmation::class); } public function getByUser(User $user): ?UserConfirmation { $select = new Select(\Container::$dbConnection); $select->where('user_id', '=', $user->getId()); return $this->pdm->selectFromDb($select, UserConfirmation::class); } }