40 lines
1.1 KiB
Dart
40 lines
1.1 KiB
Dart
import 'package:dio/dio.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:quiz_app/core/endpoint/api_endpoint.dart';
|
|
import 'package:quiz_app/core/utils/logger.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 {
|
|
try {
|
|
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 {
|
|
return null;
|
|
}
|
|
} catch (e) {
|
|
logC.e("Quiz creation error: $e");
|
|
return null;
|
|
}
|
|
}
|
|
}
|