import 'package:http/http.dart' as http; import 'package:job_app/config/apiUrl.dart'; import 'package:job_app/models/APiResponse.dart'; class ResetPasswordService{ Future sendCodeToEmail(String email)async{ int statusCode = -1; Map headers = {'Content-Type': 'application/json'}; var request = new http.MultipartRequest( 'POST', Uri.parse(ApiUrl.url+'v1/reset_password_first_step')); request.headers.addAll(headers); request.fields['email'] = email; var results = await request.send(); var responseData = await results.stream.toBytes(); var responseString = String.fromCharCodes(responseData); statusCode = results.statusCode; if(statusCode==200|| statusCode==201){ ApiResponseModel(statusCode: statusCode,errorMessage: null,data: responseString); } return ApiResponseModel(statusCode: statusCode,errorMessage: responseString,data: null); } Future verifyCode(String email,String resetCode)async{ int statusCode = -1; Map headers = {'Content-Type': 'application/json'}; var request = new http.MultipartRequest( 'POST', Uri.parse(ApiUrl.url+'v1/validate_reset_code_second_step')); request.headers.addAll(headers); request.fields['email'] = email; request.fields['reset_code'] = resetCode; var results = await request.send(); var responseData = await results.stream.toBytes(); var responseString = String.fromCharCodes(responseData); statusCode = results.statusCode; if(statusCode==200|| statusCode==201){ ApiResponseModel(statusCode: statusCode,errorMessage: null,data:responseString); }else{ ApiResponseModel(statusCode: statusCode,errorMessage: responseString,data: null); } return ApiResponseModel(statusCode: statusCode,errorMessage: "Try Again Later",data: null); } Future changePassword(String email,String resetCode, String password)async{ int statusCode = -1 ; Map headers = {'Content-Type': 'application/json'}; var request = new http.MultipartRequest( 'POST', Uri.parse(ApiUrl.url+'v1/change_password_final_step')); request.headers.addAll(headers); request.fields['email'] = email; request.fields['password'] = password; request.fields['reset_code'] = resetCode; var results = await request.send(); var responseData = await results.stream.toBytes(); var responseString = String.fromCharCodes(responseData); statusCode = results.statusCode; statusCode=results.statusCode; if(statusCode==200|| statusCode==201){ ApiResponseModel(statusCode: statusCode,errorMessage: null,data: responseString); }else{ return ApiResponseModel(statusCode: statusCode,errorMessage: responseString,data: null); } return ApiResponseModel(statusCode: statusCode,errorMessage: "Try again later",data: null); } }