Skip to content

Commit f22b0d4

Browse files
shashank-0-0Ankit-Rain-Kharwar1ankitkumarrainshashank-0-0
authored
Mifo 557 (#2542)
Co-authored-by: Ankit kumar <ankitparyavarain03@gmail.com> Co-authored-by: ANKIT KUMAR <ankitkumarrain12@gmail.com> Co-authored-by: shashank-0-0 <ss068467@gmail.com>
1 parent 87acaa5 commit f22b0d4

File tree

21 files changed

+604
-97
lines changed

21 files changed

+604
-97
lines changed

core/data/src/commonMain/kotlin/com/mifos/core/data/di/RepositoryModule.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import com.mifos.core.data.repository.DataTableRepository
2929
import com.mifos.core.data.repository.DataTableRowDialogRepository
3030
import com.mifos.core.data.repository.DocumentCreateUpdateRepository
3131
import com.mifos.core.data.repository.DocumentListRepository
32+
import com.mifos.core.data.repository.FixedDepositRepository
3233
import com.mifos.core.data.repository.GenerateCollectionSheetRepository
3334
import com.mifos.core.data.repository.GroupDetailsRepository
3435
import com.mifos.core.data.repository.GroupListRepository
@@ -91,6 +92,7 @@ import com.mifos.core.data.repositoryImp.DataTableRepositoryImp
9192
import com.mifos.core.data.repositoryImp.DataTableRowDialogRepositoryImp
9293
import com.mifos.core.data.repositoryImp.DocumentCreateUpdateRepositoryImp
9394
import com.mifos.core.data.repositoryImp.DocumentListRepositoryImp
95+
import com.mifos.core.data.repositoryImp.FixedDepositRepositoryImpl
9496
import com.mifos.core.data.repositoryImp.GenerateCollectionSheetRepositoryImp
9597
import com.mifos.core.data.repositoryImp.GroupDetailsRepositoryImp
9698
import com.mifos.core.data.repositoryImp.GroupListRepositoryImp
@@ -223,6 +225,7 @@ val RepositoryModule = module {
223225

224226
singleOf(::RecurringAccountRepositoryImp) bind RecurringAccountRepository::class
225227
singleOf(::ShareAccountRepositoryImpl) bind ShareAccountRepository::class
228+
singleOf(::FixedDepositRepositoryImpl) bind FixedDepositRepository::class
226229

227230
includes(platformModule)
228231
single<PlatformDependentDataModule> { getPlatformDataModule }
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.mifos.core.data.repository
2+
3+
import com.mifos.core.common.utils.DataState
4+
import com.mifos.core.network.model.FixedDepositTemplate
5+
import kotlinx.coroutines.flow.Flow
6+
7+
interface FixedDepositRepository {
8+
fun getFixedDepositTemplate(
9+
clientId: Int,
10+
productId: Int?
11+
): Flow<DataState<FixedDepositTemplate>>
12+
13+
14+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.mifos.core.data.repositoryImp
2+
3+
4+
import com.mifos.core.common.utils.DataState
5+
import com.mifos.core.common.utils.asDataStateFlow
6+
import com.mifos.core.data.repository.FixedDepositRepository
7+
import com.mifos.core.network.datamanager.DataManagerFixedDeposit
8+
import com.mifos.core.network.model.FixedDepositTemplate
9+
import kotlinx.coroutines.flow.Flow
10+
11+
class FixedDepositRepositoryImpl (private val dataManagerFixedDeposit: DataManagerFixedDeposit): FixedDepositRepository{
12+
13+
override fun getFixedDepositTemplate(clientId: Int,productId: Int?): Flow<DataState<FixedDepositTemplate>> {
14+
return dataManagerFixedDeposit.getFixedDepositTemplate(clientId,productId).asDataStateFlow()
15+
}
16+
17+
18+
19+
20+
}

core/database/src/commonMain/kotlin/com/mifos/room/basemodel/APIEndPoint.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,6 @@ object APIEndPoint {
4141
const val NOTES = "notes"
4242
const val MAKER_CHECKER = "makercheckers"
4343
const val SHARE = "share"
44+
45+
const val FIXED_DEPOSIT ="fixeddepositaccounts"
4446
}

core/database/src/commonMain/kotlin/com/mifos/room/entities/accounts/savings/SavingAccountDepositTypeEntity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ data class SavingAccountDepositTypeEntity(
4444

4545
enum class ServerTypes(val id: Int, val code: String, val endpoint: String) {
4646
SAVINGS(100, "depositAccountType.savingsDeposit", APIEndPoint.SAVINGS_ACCOUNTS),
47-
FIXED(200, "depositAccountType.fixedDeposit", APIEndPoint.SAVINGS_ACCOUNTS),
47+
FIXED(200, "depositAccountType.fixedDeposit", APIEndPoint.FIXED_DEPOSIT),
4848
RECURRING(300, "depositAccountType.recurringDeposit", APIEndPoint.RECURRING_ACCOUNTS),
4949
;
5050

core/network/src/commonMain/kotlin/com/mifos/core/network/BaseApiManager.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import com.mifos.core.network.services.SearchService
4444
import com.mifos.core.network.services.ShareAccountService
4545
import com.mifos.core.network.services.StaffService
4646
import com.mifos.core.network.services.SurveyService
47+
import com.mifos.core.network.services.FixedDepositService
4748
import com.mifos.core.network.services.createCenterService
4849
import com.mifos.core.network.services.createChargeService
4950
import com.mifos.core.network.services.createCheckerInboxService
@@ -59,6 +60,7 @@ import com.mifos.core.network.services.createOfficeService
5960
import com.mifos.core.network.services.createRecurringAccountService
6061
import com.mifos.core.network.services.createRunReportsService
6162
import com.mifos.core.network.services.createSavingsAccountService
63+
import com.mifos.core.network.services.createFixedDepositService
6264
import com.mifos.core.network.services.createSearchService
6365
import com.mifos.core.network.services.createShareAccountService
6466
import com.mifos.core.network.services.createStaffService
@@ -76,6 +78,7 @@ class BaseApiManager(
7678
val dataTableService: DataTableService = ktorfit.createDataTableService()
7779
val loanService: LoanService = ktorfit.createLoanService()
7880
val savingsService: SavingsAccountService = ktorfit.createSavingsAccountService()
81+
val fixedDepositService: FixedDepositService = ktorfit.createFixedDepositService()
7982

8083
val recurringSavingsAccountService: RecurringAccountService = ktorfit.createRecurringAccountService()
8184
val searchService: SearchService = ktorfit.createSearchService()
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.mifos.core.network.datamanager
2+
3+
import com.mifos.core.network.BaseApiManager
4+
import com.mifos.core.network.model.FixedDepositTemplate
5+
import kotlinx.coroutines.flow.Flow
6+
7+
class DataManagerFixedDeposit (private val baseApiManager: BaseApiManager){
8+
9+
fun getFixedDepositTemplate(clientId:Int,productId: Int?): Flow<FixedDepositTemplate> =
10+
baseApiManager.fixedDepositService.fixedDepositProductTemplate(clientId,productId)
11+
12+
}

core/network/src/commonMain/kotlin/com/mifos/core/network/di/DataMangerModule.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import com.mifos.core.network.datamanager.DataManagerDataTable
2121
import com.mifos.core.network.datamanager.DataManagerDocument
2222
import com.mifos.core.network.datamanager.DataManagerGroups
2323
import com.mifos.core.network.datamanager.DataManagerIdentifiers
24+
import com.mifos.core.network.datamanager.DataManagerFixedDeposit
2425
import com.mifos.core.network.datamanager.DataManagerLoan
2526
import com.mifos.core.network.datamanager.DataManagerNote
2627
import com.mifos.core.network.datamanager.DataManagerOffices
@@ -55,4 +56,5 @@ val DataManagerModule = module {
5556
single { DataManagerIdentifiers(get()) }
5657
single { DataManagerRecurringAccount(get()) }
5758
single { DataManagerShare(get()) }
59+
single { DataManagerFixedDeposit(get()) }
5860
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.mifos.core.network.model
2+
3+
4+
import kotlinx.serialization.SerialName
5+
import kotlinx.serialization.Serializable
6+
7+
@Serializable
8+
data class FixedDepositProductOption(
9+
@SerialName("id")
10+
val id: Int? = null,
11+
12+
@SerialName("name")
13+
val name: String? = null,
14+
15+
@SerialName("withHoldTax")
16+
val withHoldTax: Boolean? = null,
17+
)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.mifos.core.network.model
2+
3+
import com.mifos.core.model.objects.account.saving.FieldOfficerOptions
4+
import com.mifos.core.model.utils.IgnoredOnParcel
5+
import kotlinx.serialization.SerialName
6+
import kotlinx.serialization.Serializable
7+
8+
9+
10+
@Serializable
11+
data class FixedDepositTemplate(
12+
@SerialName("clientId")
13+
val clientId: Int? = null,
14+
15+
@SerialName(value = "clientName")
16+
val clientName: String? = null,
17+
18+
@SerialName("productOptions")
19+
val productOptions: List<FixedDepositProductOption>? = null,
20+
21+
@SerialName("fieldOfficerOptions")
22+
val fieldOfficerOptions: List<FieldOfficerOptions>? = null,
23+
24+
)

0 commit comments

Comments
 (0)