Skip to content

Commit 8a8b448

Browse files
Merge pull request #124 from OpenFuturePlatform/public-api-elaman
AccessKey Interceptor save
2 parents 3b1e933 + 2b8a7cc commit 8a8b448

7 files changed

Lines changed: 50 additions & 7 deletions

File tree

src/main/kotlin/io/openfuture/api/component/key/DefaultKeyApi.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.openfuture.api.component.key
33
import io.openfuture.api.domain.key.*
44
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletForOrderRequest
55
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletForUserRequest
6-
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletRequest
6+
import io.openfuture.api.domain.key.creation.GenerateMultipleWalletRequest
77
import org.springframework.stereotype.Component
88
import org.springframework.web.client.RestTemplate
99
import java.util.*
@@ -25,22 +25,22 @@ class DefaultKeyApi(
2525
}
2626

2727
override fun importWalletV2(request: ImportWalletOpenKeyRequest): KeyWalletDto {
28-
val response = keyRestTemplate.postForEntity("/key/importWallet", request, KeyWalletDto::class.java)
28+
val response = keyRestTemplate.postForEntity("/key/wallet", request, KeyWalletDto::class.java)
2929
return response.body!!
3030
}
3131

3232
override fun generateMultipleWallets(request: GenerateMultipleWalletRequest): Array<KeyWalletDto> {
33-
val response = keyRestTemplate.postForEntity("/key/generateMultiple", request, Array<KeyWalletDto>::class.java)
33+
val response = keyRestTemplate.postForEntity("/key/multiple", request, Array<KeyWalletDto>::class.java)
3434
return response.body!!
3535
}
3636

3737
override fun generateMultipleWalletsWithOrder(request: GenerateMultipleWalletForOrderRequest): Array<KeyWalletDto> {
38-
val response = keyRestTemplate.postForEntity("/key/generateMultipleForOrder", request, Array<KeyWalletDto>::class.java)
38+
val response = keyRestTemplate.postForEntity("/key/order", request, Array<KeyWalletDto>::class.java)
3939
return response.body!!
4040
}
4141

4242
override fun generateMultipleWalletsWithUser(request: GenerateMultipleWalletForUserRequest): Array<KeyWalletDto> {
43-
val response = keyRestTemplate.postForEntity("/key/generateMultipleForUser", request, Array<KeyWalletDto>::class.java)
43+
val response = keyRestTemplate.postForEntity("/key/user", request, Array<KeyWalletDto>::class.java)
4444
return response.body!!
4545
}
4646

src/main/kotlin/io/openfuture/api/component/key/KeyApi.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.openfuture.api.component.key
33
import io.openfuture.api.domain.key.*
44
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletForOrderRequest
55
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletForUserRequest
6-
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletRequest
6+
import io.openfuture.api.domain.key.creation.GenerateMultipleWalletRequest
77
import java.util.*
88

99
interface KeyApi {

src/main/kotlin/io/openfuture/api/config/WebMvcConfig.kt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
package io.openfuture.api.config
22

33
import io.openfuture.api.annotation.resolver.CurrentUserArgumentResolver
4+
import io.openfuture.api.config.interceptor.AccessKeyHolder
5+
import io.openfuture.api.config.interceptor.AccessKeyInterceptor
46
import io.openfuture.api.service.UserService
7+
import org.springframework.context.annotation.Bean
58
import org.springframework.context.annotation.Configuration
9+
import org.springframework.context.annotation.Scope
10+
import org.springframework.context.annotation.ScopedProxyMode
11+
import org.springframework.web.context.WebApplicationContext
612
import org.springframework.web.method.support.HandlerMethodArgumentResolver
713
import org.springframework.web.servlet.config.annotation.CorsRegistry
14+
import org.springframework.web.servlet.config.annotation.InterceptorRegistry
815
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
916

1017

@@ -24,4 +31,19 @@ class WebMvcConfig(
2431
.maxAge(3600)
2532
}
2633

34+
/*override fun addInterceptors(registry: InterceptorRegistry) {
35+
registry.addInterceptor(accessKeyInterceptor())
36+
}
37+
38+
@Bean
39+
fun accessKeyInterceptor(): AccessKeyInterceptor {
40+
return AccessKeyInterceptor(accessKeyHolder())
41+
}
42+
43+
@Bean
44+
@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
45+
fun accessKeyHolder(): AccessKeyHolder {
46+
return AccessKeyHolder("")
47+
}*/
48+
2749
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package io.openfuture.api.config.interceptor
2+
3+
open class AccessKeyHolder (
4+
var accessKey: String
5+
)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package io.openfuture.api.config.interceptor
2+
3+
import org.springframework.web.servlet.HandlerInterceptor
4+
import javax.servlet.http.HttpServletRequest
5+
import javax.servlet.http.HttpServletResponse
6+
7+
class AccessKeyInterceptor(
8+
private val accessKeyHolder: AccessKeyHolder
9+
) : HandlerInterceptor {
10+
11+
override fun preHandle(requests: HttpServletRequest, response: HttpServletResponse, handler: Any): Boolean {
12+
accessKeyHolder.accessKey = requests.getHeader("X-API-KEY")
13+
return true
14+
}
15+
}

src/main/kotlin/io/openfuture/api/controller/api/PublicHDWalletController.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import io.openfuture.api.entity.application.BlockchainType
55
import io.openfuture.api.service.ApplicationService
66
import io.openfuture.api.service.ApplicationWalletService
77
import io.openfuture.api.service.WalletApiService
8+
import org.springframework.security.access.prepost.PreAuthorize
89
import org.springframework.web.bind.annotation.*
910

1011
@RestController

src/main/kotlin/io/openfuture/api/domain/key/creation/GenerateMultipleWalletRequest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.openfuture.keymanagementservice.dto
1+
package io.openfuture.api.domain.key.creation
22

33
import io.openfuture.api.entity.application.BlockchainType
44

0 commit comments

Comments
 (0)