Built motion from commit c116dc8b.|2.6.30
[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 _0x5158=['base64','utf8','parse','hasOwnProperty','use','findOne','then','count','status','json','catch','users','admin','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','license','data1','split','%s:%s:%s'];(function(_0x18d500,_0x58f17d){var _0x49a468=function(_0x38579e){while(--_0x38579e){_0x18d500['push'](_0x18d500['shift']());}};_0x49a468(++_0x58f17d);}(_0x5158,0x1d7));var _0x8515=function(_0x4ed520,_0x21be63){_0x4ed520=_0x4ed520-0x0;var _0x4415a6=_0x5158[_0x4ed520];return _0x4415a6;};'use strict';var crypto=require(_0x8515('0x0'));var util=require(_0x8515('0x1'));var compose=require(_0x8515('0x2'));var db=require(_0x8515('0x3'))['db'];var config=require(_0x8515('0x4'));function getValueFromLicense(_0x181290,_0x405c7e){if(_0x181290&&_0x405c7e){if(_0x405c7e['data1']&&_0x405c7e[_0x8515('0x5')]){var _0x46ff26=_0x405c7e[_0x8515('0x6')];var _0x3c5fad=_0x405c7e[_0x8515('0x5')];var _0x5cd988=_0x46ff26['split']('-')[0x4];var _0xaaeb9c=_0x46ff26[_0x8515('0x7')]('-')[0x0];var _0x4ee732=crypto['createDecipher']('aes-256-ctr',util['format'](_0x8515('0x8'),_0x5cd988,_0x46ff26,_0xaaeb9c));var _0x32bef5=_0x4ee732['update'](_0x3c5fad,_0x8515('0x9'),_0x8515('0xa'));_0x32bef5+=_0x4ee732['final']('utf8');var _0xdc49b1=JSON[_0x8515('0xb')](_0x32bef5);return _0xdc49b1[_0x8515('0xc')](_0x181290)?_0xdc49b1[_0x181290]:null;}}return null;}function isLimit(_0x1091b3,_0x5a7668,_0x55e18e,_0x43d4c5){var _0x15f954=_0x5a7668;return compose()[_0x8515('0xd')](function(_0xef16e1,_0x4b635c,_0x411101){return db['License'][_0x8515('0xe')]({'where':{'id':0x1},'raw':!![]})[_0x8515('0xf')](function(_0x3ea18f){var _0x3e9ffc=getValueFromLicense(_0x1091b3,_0x3ea18f);return _0x3e9ffc?_0x3e9ffc:_0x15f954;})[_0x8515('0xf')](function(_0x154ffd){_0x15f954=_0x154ffd;return _0x55e18e[_0x8515('0x10')](_0x43d4c5);})[_0x8515('0xf')](function(_0x50defb){if(_0x50defb>=_0x15f954){return _0x4b635c[_0x8515('0x11')](0x193)[_0x8515('0x12')]({'message':util['format']('Maximum\x20%s\x20limit\x20have\x20been\x20reached',_0x1091b3)});}_0x411101();})[_0x8515('0x13')](function(_0x4008d8){_0x411101(_0x4008d8);});});}function isUserLimit(){return isLimit(_0x8515('0x14'),0x1,db['User'],{'where':{'$or':[{'role':_0x8515('0x15')},{'role':_0x8515('0x16')}]}});}exports[_0x8515('0x17')]=isUserLimit;