count-management-module

count-management-module is used to manage counter for specific key passed by the user. It also manage past state of counter for all key through database entry.

Usage no npm install needed!

<script type="module">
  import countManagementModule from 'https://cdn.skypack.dev/count-management-module';
</script>

README

count-management-module

Author: Chandrakant Thakkar

Created on: 14th Oct 2016

count-management-module is used to manage counter for specific key passed by the user. It also manage past state of counter for all key through database entry.
  • To use this module, It requires 'tbl_uniquekey' table into database.'tbl_uniquekey' table defination is as following.
Field Type Key Default
UK_key varchar(30) NO PRI
UK_value int(11) YES -
  • mysql script for table 'tbl_uniquekey'
CREATE TABLE `tbl_uniquekey` (
  `UK_key` varchar(30) NOT NULL,
  `UK_value` int(11) DEFAULT NULL,
  PRIMARY KEY (`UK_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Function

  • getUniqueNumber :
  • Sample 1
var generateNextCounter = require('count-management-module');  
var sendData = {
  "id": "UNIQUEKEY",//id: unique key for which it create unique counter
  "count": 1,//count: update counter value to plus 1 in 'tbl_uniquekey' table at a time
  "dbConfig": sampleConfig
};
generateNextCounter.getUniqueNumber(sendData, {}, function(data) {
var nextCounter=data.content;
});
  • sampleConfig : Configuration for database connection. (As given below)
var sampleConfig = {
  type: "database",
  engine: 'MyISAM',
  databaseType: 'mysql',
  database: 'database',
  host: "hostname",
  port: "port",
  user: "user",
  password: "password",
  cacheResponse: false
};
  • In Sample 1 it creates one entry into table 'tbl_uniquekey' with UK_key as 'UNIQUEKEY' and UK_value as 1 and return 1 value as next counter in 'data.content' variable. while calling same method again it update entry into table 'tbl_uniquekey' for UK_key 'UNIQUEKEY' with UK_value as 2 and return next counter value as 2 in 'data.content' variable.

  • Sample 2

var generateNextCounter = require('count-management-module');  
var sendData = {
  "id": "UNIQUEKEY",//id: unique key for which it create unique counter
  "count": 5,//count: update counter value to plus 5 in 'tbl_uniquekey' table at a time
  "dbConfig": sampleConfig
};
generateNextCounter.getUniqueNumber(sendData, {}, function(data) {
  var counterStart=data.content;
  for(i=0;i<5;i++){
   console.log("counter value:"+counterStart);
   counterStart=counterStart+1;
  }
});
  • In Sample 2 we require 5 counters at a same time, it creates one entry into table 'tbl_uniquekey' with UK_key as 'UNIQUEKEY' and UK_value as 5 and return 1 value as next counter in 'data.content' variable. now we can generate all five counter for key 'UNIQUEKEY' with starting value as 1 and go till 5 using loop.

  • while calling same method again it update entry into table 'tbl_uniquekey' for UK_key 'UNIQUEKEY' with UK_value as 10 and return next counter value as 6 in 'data.content' variable.now we can generate all five counter for key 'UNIQUEKEY' with starting value as 6 and go till 10 using loop.