mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 23:45:10 +00:00
Add MFA code in prep of new MFA routine
This commit is contained in:
@@ -285,6 +285,8 @@ class UserRepository implements UserRepositoryInterface
|
|||||||
*/
|
*/
|
||||||
public function hasRole(User $user, string $role): bool
|
public function hasRole(User $user, string $role): bool
|
||||||
{
|
{
|
||||||
|
// TODO no longer need to loop like this
|
||||||
|
|
||||||
/** @var Role $userRole */
|
/** @var Role $userRole */
|
||||||
foreach ($user->roles as $userRole) {
|
foreach ($user->roles as $userRole) {
|
||||||
if ($userRole->name === $role) {
|
if ($userRole->name === $role) {
|
||||||
@@ -371,4 +373,16 @@ class UserRepository implements UserRepositoryInterface
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set MFA code.
|
||||||
|
*
|
||||||
|
* @param User $user
|
||||||
|
* @param string $code
|
||||||
|
*/
|
||||||
|
public function setMFACode(User $user, string $code): void
|
||||||
|
{
|
||||||
|
$user->mfa_secret = $code;
|
||||||
|
$user->save();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -39,6 +39,14 @@ interface UserRepositoryInterface
|
|||||||
*/
|
*/
|
||||||
public function all(): Collection;
|
public function all(): Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set MFA code.
|
||||||
|
*
|
||||||
|
* @param User $user
|
||||||
|
* @param string $code
|
||||||
|
*/
|
||||||
|
public function setMFACode(User $user, string $code): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gives a user a role.
|
* Gives a user a role.
|
||||||
*
|
*
|
||||||
|
@@ -62,6 +62,7 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
|||||||
* @property bool $has2FA used in admin user controller.
|
* @property bool $has2FA used in admin user controller.
|
||||||
* @property array $prefs used in admin user controller.
|
* @property array $prefs used in admin user controller.
|
||||||
* @property string password
|
* @property string password
|
||||||
|
* @property string $mfa_secret
|
||||||
* @property Collection roles
|
* @property Collection roles
|
||||||
* @property string blocked_code
|
* @property string blocked_code
|
||||||
* @property bool blocked
|
* @property bool blocked
|
||||||
|
@@ -47,9 +47,15 @@ class ChangesForV480 extends Migration
|
|||||||
$table->dropColumn('transaction_group_id');
|
$table->dropColumn('transaction_group_id');
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
Schema::table('rule_groups', function (Blueprint $table) {
|
Schema::table('rule_groups', static function (Blueprint $table) {
|
||||||
$table->dropColumn('stop_processing');
|
$table->dropColumn('stop_processing');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Schema::table(
|
||||||
|
'users', static function (Blueprint $table) {
|
||||||
|
$table->dropColumn('mfa_secret');
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -62,7 +68,7 @@ class ChangesForV480 extends Migration
|
|||||||
|
|
||||||
Schema::table(
|
Schema::table(
|
||||||
'transaction_journals',
|
'transaction_journals',
|
||||||
function (Blueprint $table) {
|
static function (Blueprint $table) {
|
||||||
|
|
||||||
$table->integer('transaction_currency_id', false, true)->nullable()->change();
|
$table->integer('transaction_currency_id', false, true)->nullable()->change();
|
||||||
|
|
||||||
@@ -74,8 +80,13 @@ class ChangesForV480 extends Migration
|
|||||||
$table->foreign('transaction_group_id')->references('id')->on('transaction_groups')->onDelete('cascade');
|
$table->foreign('transaction_group_id')->references('id')->on('transaction_groups')->onDelete('cascade');
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
Schema::table('rule_groups', function (Blueprint $table) {
|
Schema::table('rule_groups', static function (Blueprint $table) {
|
||||||
$table->boolean('stop_processing')->default(false);
|
$table->boolean('stop_processing')->default(false);
|
||||||
});
|
});
|
||||||
|
Schema::table(
|
||||||
|
'users', static function (Blueprint $table) {
|
||||||
|
$table->string('mfa_secret', 50)->nullable();
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user