pdm = new PersistentDataManager(); } public function getById(int $userId): ?User { return $this->pdm->selectFromDbById($userId, User::class); } public function getByEmail(string $email): ?User { $select = new Select(\Container::$dbConnection); $select->where('email', '=', $email); return $this->pdm->selectFromDb($select, User::class); } public function getByGoogleSub(string $sub): ?User { $select = new Select(\Container::$dbConnection); $select->where('google_sub', '=', $sub); return $this->pdm->selectFromDb($select, User::class); } public function getAllInactiveExpired(): Generator { $select = new Select(\Container::$dbConnection); $select->where('active', '=', false); $select->where('created', '<', (new DateTime('-1 day'))->format('Y-m-d H:i:s')); yield from $this->pdm->selectMultipleFromDb($select, User::class); } }