Skip to content

Commit d67109a

Browse files
Merge pull request #122 from OpenFuturePlatform/public-api-elaman
Wallet Public endpoints for import
2 parents 4cf6df0 + cad54aa commit d67109a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+666
-243
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,12 @@
1818
*.ipr
1919
/out/
2020

21+
/payment-chooser/build/static/js/
22+
/payment-chooser/build/resources/static/js/
23+
/payment-chooser/node_modules/
24+
2125
### NetBeans ###
2226
/nbproject/private/
23-
/build/
2427
/nbbuild/
2528
/dist/
2629
/nbdist/

payment-chooser/build/resources/static/static/js/payment-chooser.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

payment-chooser/build/resources/static/static/js/payment-chooser.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

payment-chooser/build/static/js/payment-chooser.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

payment-chooser/build/static/js/payment-chooser.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

payment-chooser/src/index.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ function fetchTransactionData() {
5454
}
5555

5656
function loadTransactionData(result) {
57-
58-
amountSelector.innerHTML = `${result.orderAmount}` + ` ${currency}`;
59-
leftAmount = result.orderAmount - result.paid;
57+
console.log("Load data : " + result.order_amount);
58+
amountSelector.innerHTML = `${result.order_amount}` + ` ${currency}`;
59+
leftAmount = result.order_amount - result.paid;
6060
remainingSelector.innerHTML = `${leftAmount}` + ` ${currency}`;
6161

6262
if (result.orderAmount <= result.paid) {
@@ -130,11 +130,11 @@ async function openPaymentWidget() {
130130

131131
widgetData = await getAddressData(OPEN_URL);
132132

133-
amountSelector.innerHTML = `${widgetData.orderAmount}` + ` ${currency}`;
134-
leftAmount = widgetData.orderAmount - widgetData.paid;
133+
amountSelector.innerHTML = `${widgetData.order_amount}` + ` ${currency}`;
134+
leftAmount = widgetData.order_amount - widgetData.paid;
135135
remainingSelector.innerHTML = `${leftAmount}` + ` ${currency}`;
136136

137-
countdownTimer(new Date(`${widgetData.orderDate}`).getTime(), widgetData.orderAmount, widgetData.paid);
137+
countdownTimer(new Date(`${widgetData.order_date}`).getTime(), widgetData.order_amount, widgetData.paid);
138138

139139
const accordion = document.querySelector(".accordion");
140140
let i = 1;

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

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package io.openfuture.api.component.key
22

33
import io.openfuture.api.domain.key.*
4+
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletForOrderRequest
5+
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletForUserRequest
6+
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletRequest
47
import org.springframework.stereotype.Component
58
import org.springframework.web.client.RestTemplate
9+
import java.util.*
610

711

812
@Component
@@ -20,8 +24,23 @@ class DefaultKeyApi(
2024
return response.body!!
2125
}
2226

23-
override fun generateMultipleWallets(createMultipleKeyRequest: CreateMultipleKeyRequest): Array<KeyWalletDto> {
24-
val response = keyRestTemplate.postForEntity("/key/multiple", createMultipleKeyRequest, Array<KeyWalletDto>::class.java)
27+
override fun importWalletV2(request: ImportWalletOpenKeyRequest): KeyWalletDto {
28+
val response = keyRestTemplate.postForEntity("/key/importWallet", request, KeyWalletDto::class.java)
29+
return response.body!!
30+
}
31+
32+
override fun generateMultipleWallets(request: GenerateMultipleWalletRequest): Array<KeyWalletDto> {
33+
val response = keyRestTemplate.postForEntity("/key/generateMultiple", request, Array<KeyWalletDto>::class.java)
34+
return response.body!!
35+
}
36+
37+
override fun generateMultipleWalletsWithOrder(request: GenerateMultipleWalletForOrderRequest): Array<KeyWalletDto> {
38+
val response = keyRestTemplate.postForEntity("/key/generateMultipleForOrder", request, Array<KeyWalletDto>::class.java)
39+
return response.body!!
40+
}
41+
42+
override fun generateMultipleWalletsWithUser(request: GenerateMultipleWalletForUserRequest): Array<KeyWalletDto> {
43+
val response = keyRestTemplate.postForEntity("/key/generateMultipleForUser", request, Array<KeyWalletDto>::class.java)
2544
return response.body!!
2645
}
2746

@@ -30,9 +49,23 @@ class DefaultKeyApi(
3049
return response.body!!
3150
}
3251

33-
override fun getAllWalletsByApplication(applicationId: String): Array<KeyWalletEncryptedDto> {
34-
val response = keyRestTemplate.getForEntity("/key?applicationId={applicationId}", Array<KeyWalletEncryptedDto>::class.java, applicationId)
35-
return response.body!!
52+
override fun getAllWalletsByApplication(applicationId: String, userId: Optional<String>, orderKey: Optional<String>): Array<KeyWalletDto> {
53+
if (userId.isPresent){
54+
val response = keyRestTemplate.getForEntity("/key?applicationId={applicationId}&userId={userId}", Array<KeyWalletDto>::class.java, applicationId, userId.get())
55+
return response.body!!
56+
} else if (orderKey.isPresent){
57+
val url = "/key/order/${orderKey.get()}"
58+
val response = keyRestTemplate.getForEntity(url, Array<KeyWalletDto>::class.java)
59+
return response.body!!
60+
61+
} else {
62+
val response = keyRestTemplate.getForEntity(
63+
"/key?applicationId={applicationId}",
64+
Array<KeyWalletDto>::class.java,
65+
applicationId
66+
)
67+
return response.body!!
68+
}
3669
}
3770

3871
override fun getAllWalletsByOrderKey(orderKey: String): Array<KeyWalletDto> {

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
package io.openfuture.api.component.key
22

33
import io.openfuture.api.domain.key.*
4+
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletForOrderRequest
5+
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletForUserRequest
6+
import io.openfuture.keymanagementservice.dto.GenerateMultipleWalletRequest
7+
import java.util.*
48

59
interface KeyApi {
610
fun generateWallet(createKeyRequest: CreateKeyRequest): KeyWalletDto
711
fun importWallet(request: ImportKeyRequest): KeyWalletDto
8-
fun generateMultipleWallets(createMultipleKeyRequest: CreateMultipleKeyRequest): Array<KeyWalletDto>
12+
fun importWalletV2(request: ImportWalletOpenKeyRequest): KeyWalletDto
13+
fun generateMultipleWallets(request: GenerateMultipleWalletRequest): Array<KeyWalletDto>
14+
fun generateMultipleWalletsWithOrder(request: GenerateMultipleWalletForOrderRequest): Array<KeyWalletDto>
15+
fun generateMultipleWalletsWithUser(request: GenerateMultipleWalletForUserRequest): Array<KeyWalletDto>
916
fun updateWallets(createMultipleKeyRequest: CreateMultipleKeyRequest): Array<KeyWalletDto>
10-
fun getAllWalletsByApplication(applicationId: String): Array<KeyWalletEncryptedDto>
17+
fun getAllWalletsByApplication(applicationId: String, userId: Optional<String>, orderKey: Optional<String>): Array<KeyWalletDto>
1118
fun getAllWalletsByOrderKey(orderKey: String): Array<KeyWalletDto>
1219
fun getApplicationByAddress(address: String): WalletAddressResponse
1320
fun deleteAllWalletsByApplicationAddress(applicationId: String, address: String)

src/main/kotlin/io/openfuture/api/component/state/DefaultStateApi.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class DefaultStateApi(private val stateRestTemplate: RestTemplate) : StateApi {
1717
blockchain: Blockchain,
1818
applicationId: String
1919
): StateWalletDto {
20-
val request = CreateStateWalletRequest(address, webHook, blockchain.getValue(), applicationId)
20+
val request = CreateStateWalletRequest(address, applicationId, blockchain.getValue(), webHook)
2121
val response = stateRestTemplate.postForEntity("/wallets/single", request, StateWalletDto::class.java)
2222
return response.body!!
2323
}
@@ -26,6 +26,10 @@ class DefaultStateApi(private val stateRestTemplate: RestTemplate) : StateApi {
2626
return stateRestTemplate.postForEntity("/wallets", request, CreateStateWalletResponse::class.java).body!!
2727
}
2828

29+
override fun createWallet(request: CreateStateWithUserRequest): AddWatchResponse {
30+
return stateRestTemplate.postForEntity("/wallets/v2/add", request, AddWatchResponse::class.java).body!!
31+
}
32+
2933
override fun updateWalletWithMetadata(request: UpdateStateWalletMetadata) {
3034
stateRestTemplate.postForEntity("/wallets/update", request, Void::class.java)
3135
}
@@ -40,9 +44,9 @@ class DefaultStateApi(private val stateRestTemplate: RestTemplate) : StateApi {
4044
return stateRestTemplate.getForEntity(url, WalletApiStateResponse::class.java).body!!
4145
}
4246

43-
override fun getAddressTransactionsByAddress(address: String): StateWalletTransactionDetail {
47+
override fun getOrderTransactionsByAddress(address: String): OrderTransactionDetail {
4448
val url = "/wallets/transactions/address/${address}"
45-
return stateRestTemplate.getForEntity(url, StateWalletTransactionDetail::class.java).body!!
49+
return stateRestTemplate.getForEntity(url, OrderTransactionDetail::class.java).body!!
4650
}
4751

4852
override fun getTransactionsByAddress(address: String): Array<TransactionDto> {
@@ -52,11 +56,10 @@ class DefaultStateApi(private val stateRestTemplate: RestTemplate) : StateApi {
5256

5357
override fun getPaymentDetailByOrder(orderKey: String): PaymentWidgetResponse {
5458
val url = "/orders/${orderKey}"
55-
println("Order key : $orderKey")
5659
return stateRestTemplate.getForEntity(url, PaymentWidgetResponse::class.java).body!!
5760
}
5861

59-
override fun getOrderDetailsByApplication(applicationId: String): Array<StateOrderDetail> {
62+
override fun getOrdersByApplication(applicationId: String): Array<StateOrderDetail> {
6063
val url = "/wallets/application/${applicationId}"
6164
return stateRestTemplate.getForEntity(url, Array<StateOrderDetail>::class.java).body!!
6265
}

src/main/kotlin/io/openfuture/api/component/state/StateApi.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ interface StateApi {
1818

1919
fun getWallet(address: String, blockchain: Blockchain): WalletApiStateResponse
2020

21-
fun getAddressTransactionsByAddress(address: String): StateWalletTransactionDetail
21+
fun getOrderTransactionsByAddress(address: String): OrderTransactionDetail
2222

2323
fun getTransactionsByAddress(address: String): Array<TransactionDto>
2424

2525
fun getPaymentDetailByOrder(orderKey: String): PaymentWidgetResponse
2626

27-
fun getOrderDetailsByApplication(applicationId: String): Array<StateOrderDetail>
27+
fun getOrdersByApplication(applicationId: String): Array<StateOrderDetail>
28+
29+
fun createWallet(request: CreateStateWithUserRequest): AddWatchResponse
2830
}

0 commit comments

Comments
 (0)