TIF_E41211115_Genso_quiz_app/lib/data/services/subject_service.dart

32 lines
985 B
Dart

import 'package:dio/dio.dart';
import 'package:get/get.dart';
import 'package:quiz_app/core/endpoint/api_endpoint.dart';
import 'package:quiz_app/data/models/base/base_model.dart';
import 'package:quiz_app/data/models/subject/subject_model.dart';
import 'package:quiz_app/data/providers/dio_client.dart';
class SubjectService extends GetxService {
late final Dio dio;
@override
void onInit() {
dio = Get.find<ApiClient>().dio;
super.onInit();
}
Future<BaseResponseModel<List<SubjectModel>>> getSubject() async {
final response = await dio.get(APIEndpoint.subject);
if (response.statusCode == 200) {
final parsedResponse = BaseResponseModel<List<SubjectModel>>.fromJson(
response.data,
(data) => (data as List).map((e) => SubjectModel.fromJson(e as Map<String, dynamic>)).toList(),
);
return parsedResponse;
} else {
throw Exception('Failed to fetch subjects. Status code: ${response.statusCode}');
}
}
}