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 createRequest(Map map); Future> getRequests(Map postParams); } class RequestRepoImp implements RequestRepo { ApiClient apiClient = injector.get(); AppState appState = injector.get(); @override Future createRequest(Map postParams) async { GenericRespModel enumGenericModel = await apiClient.postJsonForObject( (json) => GenericRespModel.fromJson(json), ApiConsts.createRequest, postParams, token: appState.getUser.data!.accessToken, ); return enumGenericModel; } @override Future> getRequests(Map postParams) async { GenericRespModel enumGenericModel = await apiClient.postJsonForObject( (json) => GenericRespModel.fromJson(json), ApiConsts.getRequest, postParams, token: appState.getUser.data!.accessToken, ); List requests = List.generate( enumGenericModel.data.length, (index) => RequestModel.fromJson( enumGenericModel.data[index], ), ); return requests; } }