blob: 95c6602ef9ec57f32d4b9e38171656d99d6217e2 [file] [log] [blame]
package org.apache.fineract.data.datamanager;
import org.apache.fineract.data.local.PreferencesHelper;
import org.apache.fineract.data.models.deposit.DepositAccount;
import org.apache.fineract.data.models.deposit.ProductDefinition;
import org.apache.fineract.data.remote.BaseApiManager;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import io.reactivex.Completable;
import io.reactivex.Observable;
/**
* @author Rajan Maurya
* On 07/07/17.
*/
@Singleton
public class DataManagerDeposit extends MifosBaseDataManager {
private final BaseApiManager baseApiManager;
private final PreferencesHelper preferencesHelper;
@Inject
public DataManagerDeposit(BaseApiManager baseApiManager, PreferencesHelper preferencesHelper,
DataManagerAuth dataManagerAuth) {
super(dataManagerAuth, preferencesHelper);
this.baseApiManager = baseApiManager;
this.preferencesHelper = preferencesHelper;
}
public Observable<List<DepositAccount>> getCustomerDepositAccounts(
String customerIdentifier) {
return authenticatedObservableApi(baseApiManager.getDepositApi()
.fetchCustomersDeposits(customerIdentifier));
}
public Observable<DepositAccount> getCustomerDepositAccountDetails(
String accountIdentifier) {
return authenticatedObservableApi(baseApiManager.getDepositApi()
.fetchCustomerDepositDetails(accountIdentifier));
}
public Observable<List<ProductDefinition>> fetchProductDefinitions() {
return authenticatedObservableApi(baseApiManager.getDepositApi().fetchProductDefinitions());
}
public Completable createDepositAccount(DepositAccount depositAccount) {
return authenticatedCompletableApi(baseApiManager.getDepositApi()
.createDepositAccount(depositAccount));
}
public Completable updateDepositAccount(String accountIdentifier,
DepositAccount depositAccount) {
return authenticatedCompletableApi(baseApiManager.getDepositApi()
.updateDepositAccount(accountIdentifier, depositAccount));
}
}