Browse Source

DEC-17971 feat: redis数据集加密

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

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

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

Loading…
Cancel
Save