userService->fetchSettings(flatten: $flatten); 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.write', methods: ['POST', 'PUT', 'PATCH'], permissions: ['user.settings.write'] )] public function write(array $data): JsonResponse { $this->userService->storeSettings($data); // Return updated settings $settings = $this->userService->fetchSettings(array_keys($data)); return new JsonResponse($settings, JsonResponse::HTTP_OK); } }