$request->user(), 'sessions' => [], ]); } public function update(UpdateUserRequest $request): RedirectResponse { $validated = $request->validated(); if (!Hash::check($validated['password'], auth()->user()->password)) { return redirect()->route('profile.index')->with('error', __('boilerplate::ui.incorect.old.password')); } if (!empty($validated['newPassword']) && !empty($validated['password'])) { $validated['password'] = Hash::make($validated['newPassword']); unset($validated['newPassword']); } else { unset($validated['newPassword']); unset($validated['password']); } $request->user()->update($validated); return redirect()->route('profile.index')->with('success', __('boilerplate::ui.updated')); } public function api(Request $request) { return view('auth.profile_api', [ 'user' => $request->user(), 'tokens' => $request->user()->tokens->all(), ]); } public function createApiToken(CreateApiTokenRequest $request): RedirectResponse { $validated = $request->validated(); if (empty($validated['expire_at'])) { $validated['expire_at'] = null; } $newToken = $request->user()->createToken($validated['token_name'], ['*'], Carbon::parse($validated['expire_at']))->plainTextToken; return redirect()->route('profile.api')->with([ 'success'=> __('boilerplate::ui.created'), 'secret'=> $newToken, ]); } public function removeApiToken(RemoveApiTokenRequest $request): RedirectResponse { $validated = $request->validated(); $request->user()->tokens()->where('id', $validated['token_id'])->first()->delete(); return redirect()->route('profile.api')->with('success', __('boilerplate::ui.removed')); } }