userService->fetchSettings(); return new JsonResponse($settings, JsonResponse::HTTP_OK); } /** * Update user settings * * @param array $data Key-value pairs of settings to update * * @example request body: * { * "data": { * "theme": "dark", * "language": "en", * "notifications": true * } * } * * @return JsonResponse Updated settings data */ #[AuthenticatedRoute( '/user/settings', name: 'user.settings.update', methods: ['PUT', 'PATCH'], permissions: ['user.settings.update'] )] public function update(array $data): JsonResponse { $this->userService->storeSettings($data); // Return updated settings $updatedSettings = $this->userService->fetchSettings(array_keys($data)); return new JsonResponse($updatedSettings, JsonResponse::HTTP_OK); } }