|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
@ -60,9 +63,10 @@ class BackupCodeStorage {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param IUser $user
|
|
|
|
|
* @param int $number
|
|
|
|
|
* @return string[]
|
|
|
|
|
*/
|
|
|
|
|
public function createCodes(IUser $user, $number = 10) {
|
|
|
|
|
public function createCodes(IUser $user, int $number = 10): array {
|
|
|
|
|
$result = [];
|
|
|
|
|
|
|
|
|
|
// Delete existing ones
|
|
|
|
@ -90,7 +94,7 @@ class BackupCodeStorage {
|
|
|
|
|
* @param IUser $user
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function hasBackupCodes(IUser $user) {
|
|
|
|
|
public function hasBackupCodes(IUser $user): bool {
|
|
|
|
|
$codes = $this->mapper->getBackupCodes($user);
|
|
|
|
|
return count($codes) > 0;
|
|
|
|
|
}
|
|
|
|
@ -99,7 +103,7 @@ class BackupCodeStorage {
|
|
|
|
|
* @param IUser $user
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
public function getBackupCodesState(IUser $user) {
|
|
|
|
|
public function getBackupCodesState(IUser $user): array {
|
|
|
|
|
$codes = $this->mapper->getBackupCodes($user);
|
|
|
|
|
$total = count($codes);
|
|
|
|
|
$used = 0;
|
|
|
|
@ -120,7 +124,7 @@ class BackupCodeStorage {
|
|
|
|
|
* @param string $code
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function validateCode(IUser $user, $code) {
|
|
|
|
|
public function validateCode(IUser $user, string $code): bool {
|
|
|
|
|
$dbCodes = $this->mapper->getBackupCodes($user);
|
|
|
|
|
|
|
|
|
|
foreach ($dbCodes as $dbCode) {
|
|
|
|
|