1.0.8 • Published 1 year ago
gupshup-demodb v1.0.8
gupshup-demodb
It allow you to connect with backend sql db with no configuration.
Installation
To install this npm package.
npm i gupshup-demodb
To import this package in your code
var GupshupDB = require('gupshup-demodb');
Run Locally
Set below environment variables for connecting mariadb.
GUPSHUP_DB_CONNECTION_URL="00.224.114.86"
GUPSHUP_DB_USERNAME="root"
GUPSHUP_DB_PASSWORD="password"
GUPSHUP_DB_DATABASE="DATABASE_NAME"
GUPSHUP_DB_CONNECTION_LIMIT=5
For Journey builder, you can setup above mentioned variables as a gloabl variable.
Database Connection Code and Query Execution
Sample code for fetching user records
//Self executing function for journey codeNode. Which allows user to execute async code.
(async () => {
const GupshupDB = require('gupshup-demodb');
// try/catch block if any error occurs while initializing object or executing query
try {
//GupshuDB instance creationg
let GupshupDBInstance = new GupshupDB();
// GupshupDB initialzation of DB which includes database connection and returning connection object from connection pool
var conn = await GupshupDBInstance.initialize()
//var_global is journey-builder variable which is accessible inside code block
var_global.Data = "";
//SQL query object
var QueryObject = {
columns: ["id", "name", "phone"],
condition: {}
};
//Executing above SQL query using connection object.
const rows = await conn.selectUsers(QueryObject);
//Save records as a `Data` variable in Journey builder
// rows.forEach((element, index) => {
// var_global.Data += `${index + 1} :: ID - ${element.id} Name - ${element.name} Phone - ${element.phone} \n`;
// });
//Printing records
console.log(rows);
//[ record1, record2, record3..., meta]
//meta consists column definition details
//Release connection once you are done with quering
await GupshupDBInstance.close();
return true;
} catch (err) {
if (err) {
console.log(err);
return;
}
}
})()
Sample code for inserting new user record
(async () => {
//Importing Gupshup-demodb package
const GupshupDB = require('gupshup-demodb');
// try/catch block if any error occurs while initializing object or executing query
try {
//GupshuDB instance creationg
let GupshupDBInstance = new GupshupDB();
// GupshupDB initialzation of DB which includes database connection and returning connection object from connection pool
var conn = await GupshupDBInstance.initialize()
//var_global is journey-builder variable which is accessible inside code block
var_global.Data = "";
var InsertObject = {
columns: ["id", "name", "phone"],
values: [var_local.id, var_local.name, var_local.phone]
};
//Executing above SQL query using connection object.
const result = await conn.insertUser(InsertObject);
//Printing records
console.log(result);
//[ record1, record2, record3..., meta]
//meta consists column definition details
//Release connection once you are done with quering
await GupshupDBInstance.close();
return true;
} catch (err) {
if (err) {
console.log(err);
return;
}
}
})()