11package io.openfuture.api.controller.api
22
33import io.openfuture.api.domain.key.KeyWalletDto
4+ import io.openfuture.api.domain.key.KeyWalletEncryptedDto
45import io.openfuture.api.domain.key.WalletApiCreateRequest
56import io.openfuture.api.domain.state.WalletApiStateRequest
67import io.openfuture.api.domain.state.WalletApiStateResponse
78import io.openfuture.api.service.ApplicationService
9+ import io.openfuture.api.service.ApplicationWalletService
810import io.openfuture.api.service.WalletApiService
911import org.springframework.web.bind.annotation.*
1012import org.web3j.protocol.core.methods.response.TransactionReceipt
@@ -13,40 +15,37 @@ import org.web3j.protocol.core.methods.response.TransactionReceipt
1315@RestController
1416@RequestMapping(" /public/api/v1/wallet" )
1517class PublicWalletApiController (
16- private val service : WalletApiService ,
17- private val applicationService : ApplicationService
18+ private val walletApiService : WalletApiService ,
19+ private val applicationService : ApplicationService ,
20+ private val applicationWalletService : ApplicationWalletService
1821) {
1922
2023 // @PreAuthorize(value = "hasAnyRole('ROLE_APPLICATION')")
2124 @PostMapping(" /process" )
22- fun generateWallet (
23- @RequestBody walletApiCreateRequest : WalletApiCreateRequest ,
24- @RequestHeader(" X-API-KEY" ) accessKey : String
25- ): Array <KeyWalletDto > {
25+ fun generateWallet (@RequestBody walletApiCreateRequest : WalletApiCreateRequest , @RequestHeader(" X-API-KEY" ) accessKey : String ): Array <KeyWalletDto > {
2626 val application = applicationService.getByAccessKey(accessKey)
27- return service.processWalletSDK(walletApiCreateRequest, application, application.user)
27+ return walletApiService.processWalletSDK(walletApiCreateRequest, application, application.user)
28+ }
29+
30+ @GetMapping
31+ fun getWallets (@RequestHeader(" X-API-KEY" ) accessKey : String ): Array <KeyWalletEncryptedDto > {
32+ val application = applicationService.getByAccessKey(accessKey)
33+ return applicationWalletService.getAllWallets(application.id)
2834 }
2935
3036 @PostMapping(" /save" )
31- fun saveWallet (
32- @RequestBody walletApiStateRequest : WalletApiStateRequest ,
33- @RequestHeader(" OPEN-API-KEY" ) accessKey : String
34- ): Boolean {
37+ fun saveWallet (@RequestBody walletApiStateRequest : WalletApiStateRequest , @RequestHeader(" OPEN-API-KEY" ) accessKey : String ): Boolean {
3538 val application = applicationService.getByAccessKey(accessKey)
36- return service .saveWalletSDK(walletApiStateRequest, application, application.user)
39+ return walletApiService .saveWalletSDK(walletApiStateRequest, application, application.user)
3740 }
3841
3942 @PostMapping(" /fetch" )
40- fun getWallet (
41- @RequestBody walletApiStateRequest : WalletApiStateRequest
42- ): WalletApiStateResponse {
43- return service.getWallet(walletApiStateRequest.address, walletApiStateRequest.blockchain)
43+ fun getWallet (@RequestBody walletApiStateRequest : WalletApiStateRequest ): WalletApiStateResponse {
44+ return walletApiService.getWallet(walletApiStateRequest.address, walletApiStateRequest.blockchain)
4445 }
4546
4647 @PostMapping(" /broadcast" )
47- fun broadcastTransaction (
48- @RequestBody walletApiStateRequest : WalletApiStateRequest
49- ): TransactionReceipt {
50- return service.broadcastTransaction(walletApiStateRequest.address, walletApiStateRequest.blockchain)
48+ fun broadcastTransaction (@RequestBody walletApiStateRequest : WalletApiStateRequest ): TransactionReceipt {
49+ return walletApiService.broadcastTransaction(walletApiStateRequest.address, walletApiStateRequest.blockchain)
5150 }
5251}
0 commit comments