Skip to content

Commit acaed08

Browse files
committed
Merge branch 'OP-159-API-Payment-widget' into 'master'
OP-159-API-Payment-widget Closes OP-159 See merge request open-platform/api!200
2 parents 89e8105 + 2d778fd commit acaed08

File tree

7 files changed

+32
-12
lines changed

7 files changed

+32
-12
lines changed

.gitlab-ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ certificates-development:
237237
DEPLOY_HOST: $DEPLOY_HOST_DEV
238238
DEPLOY_KEY: $DEPLOY_KEY_DEV
239239
SERVER_NAME: "api.open-platform.zensoft.io"
240+
WIDGET_HOST: "https://api.open-platform.zensoft.io"
240241
before_script: *prepare_key
241242
script: *update_certificates
242243
only:
@@ -250,6 +251,7 @@ certificates-production:
250251
DEPLOY_HOST: $DEPLOY_HOST_PROD
251252
DEPLOY_KEY: $DEPLOY_KEY_PROD
252253
SERVER_NAME: "api.openfuture.io"
254+
WIDGET_HOST: "https://api.openfuture.io"
253255
before_script: *prepare_key
254256
script: *update_certificates
255257
only:
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package io.openfuture.api.config.propety
2+
3+
import org.springframework.boot.context.properties.ConfigurationProperties
4+
import org.springframework.stereotype.Component
5+
import org.springframework.validation.annotation.Validated
6+
import javax.validation.constraints.NotBlank
7+
8+
@ConfigurationProperties(prefix = "widget")
9+
@Validated
10+
@Component
11+
class WidgetProperties(
12+
@field:NotBlank var host: String? = null
13+
)

src/main/kotlin/io/openfuture/api/controller/base/MainController.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package io.openfuture.api.controller.base
22

33
import io.openfuture.api.config.propety.AuthorizationProperties
4+
import io.openfuture.api.config.propety.WidgetProperties
45
import org.springframework.stereotype.Controller
5-
import org.springframework.web.bind.annotation.CrossOrigin
6+
import org.springframework.ui.ModelMap
67
import org.springframework.web.bind.annotation.GetMapping
78
import org.springframework.web.bind.annotation.PathVariable
8-
import org.springframework.web.servlet.ModelAndView
99
import javax.servlet.http.Cookie
1010
import javax.servlet.http.HttpServletResponse
1111

1212
@Controller
1313
class MainController(
14-
private val properties: AuthorizationProperties
14+
private val properties: AuthorizationProperties,
15+
private val widgetProperties: WidgetProperties
1516
) {
1617

1718
@GetMapping("/logout")
@@ -25,8 +26,9 @@ class MainController(
2526
fun frontend() = "frontend"
2627

2728
@GetMapping("/widget/{address}")
28-
fun widget(@PathVariable address: String, modelAndView: ModelAndView): String {
29-
modelAndView.modelMap.addAttribute("address", address)
29+
fun widget(@PathVariable address: String, model: ModelMap): String {
30+
model["address"] = address
31+
model["host"] = widgetProperties.host
3032
return "widget"
3133
}
3234

src/main/resources/application.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,7 @@ ethereum.open-token-address=${OPEN_TOKEN_ADDRESS}
1818
ethereum.event-subscription=${EVENT_SUBSCRIPTION}
1919

2020
# AUTH
21-
auth.cookie-name=open_key
21+
auth.cookie-name=open_key
22+
23+
# WIDGET
24+
widget.host=${WIDGET_HOST}

widget/build/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<meta http-equiv="X-UA-Compatible" content="ie=edge">
88
<title></title>
99
</head>
10-
<body data-address="${address}">
11-
<script src="/js/open-widget.js"></script>
10+
<body data-address="${address}" data-host="${host}">
11+
<script src="${host}/static/js/open-widget.js"></script>
1212
</body>
1313
</html>

widget/src/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import * as internalWeb3 from 'web3';
2-
import * as style from './style.css';
32

4-
const _web3 = new internalWeb3(internalWeb3.givenProvider || 'http://localhost:8545');
3+
const _web3 = new internalWeb3(internalWeb3.givenProvider);
54
let windgetData;
65
let userInputData = [];
76
let currentNetwork;
@@ -107,7 +106,8 @@ function validateForm(){
107106

108107
async function openWidget(){
109108
const scaffoldAddress = await document.body.dataset.address;
110-
const OPEN_URL = `https://api.open-platform.zensoft.io/widget/scaffolds/${scaffoldAddress}`;
109+
const host = await document.body.dataset.host;
110+
const OPEN_URL = `${host}/widget/scaffolds/${scaffoldAddress}`;
111111
windgetData = await getContractData(OPEN_URL);
112112

113113
let widgetEl = document.createElement('div');

widget/webpack.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module.exports = {
77
entry: './src/index.js',
88
output: {
99
filename: 'open-widget.js',
10-
path: path.resolve(`${__dirname}`, 'build/js')
10+
path: path.resolve(`${__dirname}`, 'build/static/js')
1111
},
1212
performance: {
1313
maxEntrypointSize: 512000,

0 commit comments

Comments
 (0)