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.
46 lines
1.5 KiB
Dart
46 lines
1.5 KiB
Dart
import 'package:mc_common_app/api/api_client.dart';
|
|
import 'package:mc_common_app/classes/app_state.dart';
|
|
import 'package:mc_common_app/classes/consts.dart';
|
|
import 'package:mc_common_app/config/dependencies.dart';
|
|
import 'package:mc_common_app/models/generic_resp_model.dart';
|
|
import 'package:mc_common_app/models/requests/request_model.dart';
|
|
|
|
abstract class RequestRepo {
|
|
Future<GenericRespModel> createRequest(Map<String, dynamic> map);
|
|
|
|
Future<List<RequestModel>> getRequests(Map<String, dynamic> postParams);
|
|
}
|
|
|
|
class RequestRepoImp implements RequestRepo {
|
|
ApiClient apiClient = injector.get<ApiClient>();
|
|
AppState appState = injector.get<AppState>();
|
|
|
|
@override
|
|
Future<GenericRespModel> createRequest(Map<String, dynamic> postParams) async {
|
|
GenericRespModel enumGenericModel = await apiClient.postJsonForObject(
|
|
(json) => GenericRespModel.fromJson(json),
|
|
ApiConsts.createRequest,
|
|
postParams,
|
|
token: appState.getUser.data!.accessToken,
|
|
);
|
|
return enumGenericModel;
|
|
}
|
|
|
|
@override
|
|
Future<List<RequestModel>> getRequests(Map<String, dynamic> postParams) async {
|
|
GenericRespModel enumGenericModel = await apiClient.postJsonForObject(
|
|
(json) => GenericRespModel.fromJson(json),
|
|
ApiConsts.getRequest,
|
|
postParams,
|
|
token: appState.getUser.data!.accessToken,
|
|
);
|
|
List<RequestModel> requests = List.generate(
|
|
enumGenericModel.data.length,
|
|
(index) => RequestModel.fromJson(
|
|
enumGenericModel.data[index],
|
|
),
|
|
);
|
|
return requests;
|
|
}
|
|
}
|