Browse Source

DEC-17971 feat: redis数据集加密

pull/9/head
zsmj1994 4 years ago
parent
commit
03eac54abd
  1. 29
      src/web/src/modules/app.dataset.ts
  2. 35
      src/web/src/modules/app.program.ts

29
src/web/src/modules/app.dataset.ts

@ -1,11 +1,11 @@
import { shortcut, store } from '@core/core'; import {shortcut, store} from '@core/core';
import { TableList } from './table_list/table_list'; import {TableList} from './table_list/table_list';
import '../less/index.less'; import '../less/index.less';
import { DatabaseIndex } from './components/database_index/database_index'; import {DatabaseIndex} from './components/database_index/database_index';
import { RedisModel, ParameterType } from './app.model'; import {RedisModel, ParameterType} from './app.model';
import { Preview } from './components/preview/preview'; import {Preview} from './components/preview/preview';
import './app.less'; import './app.less';
import { redisField } from './app.constant'; import {redisField} from './app.constant';
@shortcut() @shortcut()
@store(RedisModel) @store(RedisModel)
@ -43,11 +43,12 @@ export class RedisDataset extends BI.Widget {
} }
render() { render() {
const { database = '', orderValue = 0, query = '', parameters = [] } = this.options.value.datasetData || {}; const {database = '', orderValue = 0, query = '', parameters = []} = this.options.value.datasetData || {};
this.store.setParameters(parameters); this.store.setParameters(parameters);
this.store.setAbleSave(!!query); const plainQuery = BI.Providers.getProvider("dec.provider.cipher").getPlain(query);
this.store.setAbleSave(!!plainQuery);
const inputType = typeof orderValue === 'string' ? 'formula' : 'int'; const inputType = typeof orderValue === 'string' ? 'formula' : 'int';
return { return {
type: BI.HTapeLayout.xtype, type: BI.HTapeLayout.xtype,
tgap: 15, tgap: 15,
@ -130,7 +131,7 @@ export class RedisDataset extends BI.Widget {
cls: 'bi-border', cls: 'bi-border',
height: 200, height: 200,
allowBlank: true, allowBlank: true,
value: query, value: plainQuery,
ref: (_ref: any) => { ref: (_ref: any) => {
this.queryCondition = _ref; this.queryCondition = _ref;
}, },
@ -185,7 +186,7 @@ export class RedisDataset extends BI.Widget {
columnSize: [300, 300, ''], columnSize: [300, 300, ''],
items: this.renderItems(), items: this.renderItems(),
header: [this.model.paramHeader], header: [this.model.paramHeader],
ref: (_ref: any) => { ref: (_ref: any) => {
this.parameterEditor = _ref; this.parameterEditor = _ref;
}, },
}], }],
@ -195,7 +196,7 @@ export class RedisDataset extends BI.Widget {
private renderItems() { private renderItems() {
const self = this; const self = this;
return this.model.parameters.map((item, index) => [{ return this.model.parameters.map((item, index) => [{
type: BI.Label.xtype, type: BI.Label.xtype,
text: item.name, text: item.name,
@ -210,7 +211,7 @@ export class RedisDataset extends BI.Widget {
value: item.type, value: item.type,
listeners: [{ listeners: [{
eventName: BI.IconTextValueCombo.EVENT_CHANGE, eventName: BI.IconTextValueCombo.EVENT_CHANGE,
action () { action() {
self.store.setParamType(index, this.getValue()[0]); self.store.setParamType(index, this.getValue()[0]);
}, },
}], }],
@ -227,7 +228,7 @@ export class RedisDataset extends BI.Widget {
return { return {
database: this.tableList.getSelectedDatabase(), database: this.tableList.getSelectedDatabase(),
orderValue: this.databaseIndex.getValue(), orderValue: this.databaseIndex.getValue(),
query: this.queryCondition.getValue(), query: BI.Providers.getProvider("dec.provider.cipher").getCipher(this.queryCondition.getValue()),
parameters: this.model.parameters, parameters: this.model.parameters,
}; };
} }

35
src/web/src/modules/app.program.ts

@ -1,11 +1,11 @@
import { shortcut, store } from '@core/core'; import {shortcut, store} from '@core/core';
import { TableList } from './table_list/table_list'; import {TableList} from './table_list/table_list';
import '../less/index.less'; import '../less/index.less';
import { DatabaseIndex } from './components/database_index/database_index'; import {DatabaseIndex} from './components/database_index/database_index';
import { RedisModel, ParameterType } from './app.model'; import {RedisModel, ParameterType} from './app.model';
import './app.less'; import './app.less';
import { redisField } from './app.constant'; import {redisField} from './app.constant';
import { Preview } from './components/preview/preview'; import {Preview} from './components/preview/preview';
@shortcut() @shortcut()
@store(RedisModel) @store(RedisModel)
@ -46,10 +46,17 @@ export class RedisProgram extends BI.Widget {
} }
render() { render() {
const { database = '', orderValue = 0, script = '', parameters = [], engineType = 0 } = this.options.value.datasetData || {}; const {
database = '',
orderValue = 0,
script = '',
parameters = [],
engineType = 0
} = this.options.value.datasetData || {};
this.store.setParameters(parameters); this.store.setParameters(parameters);
const inputType = typeof orderValue === 'string' ? 'formula' : 'int'; const inputType = typeof orderValue === 'string' ? 'formula' : 'int';
const plainScript = BI.Providers.getProvider("dec.provider.cipher").getPlain(script);
return { return {
type: BI.HTapeLayout.xtype, type: BI.HTapeLayout.xtype,
tgap: 15, tgap: 15,
@ -157,7 +164,7 @@ export class RedisProgram extends BI.Widget {
cls: 'bi-border', cls: 'bi-border',
height: 200, height: 200,
allowBlank: true, allowBlank: true,
value: script, value: plainScript,
ref: (_ref: any) => { ref: (_ref: any) => {
this.queryCondition = _ref; this.queryCondition = _ref;
}, },
@ -212,7 +219,7 @@ export class RedisProgram extends BI.Widget {
columnSize: [300, 300, ''], columnSize: [300, 300, ''],
items: this.renderItems(), items: this.renderItems(),
header: [this.model.paramHeader], header: [this.model.paramHeader],
ref: (_ref: any) => { ref: (_ref: any) => {
this.parameterEditor = _ref; this.parameterEditor = _ref;
}, },
}], }],
@ -222,7 +229,7 @@ export class RedisProgram extends BI.Widget {
private renderItems() { private renderItems() {
const self = this; const self = this;
return this.model.parameters.map((item, index) => [{ return this.model.parameters.map((item, index) => [{
type: BI.Label.xtype, type: BI.Label.xtype,
text: item.name, text: item.name,
@ -237,7 +244,7 @@ export class RedisProgram extends BI.Widget {
value: item.type, value: item.type,
listeners: [{ listeners: [{
eventName: BI.IconTextValueCombo.EVENT_CHANGE, eventName: BI.IconTextValueCombo.EVENT_CHANGE,
action () { action() {
self.store.setParamType(index, this.getValue()[0]); self.store.setParamType(index, this.getValue()[0]);
}, },
}], }],
@ -251,7 +258,7 @@ export class RedisProgram extends BI.Widget {
self.store.setParamValue(index, value); self.store.setParamValue(index, value);
})]); })]);
} }
private createParameterValueItem(param: ParameterType, cb: Function) { private createParameterValueItem(param: ParameterType, cb: Function) {
return BI.Services.getService('dec.service.data.set').createParameterValueItem(param, cb); return BI.Services.getService('dec.service.data.set').createParameterValueItem(param, cb);
} }
@ -260,7 +267,7 @@ export class RedisProgram extends BI.Widget {
return { return {
database: this.tableList.getSelectedDatabase(), database: this.tableList.getSelectedDatabase(),
orderValue: this.databaseIndex.getValue(), orderValue: this.databaseIndex.getValue(),
script: this.queryCondition.getValue(), script: BI.Providers.getProvider("dec.provider.cipher").getCipher(this.queryCondition.getValue()),
engineType: this.engineTypeSelect.getValue()[0], engineType: this.engineTypeSelect.getValue()[0],
parameters: this.model.parameters, parameters: this.model.parameters,
}; };

Loading…
Cancel
Save