Built motion from commit (unavailable).|2.5.23
[motion2.git] / server / components / license / service.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x3786=['split','createDecipher','aes-256-ctr','format','update','base64','utf8','final','parse','hasOwnProperty','use','License','findOne','then','count','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','User','admin','user','isUserLimit','crypto','util','../../mysqldb','../../config/environment','data1','license'];(function(_0x5ed44f,_0xf5879c){var _0x2955f1=function(_0x382a18){while(--_0x382a18){_0x5ed44f['push'](_0x5ed44f['shift']());}};_0x2955f1(++_0xf5879c);}(_0x3786,0xa2));var _0x6378=function(_0x3c9ffa,_0x459430){_0x3c9ffa=_0x3c9ffa-0x0;var _0x3eacf8=_0x3786[_0x3c9ffa];return _0x3eacf8;};'use strict';var crypto=require(_0x6378('0x0'));var util=require(_0x6378('0x1'));var compose=require('composable-middleware');var db=require(_0x6378('0x2'))['db'];var config=require(_0x6378('0x3'));function getValueFromLicense(_0x462dda,_0x6cbecb){if(_0x462dda&&_0x6cbecb){if(_0x6cbecb[_0x6378('0x4')]&&_0x6cbecb[_0x6378('0x5')]){var _0x3d09f0=_0x6cbecb[_0x6378('0x4')];var _0x276af0=_0x6cbecb[_0x6378('0x5')];var _0x54d309=_0x3d09f0['split']('-')[0x4];var _0x3f9f05=_0x3d09f0[_0x6378('0x6')]('-')[0x0];var _0x107004=crypto[_0x6378('0x7')](_0x6378('0x8'),util[_0x6378('0x9')]('%s:%s:%s',_0x54d309,_0x3d09f0,_0x3f9f05));var _0x3a037e=_0x107004[_0x6378('0xa')](_0x276af0,_0x6378('0xb'),_0x6378('0xc'));_0x3a037e+=_0x107004[_0x6378('0xd')](_0x6378('0xc'));var _0x5e55e2=JSON[_0x6378('0xe')](_0x3a037e);return _0x5e55e2[_0x6378('0xf')](_0x462dda)?_0x5e55e2[_0x462dda]:null;}}return null;}function isLimit(_0x593a22,_0x150a8f,_0x41fb24,_0x44b81f){var _0x4d72d4=_0x150a8f;return compose()[_0x6378('0x10')](function(_0x4d2848,_0x3a00c6,_0x34818b){return db[_0x6378('0x11')][_0x6378('0x12')]({'where':{'id':0x1},'raw':!![]})[_0x6378('0x13')](function(_0x1cf94e){var _0x1f4613=getValueFromLicense(_0x593a22,_0x1cf94e);return _0x1f4613?_0x1f4613:_0x4d72d4;})[_0x6378('0x13')](function(_0x424caa){_0x4d72d4=_0x424caa;return _0x41fb24[_0x6378('0x14')](_0x44b81f);})[_0x6378('0x13')](function(_0x2321cf){if(_0x2321cf>=_0x4d72d4){return _0x3a00c6['status'](0x193)[_0x6378('0x15')]({'message':util[_0x6378('0x9')](_0x6378('0x16'),_0x593a22)});}_0x34818b();})[_0x6378('0x17')](function(_0x5a9e52){_0x34818b(_0x5a9e52);});});}function isUserLimit(){return isLimit('users',0x1,db[_0x6378('0x18')],{'where':{'$or':[{'role':_0x6378('0x19')},{'role':_0x6378('0x1a')}]}});}exports[_0x6378('0x1b')]=isUserLimit;