import 'dart:async'; import 'package:http/http.dart'; import 'package:car_customer_app/classes/consts.dart'; import 'package:car_customer_app/models/content_info_model.dart'; import 'package:car_customer_app/models/member_model.dart'; import 'package:car_customer_app/models/surah_model.dart'; import 'package:car_customer_app/models/user/basic_otp.dart'; import 'package:car_customer_app/models/user/register_user.dart'; import 'api_client.dart'; class UserApiClent { static final UserApiClent _instance = UserApiClent._internal(); UserApiClent._internal(); factory UserApiClent() => _instance; Future basicOtp(String phoneNo,{int otpType=1}) async { var postParams = {"countryID": 1, "userMobileNo": phoneNo, "otpType": otpType, "userRole": 4}; return await ApiClient().postJsonForObject((json) => BasicOtp.fromJson(json), ApiConsts.BasicOTP, postParams); } Future basicVerify(String phoneNo, String otp, String userToken) async { var postParams = { "userMobileNo": phoneNo, "userOTP": otp, "userToken": userToken, }; return await ApiClient().postJsonForObject((json) => RegisterUser.fromJson(json), ApiConsts.BasicVerify, postParams); } Future basicComplete(String userId, String firstName, String lastName,String email,String password) async { var postParams = { "userID": userId, "firstName": firstName, "lastName": lastName, "email": email, "companyName": "string", "isEmailVerified": true, "password": password }; return await ApiClient().postJsonForObject((json) => RegisterUser.fromJson(json), ApiConsts.BasicComplete, postParams); } Future login_V1(String phoneNo, String password) async { var postParams = { "mobileorEmail": phoneNo, "password": password, }; return await ApiClient().postJsonForResponse(ApiConsts.Login_V1, postParams); //return await ApiClient().postJsonForObject((json) => BasicOtp.fromJson(json), ApiConsts.Login_V1, postParams); } Future login_V2_OTP(String userToken, String loginType) async { var postParams = { "userToken": userToken, "loginType": loginType, }; return await ApiClient().postJsonForResponse(ApiConsts.Login_V2_OTP, postParams); } Future login_V2_OTPVerify(String userToken, String otp) async { var postParams = { "userToken": userToken, "userOTP": otp }; return await ApiClient().postJsonForResponse(ApiConsts.Login_V2_OTPVerify, postParams); } }