blob: f588836a9ab9737419c3a58a754a0675a8c71dab [file] [log] [blame]
package org.apache.fineract.data.datamanager.api
import io.reactivex.Completable
import io.reactivex.Observable
import io.reactivex.ObservableSource
import io.reactivex.functions.Function
import org.apache.fineract.data.local.PreferencesHelper
import org.apache.fineract.data.remote.BaseApiManager
import javax.inject.Inject
import org.apache.fineract.FakeRemoteDataSource
import org.apache.fineract.data.models.payroll.PayrollConfiguration
import javax.inject.Singleton
@Singleton
class DataManagerPayroll @Inject constructor(val baseManagerApi: BaseApiManager,
dataManagerAuth: DataManagerAuth,
val preferencesHelper: PreferencesHelper)
: FineractBaseDataManager(dataManagerAuth, preferencesHelper) {
fun fetchPayrollConfig(identifier: String): Observable<PayrollConfiguration> =
baseManagerApi.payrollService.getPayrollConfig(identifier)
.onErrorResumeNext(Function<Throwable, ObservableSource<PayrollConfiguration>>
{ Observable.just(FakeRemoteDataSource.getPayrollConfig()) })
fun editPayrollConfig(identifier: String, payrollConfiguration: PayrollConfiguration)
: Completable = baseManagerApi
.payrollService.updatePayrollConfig(identifier, payrollConfiguration)
}