1.0.8 • Published 1 year ago

gupshup-demodb v1.0.8

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
1 year ago

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;
    }
  }
})()

Authors

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago