$request->user(), ]); } /** * Update the user's profile information. */ public function update(ProfileUpdateRequest $request): RedirectResponse { $request->user()->fill($request->validated()); if ($request->user()->isDirty('email')) { $request->user()->email_verified_at = null; } $request->user()->save(); $user = $request->user(); $folder = 'profile/'.$request->user()->id; if ($request->hasFile('avatar')) { //ada upload? $validated = $request->validate([ 'avatar' => 'file|mimes:jpg,png,pdf', // 2MB max ]); $file = $request->file('avatar'); $logoFilename = $file->store($folder); $user->avatar_path = $file->hashName(); $user->save(); } return Redirect::route('profile.edit')->with('status', 'profile-updated'); } /** * Delete the user's account. */ public function destroy(Request $request): RedirectResponse { $request->validateWithBag('userDeletion', [ 'password' => ['required', 'current_password'], ]); $user = $request->user(); Auth::logout(); $user->delete(); $request->session()->invalidate(); $request->session()->regenerateToken(); return Redirect::to('/'); } public function stream(Request $request, $filename) { $user = $request->user(); $path = 'profile/'.$request->user()->id."/".$filename; if (!Storage::exists($path)) return null; return response()->file(storage_path('app/' . $path)); } }