From 2f41bf88efe379e1950c3945a6baa0c0001f80aa Mon Sep 17 00:00:00 2001 From: Kennen <317052920@qq.com> Date: Thu, 15 Jun 2023 16:49:36 +0800 Subject: [PATCH] refactor(@tap/api/proxy): Add generateRefreshToken and host function --- packages/api/src/Proxy.ts | 8 +++++ .../src/views/connections/DatabaseForm.vue | 32 ++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/packages/api/src/Proxy.ts b/packages/api/src/Proxy.ts index 2faf1457eb..6df8f5c85d 100644 --- a/packages/api/src/Proxy.ts +++ b/packages/api/src/Proxy.ts @@ -32,5 +32,13 @@ export default class Proxy extends Http { callHistory(params) { return this.axios.get(`${this.url}/call/history`, { params }) } + + generateRefreshToken(params) { + return this.axios.post(`${this.url}/generate/refresh-token`, params) + } + + host() { + return this.axios.get(`${this.url}/host`) + } } export { Proxy } diff --git a/packages/business/src/views/connections/DatabaseForm.vue b/packages/business/src/views/connections/DatabaseForm.vue index 312f1d1d11..d147c9d40c 100644 --- a/packages/business/src/views/connections/DatabaseForm.vue +++ b/packages/business/src/views/connections/DatabaseForm.vue @@ -132,7 +132,7 @@ import i18n from '@tap/i18n' import { clusterApi, connectionsApi, databaseTypesApi, pdkApi, externalStorageApi, proxyApi } from '@tap/api' import { VIcon, GitBook } from '@tap/component' import { SchemaToForm } from '@tap/form' -import { checkConnectionName, submitForm } from '@tap/shared' +import { checkConnectionName, submitForm, uuid } from '@tap/shared' import resize from '@tap/component/src/directives/resize' import Test from './Test' @@ -1086,6 +1086,36 @@ export default { }) this.jsDebugSchemaData = fieldObj this.showJsDebug = true + }, + handleGetGenerateRefreshToken: ($index, $record, items, others) => { + if (items.filter((t, i) => i !== $index).some(t => t.supplierKey === $record.supplierKey)) { + return this.$message.error(this.$t('packages_form_message_exists_name')) + } + const params = Object.assign( + { + supplierKey: $record.supplierKey, + randomId: $record.randomId, + subscribeId: `source#${this.model?.id || this.commandCallbackFunctionId}`, + service: 'engine' + }, + others + ) + proxyApi.generateRefreshToken(params).then((data = {}) => { + const isDaas = process.env.VUE_APP_PLATFORM === 'DAAS' + const p = location.origin + location.pathname + let str = `${p}${isDaas ? '' : 'tm/'}${data.path}/${data.token}` + if (/^\/\w+/.test(data.token)) { + str = `${p.replace(/\/$/, '')}${data.token}` + } + $record.refreshURL = str + }) + }, + getUid: () => { + return uuid() + }, + getHost: async () => { + const data = await proxyApi.host() + return data?.host } } this.schemaData = result