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) { $user->clearMediaCollection('admin_avatar'); } if ($user && $request->hasFile('admin_avatar')) { $user->clearMediaCollection('admin_avatar'); $user->addMediaFromRequest('admin_avatar') ->toMediaCollection('admin_avatar'); } if ($user && $request->has('avatar')) { $data = json_decode($request->avatar); $user->clearMediaCollection('admin_avatar'); $user->addMediaFromBase64($data->data) ->usingFileName($data->name) ->toMediaCollection('admin_avatar'); } 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, ]); } }