@@ -8,26 +8,25 @@ import lmirabal.bank.model.BankAccount
88import lmirabal.bank.model.BankAccountId
99import lmirabal.bank.model.NotEnoughFunds
1010
11- class BankService (
12- private val accountRepository : BankAccountRepository ,
11+ class BankLogic (
12+ private val repository : BankAccountRepository ,
1313 private val idFactory : () -> BankAccountId = { BankAccountId .random() }
1414) : Bank {
15- override fun createAccount (): BankAccount {
16- return BankAccount (idFactory(), Amount .ZERO )
17- .also { newAccount -> accountRepository.add(newAccount) }
18- }
15+ override fun createAccount (): BankAccount =
16+ BankAccount (idFactory(), Amount .ZERO )
17+ .also { newAccount -> repository.add(newAccount) }
1918
20- override fun listAccounts (): List <BankAccount > = accountRepository .list()
19+ override fun listAccounts (): List <BankAccount > = repository .list()
2120
2221 override fun deposit (id : BankAccountId , amount : Amount ): BankAccount {
23- val account = accountRepository .list().first { it.id == id }
22+ val account = repository .list().first { it.id == id }
2423 return account.deposit(amount)
25- .also { updatedAccount -> accountRepository .update(updatedAccount) }
24+ .also { updatedAccount -> repository .update(updatedAccount) }
2625 }
2726
2827 override fun withdraw (id : BankAccountId , amount : Amount ): Result <BankAccount , NotEnoughFunds > {
29- val account = accountRepository .list().first { it.id == id }
28+ val account = repository .list().first { it.id == id }
3029 return account.withdraw(amount)
31- .peek { updatedAccount -> accountRepository .update(updatedAccount) }
30+ .peek { updatedAccount -> repository .update(updatedAccount) }
3231 }
3332}
0 commit comments