mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-25 07:27:28 +00:00
* harperdb plugin initial commit * added required fields in manifest and provided default values in operation json * removed not required query options from harperdb * modified nosql code * review changes inprogress * added new fields in manifest file to customize port and protocol * protocol drop down in harperdb is changed to ssl toggle * search-by-condition query in NoSQL * harperdb NoSQL version tested along with search with condition query * Dynamodb new operations added UpdateItem - DescribeTable - CreateTable * dynamodb plugin new operation putItem added
121 lines
2.6 KiB
TypeScript
121 lines
2.6 KiB
TypeScript
export function listTables(client): Promise<object> {
|
|
return new Promise((resolve, reject) => {
|
|
client.listTables(function (err, data) {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(data['TableNames']);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
export function getItem(client, table: string, key: object): Promise<object> {
|
|
const params = {
|
|
TableName: table,
|
|
Key: key,
|
|
};
|
|
|
|
return new Promise((resolve, reject) => {
|
|
client.get(params, function (err, data) {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(data['Item'] || {});
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
export function deleteItem(client, table: string, key: object): Promise<object> {
|
|
const params = {
|
|
TableName: table,
|
|
Key: key,
|
|
};
|
|
|
|
return new Promise((resolve, reject) => {
|
|
client.delete(params, function (err, data) {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(data);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
export function queryTable(client, queryCondition: object): Promise<object> {
|
|
return new Promise((resolve, reject) => {
|
|
client.query(queryCondition, function (err, data) {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(data);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
export function scanTable(client, scanCondition: object): Promise<object> {
|
|
return new Promise((resolve, reject) => {
|
|
client.scan(scanCondition, function (err, data) {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(data);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
export function updateItem(client, updateCondition: object): Promise<object> {
|
|
return new Promise((resolve, reject) => {
|
|
client.update(updateCondition, function (err, data) {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(data);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
export function describeTable(client, table: string): Promise<object> {
|
|
const params = {
|
|
TableName: table,
|
|
};
|
|
|
|
return new Promise((resolve, reject) => {
|
|
client.describeTable(params, function (err, data) {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(data);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
export function createTable(client, tableParameters: object) {
|
|
return new Promise((resolve, reject) => {
|
|
client.createTable(tableParameters, function (err, data) {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(data);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
export function putItem(client, newItemDetails: object): Promise<object> {
|
|
return new Promise((resolve, reject) => {
|
|
client.put(newItemDetails, function (err, data) {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(data);
|
|
}
|
|
});
|
|
});
|
|
}
|