Interface MiddlewareAccountManagementService
-
public interface MiddlewareAccountManagementService
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidchangeCreditLimit(String accountId, BigDecimal creditLimit)booleanchangeStatus(String accountId, boolean systemBlock)booleanconfirmFundsAvailability(FundsConfirmationRequestTO request)Confirm the availability of funds on user account to perform the operation with specified amountvoidcreateDepositAccount(String userId, ScaInfoTO scaInfoTO, AccountDetailsTO depositAccount)Creates a new DepositAccount.voiddeleteAccount(String userId, UserRoleTO userRole, String accountId)voiddeleteTransactions(String userId, UserRoleTO userRole, String accountId)Remove all transactions for deposit accountvoiddeleteUser(String userId, UserRoleTO userRole, String userToDeleteId)voiddepositCash(ScaInfoTO scaInfoTO, String accountId, AmountTO amount)Deposits given amount in cash into specified account.AccountReportTOgetAccountReport(String accountId)CustomPageImpl<AccountDetailsExtendedTO>getAccountsByBranchAndMultipleParams(String countryCode, String branchId, String branchLogin, String iban, Boolean blocked, CustomPageableImpl pageable)List<AccountDetailsTO>getAccountsByIbanAndCurrency(String iban, String currency)Set<String>getAccountsFromConsent(String consentId)AccountDetailsTOgetDepositAccountById(String id, LocalDateTime time, boolean withBalance)Retrieves AccountDetails with Balance on demandTransactionTOgetTransactionById(String accountId, String transactionId)Retrieves transaction by accountId and transactionIdList<TransactionTO>getTransactionsByDates(String accountId, LocalDate dateFrom, LocalDate dateTo)Retrieves a List of transactions by accountId and dates (from/to) if dateTo is empty it is considered that requested date is todayCustomPageImpl<TransactionTO>getTransactionsByDatesPaged(String accountId, LocalDate dateFrom, LocalDate dateTo, CustomPageableImpl pageable)Retrieves a List of transactions by accountId and dates (from/to) if dateTo is empty it is considered that requested date is todaySCAConsentResponseTOgrantPIISConsent(ScaInfoTO scaInfoTO, AisConsentTO aisConsent)Provide a third party provider with necessary permission to read accounts and transaction information for the specified account.Stringiban(String id)List<AccountDetailsTO>listDepositAccounts(String userId)Retrieve the list of account viewable by the connected user.List<AccountDetailsTO>listDepositAccountsByBranch(String userId)Retrieve the list of account registered for the branch.CustomPageImpl<AccountDetailsTO>listDepositAccountsByBranchPaged(String userId, String queryParam, CustomPageableImpl pageable)SCAConsentResponseTOstartAisConsent(ScaInfoTO scaInfoTO, String consentId, AisConsentTO aisConsent)Start an account consent process.
-
-
-
Method Detail
-
getAccountsByIbanAndCurrency
List<AccountDetailsTO> getAccountsByIbanAndCurrency(String iban, String currency)
-
createDepositAccount
void createDepositAccount(String userId, ScaInfoTO scaInfoTO, AccountDetailsTO depositAccount)
Creates a new DepositAccount. This deposit account is then linked with the specified user.Call requires a bank staff access permission.
- Parameters:
userId- : the identifier of the user for whom the account is createdscaInfoTO- : SCA informationdepositAccount- : the deposit account to be crated.
-
listDepositAccounts
List<AccountDetailsTO> listDepositAccounts(String userId)
Retrieve the list of account viewable by the connected user.- Parameters:
userId- : user identifier- Returns:
- an empty list if user not linked with any deposit accounted.
-
listDepositAccountsByBranch
List<AccountDetailsTO> listDepositAccountsByBranch(String userId)
Retrieve the list of account registered for the branch.- Parameters:
userId- : user identifier- Returns:
- list of accounts registered for the branch, or an empty list otherwise
-
listDepositAccountsByBranchPaged
CustomPageImpl<AccountDetailsTO> listDepositAccountsByBranchPaged(String userId, String queryParam, CustomPageableImpl pageable)
-
getAccountsByBranchAndMultipleParams
CustomPageImpl<AccountDetailsExtendedTO> getAccountsByBranchAndMultipleParams(String countryCode, String branchId, String branchLogin, String iban, Boolean blocked, CustomPageableImpl pageable)
-
getDepositAccountById
AccountDetailsTO getDepositAccountById(String id, LocalDateTime time, boolean withBalance)
Retrieves AccountDetails with Balance on demand- Parameters:
id- DepositAccount identifiertime- the reference time.withBalance- boolean specifying if Balances has to be added to AccountDetails- Returns:
- account details.
-
getTransactionById
TransactionTO getTransactionById(String accountId, String transactionId)
Retrieves transaction by accountId and transactionId- Parameters:
accountId- the account idtransactionId- the transaction id- Returns:
- the corresponding transaction
-
getTransactionsByDates
List<TransactionTO> getTransactionsByDates(String accountId, LocalDate dateFrom, LocalDate dateTo)
Retrieves a List of transactions by accountId and dates (from/to) if dateTo is empty it is considered that requested date is today- Parameters:
accountId- the account iddateFrom- from this timedateTo- to this time- Returns:
- : List of transactions.
-
getTransactionsByDatesPaged
CustomPageImpl<TransactionTO> getTransactionsByDatesPaged(String accountId, LocalDate dateFrom, LocalDate dateTo, CustomPageableImpl pageable)
Retrieves a List of transactions by accountId and dates (from/to) if dateTo is empty it is considered that requested date is today- Parameters:
accountId- the account iddateFrom- from this timedateTo- to this time- Returns:
- : List of transactions.
-
confirmFundsAvailability
boolean confirmFundsAvailability(FundsConfirmationRequestTO request)
Confirm the availability of funds on user account to perform the operation with specified amount- Parameters:
request- : teh fund confirmation request.- Returns:
- : true if fund available else false.
-
startAisConsent
SCAConsentResponseTO startAisConsent(ScaInfoTO scaInfoTO, String consentId, AisConsentTO aisConsent)
Start an account consent process.- Parameters:
scaInfoTO- SCA informationconsentId- : the cosent id.aisConsent- : the consent details- Returns:
- the corresponding access token describing the account access
-
grantPIISConsent
SCAConsentResponseTO grantPIISConsent(ScaInfoTO scaInfoTO, AisConsentTO aisConsent)
Provide a third party provider with necessary permission to read accounts and transaction information for the specified account.- Parameters:
scaInfoTO- : SCA informationaisConsent- : the consent details- Returns:
- the corresponding access token describing the account access
-
depositCash
void depositCash(ScaInfoTO scaInfoTO, String accountId, AmountTO amount)
Deposits given amount in cash into specified account. On the bank's books, the bank debits its cash account for the given amount in cash, and credits a "deposits" liability account for an equal amount.- Parameters:
scaInfoTO- SCA informationaccountId- id of the account deposited intoamount- amount of cash deposited
-
deleteTransactions
void deleteTransactions(String userId, UserRoleTO userRole, String accountId)
Remove all transactions for deposit account- Parameters:
userId- id of the useruserRole- role of user initiating operationaccountId- the account id
-
deleteAccount
void deleteAccount(String userId, UserRoleTO userRole, String accountId)
-
deleteUser
void deleteUser(String userId, UserRoleTO userRole, String userToDeleteId)
-
getAccountReport
AccountReportTO getAccountReport(String accountId)
-
changeStatus
boolean changeStatus(String accountId, boolean systemBlock)
-
changeCreditLimit
void changeCreditLimit(String accountId, BigDecimal creditLimit)
-
-