You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mohemm-flutter-app/lib/api/marathon/demo_marathon_repo.dart

49 lines
1.9 KiB
Dart

import 'dart:convert';
import 'dart:developer';
import 'package:flutter/services.dart';
import 'package:logger/logger.dart' as L;
import 'package:mohem_flutter_app/models/disclosure/disclosure_details_model.dart';
import 'package:mohem_flutter_app/models/disclosure/disclosure_question_model.dart';
import 'package:mohem_flutter_app/models/marathon/marathon_model.dart';
import 'package:mohem_flutter_app/models/marathon/question_model.dart';
class DemoMarathonRepo {
L.Logger logger = L.Logger();
Future<MarathonDetailModel> getDemoMarathonDetails() async {
String response = await rootBundle.loadString('assets/json/demo_upcoming_marathon');
var json = jsonDecode(response);
MarathonDetailModel marathonDetailModel = MarathonDetailModel.fromJson(json);
return marathonDetailModel;
}
Future<QuestionModel> getDemoNextQuestion({required int currentQuestionNumber}) async {
String response = await rootBundle.loadString('assets/json/demo_questions_marathon');
List json = jsonDecode(response);
QuestionModel currentQuestion = QuestionModel.fromJson(json.elementAt(currentQuestionNumber));
return currentQuestion;
}
}
class DisclosureRepo {
L.Logger logger = L.Logger();
Future<DisclosureDetailsModel> getDisclosureDetails() async {
String response = await rootBundle.loadString('assets/json/disclosure_upcoming.json');
var json = jsonDecode(response);
DisclosureDetailsModel marathonDetailModel = DisclosureDetailsModel.fromJson(json);
return marathonDetailModel;
}
Future<DisclosureQuestionModel> getDisclosureNextQuestion({required int currentQuestionNumber}) async {
log("getQuestion At Index: $currentQuestionNumber ");
String response = await rootBundle.loadString('assets/json/disclosure_questions.json');
List json = jsonDecode(response);
DisclosureQuestionModel currentQuestion = DisclosureQuestionModel.fromJson(json.elementAt(currentQuestionNumber));
return currentQuestion;
}
}