import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:smooth_app/database/local_database.dart'; import 'package:smooth_app/pages/product/common/product_refresher.dart'; import 'package:smooth_app/query/product_query.dart'; import 'package:smooth_app/query/questions_query.dart'; /// Robotoff questions helper, for random product questions. class RandomQuestionsQuery extends QuestionsQuery { @override Future> getQuestions( final LocalDatabase localDatabase, ) async { final RobotoffQuestionResult result = await RobotoffAPIClient.getRandomQuestions( ProductQuery.getLanguage(), OpenFoodAPIConfiguration.globalUser, count: 3, // TODO(monsieurtanuki): should use Country too ); if (result.questions?.isNotEmpty != true) { return []; } final List barcodes = []; for (final RobotoffQuestion question in result.questions!) { if (question.barcode != null) { barcodes.add(question.barcode!); } } await ProductRefresher().silentFetchAndRefreshList( barcodes: barcodes, localDatabase: localDatabase, ); return result.questions ?? []; } }