add db key modal

This commit is contained in:
Jan Prochazka
2022-03-13 22:30:45 +01:00
parent dc34898cd8
commit 5bda092a51
10 changed files with 161 additions and 29 deletions

View File

@@ -161,27 +161,29 @@ const driver = {
case 'string':
res.value = await pool.get(key);
break;
case 'list':
res.tableColumns = [{ name: 'value' }];
res.addMethod = 'rpush';
break;
case 'set':
res.tableColumns = [{ name: 'value' }];
res.keyColumn = 'value';
res.addMethod = 'sadd';
break;
case 'zset':
res.tableColumns = [{ name: 'score' }, { name: 'value' }];
res.keyColumn = 'value';
res.addMethod = 'zadd';
break;
case 'hash':
res.tableColumns = [{ name: 'key' }, { name: 'value' }];
res.keyColumn = 'key';
res.addMethod = 'hset';
break;
// case 'list':
// res.tableColumns = [{ name: 'value' }];
// res.addMethod = 'rpush';
// break;
// case 'set':
// res.tableColumns = [{ name: 'value' }];
// res.keyColumn = 'value';
// res.addMethod = 'sadd';
// break;
// case 'zset':
// res.tableColumns = [{ name: 'score' }, { name: 'value' }];
// res.keyColumn = 'value';
// res.addMethod = 'zadd';
// break;
// case 'hash':
// res.tableColumns = [{ name: 'key' }, { name: 'value' }];
// res.keyColumn = 'key';
// res.addMethod = 'hset';
// break;
}
res.keyType = this.supportedKeyTypes.find((x) => x.name == type);
return res;
},

View File

@@ -22,6 +22,45 @@ const driver = {
title: 'Redis',
defaultPort: 6379,
databaseEngineTypes: ['keyvalue'],
supportedKeyTypes: [
{
name: 'string',
label: 'String',
dbKeyFields: [{ name: 'value' }],
addMethod: 'set',
},
{
name: 'list',
label: 'List',
dbKeyFields: [{ name: 'value' }],
addMethod: 'rpush',
showItemList: true,
},
{
name: 'set',
label: 'Set',
dbKeyFields: [{ name: 'value' }],
keyColumn: 'value',
addMethod: 'sadd',
showItemList: true,
},
{
name: 'zset',
label: 'Sorted Set',
dbKeyFields: [{ name: 'score' }, { name: 'value' }],
keyColumn: 'value',
addMethod: 'zadd',
showItemList: true,
},
{
name: 'hash',
label: 'Hash',
dbKeyFields: [{ name: 'key' }, { name: 'value' }],
keyColumn: 'key',
addMethod: 'hset',
showItemList: true,
},
],
showConnectionField: (field, values) => {
return ['server', 'port', 'password'].includes(field);