Skip to content

Commit ddc29f8

Browse files
PratyushSingh07therajanmaurya
authored andcommitted
refactor #1503: kyc usecase migrated to kotlin
1 parent 13c8c64 commit ddc29f8

File tree

9 files changed

+186
-300
lines changed

9 files changed

+186
-300
lines changed

core/data/src/main/java/org/mifos/mobilewallet/core/domain/usecase/kyc/FetchKYCLevel1Details.java

-78
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package org.mifos.mobilewallet.core.domain.usecase.kyc
2+
3+
import org.mifos.mobilewallet.core.base.UseCase
4+
import org.mifos.mobilewallet.core.data.fineract.entity.kyc.KYCLevel1Details
5+
import org.mifos.mobilewallet.core.data.fineract.repository.FineractRepository
6+
import rx.Subscriber
7+
import rx.android.schedulers.AndroidSchedulers
8+
import rx.schedulers.Schedulers
9+
import javax.inject.Inject
10+
11+
/**
12+
* Created by ankur on 24/May/2018
13+
*/
14+
class FetchKYCLevel1Details @Inject constructor(private val mFineractRepository: FineractRepository) :
15+
UseCase<FetchKYCLevel1Details.RequestValues, FetchKYCLevel1Details.ResponseValue>() {
16+
17+
class RequestValues(val clientId: Int) : UseCase.RequestValues
18+
class ResponseValue(
19+
val kycLevel1DetailsList: List<KYCLevel1Details?>
20+
) : UseCase.ResponseValue
21+
22+
override fun executeUseCase(requestValues: RequestValues) {
23+
mFineractRepository.fetchKYCLevel1Details(requestValues.clientId)
24+
.observeOn(AndroidSchedulers.mainThread())
25+
.subscribeOn(Schedulers.io())
26+
.subscribe(object : Subscriber<List<KYCLevel1Details?>>() {
27+
override fun onCompleted() {}
28+
override fun onError(e: Throwable) {
29+
useCaseCallback.onError(e.toString())
30+
}
31+
32+
override fun onNext(kycLevel1Details: List<KYCLevel1Details?>) {
33+
useCaseCallback.onSuccess(
34+
ResponseValue(kycLevel1Details)
35+
)
36+
}
37+
})
38+
39+
}
40+
}

core/data/src/main/java/org/mifos/mobilewallet/core/domain/usecase/kyc/UpdateKYCLevel1Details.java

-68
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package org.mifos.mobilewallet.core.domain.usecase.kyc
2+
3+
import org.mifos.mobilewallet.core.base.UseCase
4+
import org.mifos.mobilewallet.core.data.fineract.api.GenericResponse
5+
import org.mifos.mobilewallet.core.data.fineract.entity.kyc.KYCLevel1Details
6+
import org.mifos.mobilewallet.core.data.fineract.repository.FineractRepository
7+
import rx.Subscriber
8+
import rx.android.schedulers.AndroidSchedulers
9+
import rx.schedulers.Schedulers
10+
import javax.inject.Inject
11+
12+
/**
13+
* Created by ankur on 25/May/2018
14+
*/
15+
class UpdateKYCLevel1Details @Inject constructor(private val mFineractRepository: FineractRepository) :
16+
UseCase<UpdateKYCLevel1Details.RequestValues, UpdateKYCLevel1Details.ResponseValue>() {
17+
18+
class RequestValues(
19+
val clientId: Int,
20+
val kycLevel1Details: KYCLevel1Details
21+
) : UseCase.RequestValues
22+
23+
class ResponseValue : UseCase.ResponseValue
24+
25+
override fun executeUseCase(requestValues: RequestValues) {
26+
mFineractRepository.updateKYCLevel1Details(
27+
requestValues.clientId,
28+
requestValues.kycLevel1Details
29+
)
30+
.observeOn(AndroidSchedulers.mainThread())
31+
.subscribeOn(Schedulers.io())
32+
.subscribe(object : Subscriber<GenericResponse>() {
33+
override fun onCompleted() {}
34+
override fun onError(e: Throwable) {
35+
useCaseCallback.onError(e.toString())
36+
}
37+
38+
override fun onNext(t: GenericResponse) {
39+
useCaseCallback.onSuccess(ResponseValue())
40+
}
41+
42+
})
43+
44+
}
45+
}

core/data/src/main/java/org/mifos/mobilewallet/core/domain/usecase/kyc/UploadKYCDocs.java

-74
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package org.mifos.mobilewallet.core.domain.usecase.kyc
2+
3+
import okhttp3.MultipartBody
4+
import org.mifos.mobilewallet.core.base.UseCase
5+
import org.mifos.mobilewallet.core.data.fineract.api.GenericResponse
6+
import org.mifos.mobilewallet.core.data.fineract.repository.FineractRepository
7+
import rx.Subscriber
8+
import rx.android.schedulers.AndroidSchedulers
9+
import rx.schedulers.Schedulers
10+
import javax.inject.Inject
11+
12+
/**
13+
* Created by ankur on 16/May/2018
14+
*/
15+
class UploadKYCDocs @Inject constructor(private val apiRepository: FineractRepository) :
16+
UseCase<UploadKYCDocs.RequestValues, UploadKYCDocs.ResponseValue>() {
17+
18+
class RequestValues(
19+
val entitytype: String, val clientId: Long, val docname: String,
20+
val identityType: String, val file: MultipartBody.Part
21+
) : UseCase.RequestValues
22+
23+
class ResponseValue : UseCase.ResponseValue
24+
25+
override fun executeUseCase(requestValues: RequestValues) {
26+
apiRepository.uploadKYCDocs(
27+
requestValues.entitytype, requestValues.clientId,
28+
requestValues.docname, requestValues.identityType, requestValues.file
29+
)
30+
.observeOn(AndroidSchedulers.mainThread())
31+
.subscribeOn(Schedulers.io())
32+
.subscribe(object : Subscriber<GenericResponse>() {
33+
override fun onCompleted() {}
34+
override fun onError(e: Throwable) {
35+
useCaseCallback.onError(e.toString())
36+
}
37+
38+
override fun onNext(t: GenericResponse) {
39+
useCaseCallback.onSuccess(ResponseValue())
40+
}
41+
})
42+
43+
}
44+
}

0 commit comments

Comments
 (0)