import 'package:dio/dio.dart'; import '../app/constants.dart'; import '../model/ac_company_response_model.dart'; import '../model/ac_doctor_model.dart'; import '../model/ac_mou_response_model.dart'; import '../model/mitra_response_model.dart'; import 'base_repository.dart'; class MitraRepository extends BaseRepository { MitraRepository({required super.dio}); Future add({ required String token, required String companyID, required List mouID, required String doctorID, required String doctorAddressID, required String login, required String password, CancelToken? cancelToken, }) async { final param = { "token": token, "companyID": companyID, "mouID": mouID, "doctorID": doctorID, "doctorAddressID": doctorAddressID, "login": login, "password": password }; final service = "${Constants.baseUrl}md/add"; await post(service: service, jsonParam: param, cancelToken: cancelToken); return true; } Future> search({ required String query, CancelToken? cancelToken, }) async { final param = {"query": query}; final service = "${Constants.baseUrl}md/search"; final resp = await post( service: service, jsonParam: param, cancelToken: cancelToken); final List result = List.empty(growable: true); for (final el in resp["data"]) { final model = MitraResponseModel.fromJson(el); result.add(model); } return result; } Future> lookupDoctor({ required String query, CancelToken? cancelToken, }) async { final param = {"query": query}; final service = "${Constants.baseUrl}md/lookup_doctor"; final resp = await post( service: service, jsonParam: param, cancelToken: cancelToken); final List result = List.empty(growable: true); for (final el in resp["data"]) { final model = AcDoctorResponseModel.fromJson(el); result.add(model); } return result; } Future> lookupDoctorAddress({ required String doctorID, CancelToken? cancelToken, }) async { final service = "${Constants.baseUrl}md/lookup_doctoraddress/$doctorID"; final resp = await get(service: service, cancelToken: cancelToken); final List result = List.empty(growable: true); for (final el in resp["data"]) { final model = AcDoctorAddressResponseModel.fromJson(el); result.add(model); } return result; } Future> lookupCompany({ required String query, CancelToken? cancelToken, }) async { final param = {"query": query}; final service = "${Constants.baseUrl}md/lookup_company"; final resp = await post( service: service, jsonParam: param, cancelToken: cancelToken); final List result = List.empty(growable: true); for (final el in resp["data"]) { final model = AcCompanyModel.fromJson(el); result.add(model); } return result; } Future> lookupMou({ required String companyID, CancelToken? cancelToken, }) async { final service = "${Constants.baseUrl}md/lookup_mou/$companyID"; final resp = await get(service: service, cancelToken: cancelToken); final List result = List.empty(growable: true); for (final el in resp["data"]) { final model = AcMouResponseModel.fromJson(el); model.isCheck = false; result.add(model); } return result; } }