import 'dart:math'; import 'package:injectable/injectable.dart'; import 'package:remever/database/database.dart'; import 'package:remever/inject.dart'; import 'package:remever/services/training/training_interface.dart'; @Singleton(as: TrainingInterface) final class TrainingService implements TrainingInterface { // @override // Future removeTicket(String ticketId) async { // return await getIt().ticketsDao.removeTicket(ticketId); // } @override Future> getTraining() async { try { final db = getIt(); final rows = await db .customSelect('SELECT * FROM tickets ORDER BY RANDOM() LIMIT 10') .get(); return rows.map((row) { final data = row.data; print("ALARMA $data"); // Преобразуем snake_case ключи в camelCase для Moor сериализатора final camelCaseData = { 'id': data['id'], 'createdAt': data['created_at'], 'updatedAt': data['updated_at'], 'question': data['question'], 'questionImage': data['question_image'], 'answer': data['answer'], 'answerImage': data['answer_image'], 'collectionId': data['collection_id'], 'progress': data['progress'], }; return Ticket.fromJson(camelCaseData); }).toList(); } catch (e) { print('Error in training $e'); return []; } } }