ToolJet/server/plugins/datasources/dynamodb/operations.ts

70 lines
1.5 KiB
TypeScript
Raw Normal View History

2021-07-16 13:06:19 +00:00
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> {
2021-07-16 13:06:19 +00:00
const params = {
TableName: table,
Key: key,
2021-07-16 13:06:19 +00:00
};
return new Promise((resolve, reject) => {
client.get(params, function (err, data) {
if (err) {
reject(err);
} else {
resolve(data['Item'] || {});
2021-07-16 13:06:19 +00:00
}
});
});
}
export function deleteItem(client, table: string, key: object): Promise<object> {
2021-07-16 13:06:19 +00:00
const params = {
TableName: table,
Key: key,
2021-07-16 13:06:19 +00:00
};
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> {
2021-07-16 13:06:19 +00:00
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> {
2021-07-16 13:06:19 +00:00
return new Promise((resolve, reject) => {
client.scan(scanCondition, function (err, data) {
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
}