require 2fa if enabled
CI/CD / test_and_check_app (push) Failing after 47s
CI/CD / Publish immutable image (push) Skipped

This commit is contained in:
2026-10-08 11:29:28 +02:00
parent f2b12c36af
commit b6e0ec539c
6 changed files with 40 additions and 15 deletions
+21 -3
View File
@@ -15,6 +15,7 @@ use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use Illuminate\Validation\ValidationException;
use Inertia\Inertia;
use Inertia\Response;
@@ -50,10 +51,18 @@ class TeamController extends Controller
*/
public function store(StoreTeamRequest $request): RedirectResponse
{
$validated = $request->validated();
$user = $request->user();
if (Arr::get($validated, 'require_2fa', false) && ! $user->hasEnabledTwoFactorAuthentication()) {
throw ValidationException::withMessages([
'require_2fa' => 'Du musst 2FA einrichten, damit du 2FA aktivieren kannst!',
]);
}
try {
DB::transaction(function () use ($request): void {
$team = Team::create($request->validated());
$team->members()->attach($request->user(), ['role' => TeamMemberRole::Owner]);
DB::transaction(function () use ($validated, $user): void {
$team = Team::create($validated);
$team->members()->attach($user, ['role' => TeamMemberRole::Owner]);
});
} catch (\Exception $exception) {
report($exception);
@@ -87,6 +96,15 @@ class TeamController extends Controller
*/
public function update(UpdateTeamRequest $request, Team $team): RedirectResponse
{
$validated = $request->validated();
$user = $request->user();
if (Arr::get($validated, 'require_2fa', false) && ! $user->hasEnabledTwoFactorAuthentication()) {
throw ValidationException::withMessages([
'require_2fa' => 'Du musst 2FA einrichten, damit du 2FA aktivieren kannst!',
]);
}
try {
$team->update($request->validated());
} catch (\Exception $exception) {
@@ -17,7 +17,7 @@ class TeamInviteAcceptController extends Controller
$invite = TeamInvite::findByPlainToken($inviteToken)->first();
if ($invite) {
$accept($invite);
$accept($invite, $request->user());
return to_route('teams.index');
}
@@ -32,7 +32,7 @@ class TeamInviteAcceptController extends Controller
{
$request->validated();
$accept($request->teamInvite());
$accept($request->teamInvite(), $request->user());
return to_route('teams.index');
}