New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

lib-dynamoitemcounter

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lib-dynamoitemcounter

A package that provides functions to keep count of dynamodb records for each Albert Module.

latest
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

lib-dynamoitemcounter

Nodejs module that provides functionality to increment, decrement and get counter values for each dynamodb entity in Albert

How to use the module

  • Instantiate the db-itemcounter function with the name of the dynamodb table name as below
let counterObject= require('./index.js')('albert-dev');

or after installing the node module through npm install use

let counterObject= require('lib-dbitemcounter')('albert-dev');
  • IMPORTANT - always get the table name from the .env file variable and avoid hardcoding table name.
  • then use getCount function to get the count of the specific module, category for a tenantId
console.log('getCount is ', await counterObject.getCount('TEN0','INV', 'A'));
getCount is 0
  • If there is no counter record for the given valid tenant, entity (and category) combination initially, 0 will be returned
  • use increment function to increment the counter by value 1
console.log('increment is ', await myTest.increment('TEN0','INV', 'A'));
increment is 1
  • After the first increment function call on a valid entity (and category combination), the return value is 1 and gets incremented sequentially by 1 after each following call.
  • use decrement function to decrement the counter by value 1 and return the resultant value
console.log('decrement is ', await myTest.decrement('TEN0','INV', 'A'));
decrement is 0
  • a counter for a valid entity (and category combination) can be decremented till 0, below which error would be thrown upon calling decrement.
console.log('getCount is ', await myTest.getCount('TEN0','DAC'));
console.log('decrement is ', await myTest.decrement('TEN0','DAC'));
console.log('getCount is ', await myTest.getCount('TEN0','DAC'));

getCount is  0
decrement is  { error: 'The conditional request failed : Trying to decrement below 0 / Count does not exist for the given combination'}
getCount is  0
  • If the specific entity or category combination does not exist, error is thrown by all functions
console.log('getCount is ', await myTest.getCount('TEN0','DACX'));
console.log('decrement is ', await myTest.decrement('TEN0','INV', 'Q'));
console.log('getCount is ', await myTest.increment('TEN0','HHH'));

getCount is  { error: 'Valid TenantId / Entity required' }
decrement is  { error: 'The Entity / Category combination is invalid' }
getCount is  { error: 'Valid TenantId / Entity required' }
  • Every function will take in 3 parameters

myTest.getCount(tenantId, entity, category)

  • tenantId - TEN0/TEN1 (mandatory)
  • entity - name of the entity (module) - namely like COM, INV, LOC etc (mandatory)
  • category - name of category within the entity as specified in the category.json file (non mandatory)
  • You can check for existing list of categories inside an entity, include a new entity, and its sub categories inside the category.json in the module folder.

#Database Counter Record format

image

Keywords

Dynamo

FAQs

Package last updated on 02 Feb 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts