appveen utils library
npm install @appveen/utils1. __counter__: Module to generate unique ID.
1. __transactionIdGenerator:__ returns a function which can be used in a mongoose schema pre save hook to generate a unique universalTransactionId.
2. __transactionIdGeneratorParallel:__ returns a function which can be used in a mongoose schema pre save hook to generate a unique universalTransactionId. This function should be used when hook is used in parallel middleware.
3. __getIdGenerator:__ returns a function which can be used in a mongoose schema pre save hook to generate a unique id for each document in a specific collection. It takes two arguments: 1. prefix 2. collectionName
4. __setDefaults:__ function to set default startValue of Id generated by getIdGenerator. It takes two arguments: 1. collectionName 2. defaultValue
5. __getCount:__ increments the count of Id and triggers a callback specified in the argument. It takes three arguments 1. collectionName 2. expiry of Id(can be null) 3. callback function
2. __cache__: Helper functions to use Redis as a cache for user sessions
1. uuid() : Generates a UUID without “-“
2. addToken(_token, _default, _uuidOfUI, _expiry) : Add a new user token with the UUID for UI session with expiry
3. addUISessions(_uuidOfUI, _token, _uiHeartbeatTimeOut): Start tracing a UI session
4. handleHeartBeat(_uuidOfUI, _token, _uiHeartbeatTimeOut): handle heartbeats from UI
5. showUISessions(_token): Get the list of active UI sessions
6. isValidToken(_k): Check if the given key _k is a valid token
7. isBlacklistedToken(_k): Check if the given key _k is a blacklisted token
8. blacklist(_token, _expiry): Blacklist a token with the given expiry
9. refreshToken(_tokenOld, _tokenNew, _expiry): Used when a new token is issued.
3. __date:__ returns a date, months before specified month. Takes one argument: month
4. __IDGenerator:__
1. __getUniqueID:__ generates a uniqueID which can be a candidate _id of a model.
5. __moveToES:__ move data to elastic search
1. __init:__ initialize object. Takes four args crud, mastername, logger, fields.
2. __moveToES:__ move a document to elastic search server. Takes one arg: doc
3. __moveAll:__ move all deleted document to elastic search. Takes two args: req, res
6. __rand:__ returns a random integer. Takes one arg: length of integer.
7. __logger:__ returns a log4j object compatible with aou crud library.