Skip to content

Instantly share code, notes, and snippets.

@Ochornma
Created April 25, 2021 18:59
Show Gist options
  • Select an option

  • Save Ochornma/c1704faf9ca72666111bcfd616387ee7 to your computer and use it in GitHub Desktop.

Select an option

Save Ochornma/c1704faf9ca72666111bcfd616387ee7 to your computer and use it in GitHub Desktop.
interface SoftKashRepository {
suspend fun getAllAdmins(): LiveData<out GetAdminResponse>
suspend fun getAllLoanProducts(): LiveData<out LoanProductResponse>
suspend fun getAllTransactions(paginate: String, result: (Response<TransactionResponse>) -> Unit)
suspend fun getAllLoans(paginate: String, result: (Response<LoansResponse>) -> Unit)
suspend fun getUserNextOfKin(userId: Int, result: ( Response<NestOfKinResponse>) -> Unit)
suspend fun getUserEmployerDetail(userId: Int, result: (Response<EmployerResponse>) -> Unit)
suspend fun deleteDocument(id: Int, result: (Response<DocumentDeleteResponse>) -> Unit)
suspend fun getPaymentHistory(paginate: String, result: (Response<RepaymentHistoryResponse>) -> Unit)
suspend fun getUserDetail(userId: Int, result: (Response<UserDetailsResponse>) -> Unit)
suspend fun getUserSpecificLoan(userId: Int, result: (Response<UserDetailLoanResponse>) -> Unit)
suspend fun addAdmins(firstName: RequestBody, lastName: RequestBody, email: RequestBody,
phoneNo: RequestBody, department: RequestBody, roleName: RequestBody,
staffId: RequestBody, roleId: RequestBody, password: RequestBody, result: (Response<AddAdminResponse>) -> Unit)
suspend fun getLoanByStatus(status: String, result: (Response<LoanByStatusResponse>) -> Unit)
suspend fun getUserTransactionHistory(userId: Int, paginate: String, result: (Response<UserTransactionResponse>) -> Unit)
suspend fun approveAndRejectLoan(action: RequestBody, loanId: RequestBody, adminId: RequestBody,
userId: RequestBody, result: (Response<ApproveAndRejectLoanResponse>) -> Unit)
suspend fun disburseLoan(adminId: RequestBody, userId: RequestBody, loanId: RequestBody, result: (Response<DisburseLoanResponse>) -> Unit)
suspend fun login(email: RequestBody, password: RequestBody, result: (Response<LogInResponse>) -> Unit)
suspend fun blockAdmin(adminId: Int, result: (Response<BlockAdminResponse>) -> Unit)
suspend fun unblockAdmin(adminId: Int, result: (Response<BlockAdminResponse>) -> Unit)
suspend fun sendOtp(phoneNo: RequestBody, result: (Response<OtpResponse>) -> Unit)
suspend fun forgotPassword(adminId: Int, token: RequestBody, newPass: RequestBody,
confirmPass: RequestBody, result: (Response<ForgotPasswordResponse>) -> Unit)
suspend fun changePassword(adminId: Int, oldPass: RequestBody, newPass: RequestBody,
confirmPass: RequestBody, result: (Response<ResetPasswordResponse>) -> Unit)
suspend fun blockUser(userId: Int, result: (Response<BlockUserResponse>) -> Unit)
suspend fun unBlockUser(userId: Int, result: (Response<BlockUserResponse>) -> Unit)
suspend fun getSystemAnalysis(result: (Response<SystemAnalysisResponse>) -> Unit)
suspend fun getUsers(paginate: String, result: (Response<GetUserResponse>) -> Unit)
suspend fun searchUser(paginate: String, words: String, result: (Response<SearchUserResponse>) -> Unit)
suspend fun searchLoan(paginate: String, words: String, result: (Response<LoansResponse>) -> Unit)
suspend fun searchTransaction(paginate: String, words: String, result: (Response<TransactionResponse>) -> Unit)
suspend fun logInOtp(token: RequestBody, result: (Response<LoginOtpResponse>) -> Unit)
suspend fun searchLoansByDate(paginate: String, from: String, to: String, result: (Response<LoansResponse>) -> Unit)
suspend fun searchTransactionByDate(paginate: String, from: String, to: String, result: (Response<TransactionResponse>) -> Unit)
suspend fun getTypeOfBusiness(result: (Response<TypeOfBusinessResponse>) -> Unit)
suspend fun addTypeOfBusiness(name: RequestBody, desc: RequestBody, result: (Response<AddTypeOfBusinessResponse>) -> Unit)
suspend fun deleteTypeOfBusiness(id: Int, result: (Response<DeleteTypeOfBusinessResponse>) -> Unit)
suspend fun getReasonForLoan(result: (Response<ReasonForLoanResponse>) -> Unit)
suspend fun deleteReasonForLoan(id: Int, result: (Response<DeleteTypeOfBusinessResponse>) -> Unit)
suspend fun addReasons(name: RequestBody, desc: RequestBody, result: (Response<AddReasonsRespose>) -> Unit)
suspend fun addLoanProduct(productName: RequestBody, minAmount: RequestBody, maxAmount: RequestBody,
penalty: RequestBody, tenureType: RequestBody, minCreditSCore: RequestBody,
minKycLevel: RequestBody, processFees: RequestBody, systemCanApprove: RequestBody,
maxTenure: RequestBody, interestRate: RequestBody, interestRateType: RequestBody,
loanType: RequestBody, result: (Response<AddLoanProductResponse>) -> Unit)
suspend fun deleteLoanProduct(id: Int, result: (Response<DeleteLoanProductResponse>) -> Unit)
suspend fun getBureau(userId: Int,result: (Response<BureauResponse>) -> Unit)
suspend fun getRoles(result: (Response<GetRolesResponse>) -> Unit)
suspend fun addRoles(name: RequestBody, desc: RequestBody, result: (Response<AddRolesResponse>) -> Unit)
suspend fun deleteRoles(id: Int, result: (Response<DeleteRolesResponse>) -> Unit)
suspend fun getUnverifiedBVN(result: (Response<UnverifiedResponse>) -> Unit)
suspend fun verifyBVN(userId: RequestBody, adminId: RequestBody, result: (Response<VerifyResponse>) -> Unit)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment