user()); } public function update(ProfileRequest $request) { $user = $request->user(); $user->update($request->validated()); return new UserResource($user); } public function uploadAvatar(AvatarRequest $request) { $user = auth()->user(); if (isset($request->is_admin_avatar_removed) && (bool) $request->is_admin_avatar_removed) { $this->userAvatarManager->clear($user); } if ($user && $request->hasFile('admin_avatar')) { $file = $request->file('admin_avatar'); $this->userAvatarManager->replaceFile( $user, $file->getRealPath(), $file->getClientOriginalName(), ); } if ($user && $request->has('avatar')) { $data = json_decode($request->avatar); $this->userAvatarManager->replaceBase64($user, $data->data, $data->name); } return new UserResource($user); } public function showSettings(GetSettingsRequest $request): JsonResponse { $user = $request->user(); return response()->json($user->getSettings((array) $request->settings)); } public function updateSettings(UpdateSettingsRequest $request): JsonResponse { $user = $request->user(); $user->setSettings($request->settings); return response()->json([ 'success' => true, ]); } }