diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/gateway/LoginV2Gateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/gateway/LoginV2Gateway.java index 9f819fe2..3b7c5d2e 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/gateway/LoginV2Gateway.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/gateway/LoginV2Gateway.java @@ -5,6 +5,8 @@ import android.content.SharedPreferences; import com.gmeremit.online.gmeremittance_native.GmeApplication; import com.gmeremit.online.gmeremittance_native.base.PrefKeys; import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway; +import com.gmeremit.online.gmeremittance_native.loginV2.model.LoginModelV2; +import com.gmeremit.online.gmeremittance_native.loginV2.model.LoginV2DataApiResponse; import com.gmeremit.online.gmeremittance_native.loginV2.presenter.LoginV2InteractorInterface; import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.AddRecipientApiResponse; import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientlisting.GetAllRecipientApiResponse; @@ -27,7 +29,7 @@ public class LoginV2Gateway extends PrivilegedGateway implements LoginV2Interact } @Override - public Observable loginUser(String auth, String userId, String password) { + public Observable loginUser(String auth, String userId, String password) { JsonObject jsonObject=new JsonObject(); jsonObject.addProperty("userId",userId); jsonObject.addProperty("password",password); @@ -36,7 +38,7 @@ public class LoginV2Gateway extends PrivilegedGateway implements LoginV2Interact } @Override - public Observable saveUserInfo(LoginApiResponseModelV2 loginApiResponseModelV2) { + public Observable saveUserInfo(LoginModelV2 loginApiResponseModelV2) { return Observable.create(observable->{ diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/model/LoginModelV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/model/LoginModelV2.java new file mode 100644 index 00000000..930791f1 --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/model/LoginModelV2.java @@ -0,0 +1,338 @@ +package com.gmeremit.online.gmeremittance_native.loginV2.model; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class LoginModelV2 { + + @SerializedName("userId") + @Expose + private String userId; + @SerializedName("firstName") + @Expose + private String firstName; + @SerializedName("middleName") + @Expose + private String middleName; + @SerializedName("lastName") + @Expose + private String lastName; + @SerializedName("nickName") + @Expose + private String nickName; + @SerializedName("email") + @Expose + private String email; + @SerializedName("mobileNumber") + @Expose + private String mobileNumber; + @SerializedName("rewardPoint") + @Expose + private String rewardPoint; + @SerializedName("walletNumber") + @Expose + private String walletNumber; + @SerializedName("availableBalance") + @Expose + private String availableBalance; + @SerializedName("primaryBankName") + @Expose + private String primaryBankName; + @SerializedName("accessCode") + @Expose + private String accessCode; + @SerializedName("dpUrl") + @Expose + private String dpUrl; + @SerializedName("kyc") + @Expose + private Boolean kyc; + @SerializedName("verified") + @Expose + private Boolean verified; + @SerializedName("active") + @Expose + private Boolean active; + @SerializedName("cmRegistrationId") + @Expose + private String cmRegistrationId; + @SerializedName("isReferred") + @Expose + private Boolean isReferred; + @SerializedName("country") + @Expose + private String country; + @SerializedName("province") + @Expose + private String province; + @SerializedName("provinceId") + @Expose + private String provinceId; + @SerializedName("sourceId") + @Expose + private String sourceId; + @SerializedName("idType") + @Expose + private String idType; + @SerializedName("idNumber") + @Expose + private String idNumber; + @SerializedName("countryCode") + @Expose + private String countryCode; + @SerializedName("ErrorCode") + @Expose + private String errorCode; + @SerializedName("Msg") + @Expose + private String msg; + @SerializedName("Id") + @Expose + private String id; + @SerializedName("senderId") + @Expose + private String senderId; + @SerializedName("Data") + @Expose + private Object data; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getMiddleName() { + return middleName; + } + + public void setMiddleName(String middleName) { + this.middleName = middleName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getMobileNumber() { + return mobileNumber; + } + + public void setMobileNumber(String mobileNumber) { + this.mobileNumber = mobileNumber; + } + + public String getRewardPoint() { + return rewardPoint; + } + + public void setRewardPoint(String rewardPoint) { + this.rewardPoint = rewardPoint; + } + + public String getWalletNumber() { + return walletNumber; + } + + public void setWalletNumber(String walletNumber) { + this.walletNumber = walletNumber; + } + + public String getAvailableBalance() { + return availableBalance; + } + + public void setAvailableBalance(String availableBalance) { + this.availableBalance = availableBalance; + } + + public String getPrimaryBankName() { + return primaryBankName; + } + + public void setPrimaryBankName(String primaryBankName) { + this.primaryBankName = primaryBankName; + } + + public String getAccessCode() { + return accessCode; + } + + public void setAccessCode(String accessCode) { + this.accessCode = accessCode; + } + + public String getDpUrl() { + return dpUrl; + } + + public void setDpUrl(String dpUrl) { + this.dpUrl = dpUrl; + } + + public Boolean getKyc() { + return kyc; + } + + public void setKyc(Boolean kyc) { + this.kyc = kyc; + } + + public Boolean getVerified() { + return verified; + } + + public void setVerified(Boolean verified) { + this.verified = verified; + } + + public Boolean getActive() { + return active; + } + + public void setActive(Boolean active) { + this.active = active; + } + + public String getCmRegistrationId() { + return cmRegistrationId; + } + + public void setCmRegistrationId(String cmRegistrationId) { + this.cmRegistrationId = cmRegistrationId; + } + + public Boolean getReferred() { + return isReferred; + } + + public void setReferred(Boolean referred) { + isReferred = referred; + } + + public String getCountry() { + return country; + } + + public void setCountry(String country) { + this.country = country; + } + + public String getProvince() { + return province; + } + + public void setProvince(String province) { + this.province = province; + } + + public String getProvinceId() { + return provinceId; + } + + public void setProvinceId(String provinceId) { + this.provinceId = provinceId; + } + + public String getSourceId() { + return sourceId; + } + + public void setSourceId(String sourceId) { + this.sourceId = sourceId; + } + + public String getIdType() { + return idType; + } + + public void setIdType(String idType) { + this.idType = idType; + } + + public String getIdNumber() { + return idNumber; + } + + public void setIdNumber(String idNumber) { + this.idNumber = idNumber; + } + + public String getCountryCode() { + return countryCode; + } + + public void setCountryCode(String countryCode) { + this.countryCode = countryCode; + } + + public String getErrorCode() { + return errorCode; + } + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Object getData() { + return data; + } + + public String getSenderId() { + return senderId; + } + + public void setSenderId(String senderId) { + this.senderId = senderId; + } + + public void setData(Object data) { + this.data = data; + } +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/model/LoginV2DataApiResponse.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/model/LoginV2DataApiResponse.java new file mode 100644 index 00000000..dee25012 --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/model/LoginV2DataApiResponse.java @@ -0,0 +1,54 @@ +package com.gmeremit.online.gmeremittance_native.loginV2.model; + +import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.RecipientRelatedModel; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class LoginV2DataApiResponse { + + @SerializedName("ErrorCode") + @Expose + private String errorCode; + @SerializedName("Msg") + @Expose + private String msg; + @SerializedName("Id") + @Expose + private String id; + @SerializedName("Data") + @Expose + + private LoginModelV2 data; + + public String getErrorCode() { + return errorCode; + } + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public LoginModelV2 getData() { + return data; + } + + public void setData(LoginModelV2 data) { + this.data = data; + } +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2InteractorInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2InteractorInterface.java index 0eb2f1ee..8e1bb6b7 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2InteractorInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2InteractorInterface.java @@ -2,6 +2,8 @@ package com.gmeremit.online.gmeremittance_native.loginV2.presenter; import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface; import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface; +import com.gmeremit.online.gmeremittance_native.loginV2.model.LoginModelV2; +import com.gmeremit.online.gmeremittance_native.loginV2.model.LoginV2DataApiResponse; import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.AddRecipientApiResponse; import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientadd.RecipientRelatedDataApiResponse; import com.gmeremit.online.gmeremittance_native.sign_in.model.data.LoginApiResponseModelV2; @@ -13,8 +15,8 @@ public interface LoginV2InteractorInterface extends BaseInteractorInterface { interface Login2GatewayInterface extends PrivilegedGatewayInterface { - Observable loginUser(String auth, String userId, String password); + Observable loginUser(String auth, String userId, String password); - Observable saveUserInfo(LoginApiResponseModelV2 userRelatedData); + Observable saveUserInfo(LoginModelV2 userRelatedData); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java index ca9a52ed..6162e78a 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java @@ -4,6 +4,8 @@ import com.gmeremit.online.gmeremittance_native.GmeApplication; import com.gmeremit.online.gmeremittance_native.base.BasePresenter; import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; import com.gmeremit.online.gmeremittance_native.loginV2.gateway.LoginV2Gateway; +import com.gmeremit.online.gmeremittance_native.loginV2.model.LoginModelV2; +import com.gmeremit.online.gmeremittance_native.utils.Constants; import com.gmeremit.online.gmeremittance_native.utils.Utils; import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse; @@ -38,9 +40,16 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI .doFinally(()->view.showProgressBar(false,"")) .subscribeOn(Schedulers.io()) .flatMap(loginResponse->{ - String accessCode = Utils.toBase64(loginResponse.getAccessCode() + ":" + GmeApplication.getAppRelatedMetaData().getDeviceId()); - loginResponse.setAccessCode(accessCode); - return gateway.saveUserInfo(loginResponse); + if(!loginResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { + LoginModelV2 data=loginResponse.getData(); + String accessCode = Utils.toBase64(data.getAccessCode() + ":" + GmeApplication.getAppRelatedMetaData().getDeviceId()); + data.setAccessCode(accessCode); + return gateway.saveUserInfo(data); + } + else + { + return Observable.error(new Exception(loginResponse.getMsg())); + } }) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new LoginObserver()); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java index 8d82f9c5..7c0e2921 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java @@ -24,6 +24,7 @@ import com.gmeremit.online.gmeremittance_native.kycform.model.data.Occupation; import com.gmeremit.online.gmeremittance_native.kycform.model.data.Province; import com.gmeremit.online.gmeremittance_native.kycform.model.data.ReferrelCodeRequest; import com.gmeremit.online.gmeremittance_native.kycform.model.data.VerificationType; +import com.gmeremit.online.gmeremittance_native.loginV2.model.LoginV2DataApiResponse; import com.gmeremit.online.gmeremittance_native.mobile_recharge.model.data.MobileRechargeRequestObject; import com.gmeremit.online.gmeremittance_native.mobile_recharge.model.data.MobileRechargeResponseObject; import com.gmeremit.online.gmeremittance_native.mobile_recharge.model.data.RechargeAmounts; @@ -586,7 +587,7 @@ public interface ApiEndpoints { @POST(API_URL.SIGN_IN_V2) @Headers("Content-Type: application/json") - Observable signInV2(@Header("Authorization") String token, @Body JsonObject signInJsonBody); + Observable signInV2(@Header("Authorization") String token, @Body JsonObject signInJsonBody); @POST(API_URL.SIGN_UP_V2) @Headers("Content-Type: application/json")