Skip to content

Commit c060bb3

Browse files
authored
Merge pull request #72 from hypersign-protocol/feature/kyc-webpage-generator
Feature/kyc webpage generator
2 parents 3e75c9f + 5458817 commit c060bb3

File tree

5 files changed

+4681
-2315
lines changed

5 files changed

+4681
-2315
lines changed

src/App.vue

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,11 +551,16 @@ export default {
551551
href: "/studio/widget-config/" + this.getSelectedService.appId,
552552
title: "KYC Widget",
553553
icon: "fa fa-puzzle-piece",
554-
}, {
554+
}, {
555555
href: "/studio/webhook-config/" + this.getSelectedService.appId,
556556
title: "Webhook",
557557
icon: "fa fa-anchor",
558558
},
559+
{
560+
href: "/studio/kyc-webpage-generator/" + this.getSelectedService.appId,
561+
title: "KYC Webpage",
562+
icon: "fa fa-globe",
563+
},
559564
]
560565
})
561566

src/router.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const UsageS = () => import('./views/playground/Usage.vue')
1818
const OnChainKycSystems = () => import('./views/playground/OnChainKycSystems.vue')
1919
const WidgetConfig = () => import('./views/playground/WidgetConfig/Index.vue')
2020
const WebhookConfig = () => import('./views/playground/WebhookConfig.vue')
21+
const KYCWebpageGenerator = () => import('./views/playground/KYCWebpageGenerator.vue')
2122
const MFA = () => import('./components/login/mfa/MFA.vue')
2223
const SettingConfig = () => import('./views/SettingConfig.vue')
2324
Vue.use(Router)
@@ -181,6 +182,15 @@ const router = new Router({
181182
title: `${config.app.name} - WebhookConfig`
182183
}
183184
},
185+
{
186+
path: '/studio/kyc-webpage-generator/:appId',
187+
name: 'KYCWebpageGenerator',
188+
component: KYCWebpageGenerator,
189+
meta: {
190+
requiresAuth: true,
191+
title: `${config.app.name} - KYC Webpage Generator`
192+
}
193+
},
184194
{
185195
path: '/studio/sessions/:appId/:sessionId',
186196
name: 'sessionDetails',

src/store/mainStore.js

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const mainStore = {
3535

3636
},
3737
webhookConfig: {},
38+
kycWebpageConfig: {},
3839
marketPlaceApps: [],
3940
adminMembers: [],
4041
myInvitions: [],
@@ -125,6 +126,9 @@ const mainStore = {
125126
getWebhookConfig: (state) => {
126127
return state.webhookConfig
127128
},
129+
getKYCWebpageConfig: (state) => {
130+
return state.kycWebpageConfig
131+
},
128132
getMarketPlaceApps: (state) => {
129133
return state.marketPlaceApps
130134
},
@@ -167,6 +171,9 @@ const mainStore = {
167171
setWebhookConfig: (state, payload) => {
168172
state.webhookConfig = { ...payload }
169173
},
174+
setKYCWebpageConfig: (state, payload) => {
175+
state.kycWebpageConfig = { ...payload }
176+
},
170177
setMainSideNavBar: (state, payload) => {
171178
state.showMainSideNavBar = payload ? payload : false;
172179
},
@@ -1229,6 +1236,116 @@ const mainStore = {
12291236
})
12301237
},
12311238

1239+
// KYC webpage config - DUMMY IMPLEMENTATION (Backend calls commented out)
1240+
createKYCWebpageConfig: ({ commit, getters }, payload) => {
1241+
return new Promise((resolve, reject) => {
1242+
if (!getters.getSelectedService || !getters.getSelectedService.appId) {
1243+
return reject(new Error('App ID is not available, service is not selected'))
1244+
}
1245+
const url = `${apiServerBaseUrl}/app/${getters.getSelectedService.appId}/kyc-webpage-config`;
1246+
const headers = UtilsMixin.methods.getHeader(localStorage.getItem('authToken'));
1247+
1248+
fetch(url, {
1249+
method: 'POST',
1250+
headers,
1251+
body: JSON.stringify(payload),
1252+
credentials: 'include'
1253+
}).then(response => response.json())
1254+
.then(json => {
1255+
if (json.error) {
1256+
return reject(new Error(json.message))
1257+
}
1258+
commit('setKYCWebpageConfig', json);
1259+
resolve(json)
1260+
}).catch((e) => {
1261+
return reject(`Error while creating KYC webpage configuration: ` + e.message);
1262+
})
1263+
});
1264+
},
1265+
1266+
fetchKYCWebpageConfig: ({ commit, getters }) => {
1267+
return new Promise((resolve, reject) => {
1268+
if (!getters.getSelectedService || !getters.getSelectedService.appId) {
1269+
return reject(new Error('App ID is not available, service is not selected'))
1270+
}
1271+
const url = `${apiServerBaseUrl}/app/${getters.getSelectedService.appId}/kyc-webpage-config`;
1272+
const headers = UtilsMixin.methods.getHeader(localStorage.getItem('authToken'));
1273+
1274+
return fetch(url, {
1275+
method: 'GET',
1276+
headers,
1277+
credentials: 'include'
1278+
}).then(response => response.json()).then(json => {
1279+
if (json) {
1280+
if (json.error) {
1281+
return reject(new Error(json.message))
1282+
} else {
1283+
if (json.expiryType === 'custom' && json.expiryDate) {
1284+
json.customExpiryDate = json.expiryDate.split('T')[0];
1285+
}
1286+
commit('setKYCWebpageConfig', json);
1287+
return resolve()
1288+
}
1289+
} else {
1290+
return resolve()
1291+
}
1292+
}).catch((e) => {
1293+
return reject(`Error while fetching KYC webpage configuration: ` + e.message);
1294+
})
1295+
});
1296+
},
1297+
1298+
updateKYCWebpageConfig: ({ commit, getters }, payload) => {
1299+
return new Promise((resolve, reject) => {
1300+
if (!getters.getSelectedService || !getters.getSelectedService.appId) {
1301+
return reject(new Error('App ID is not available, service is not selected'))
1302+
}
1303+
const url = `${apiServerBaseUrl}/app/${getters.getSelectedService.appId}/kyc-webpage-config/${payload._id}`;
1304+
const headers = UtilsMixin.methods.getHeader(localStorage.getItem('authToken'));
1305+
1306+
fetch(url, {
1307+
method: 'PATCH',
1308+
headers,
1309+
body: JSON.stringify(payload),
1310+
credentials: 'include'
1311+
}).then(response => response.json())
1312+
.then(json => {
1313+
if (json.error) {
1314+
return reject(new Error(json.message))
1315+
}
1316+
commit('setKYCWebpageConfig', json);
1317+
resolve(json)
1318+
}).catch((e) => {
1319+
return reject(`Error while updating KYC webpage configuration: ` + e.message);
1320+
})
1321+
});
1322+
},
1323+
1324+
deleteKYCWebpageConfig: ({ commit, getters }, payload) => {
1325+
return new Promise((resolve, reject) => {
1326+
if (!getters.getSelectedService || !getters.getSelectedService.appId) {
1327+
return reject(new Error('App ID is not available, service is not selected'))
1328+
}
1329+
const url = `${apiServerBaseUrl}/app/${getters.getSelectedService.appId}/kyc-webpage-config/${payload._id}`;
1330+
const headers = UtilsMixin.methods.getHeader(localStorage.getItem('authToken'));
1331+
1332+
fetch(url, {
1333+
method: 'DELETE',
1334+
headers,
1335+
credentials: 'include'
1336+
}).then(response => response.json())
1337+
.then(json => {
1338+
if (json.error) {
1339+
return reject(new Error(json.message))
1340+
}
1341+
commit('setKYCWebpageConfig', {});
1342+
resolve({ success: true })
1343+
}).catch((e) => {
1344+
return reject(`Error while deleting KYC webpage configuration: ` + e.message);
1345+
})
1346+
});
1347+
},
1348+
12321349

12331350
fetchSessionsDetailsById2: ({ commit, getters }, payload) => {
12341351
return new Promise((resolve, reject) => {

0 commit comments

Comments
 (0)