Built motion from commit (unavailable).|2.4.21
[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 _0x9b36=['update','utf8','final','hasOwnProperty','License','findOne','then','count','status','catch','User','admin','user','isUserLimit','crypto','util','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','format','%s:%s:%s'];(function(_0xf9e6c4,_0x103d7d){var _0x5b7700=function(_0x1ac35c){while(--_0x1ac35c){_0xf9e6c4['push'](_0xf9e6c4['shift']());}};_0x5b7700(++_0x103d7d);}(_0x9b36,0x108));var _0x69b3=function(_0x586abe,_0x15ef91){_0x586abe=_0x586abe-0x0;var _0x258bcf=_0x9b36[_0x586abe];return _0x258bcf;};'use strict';var crypto=require(_0x69b3('0x0'));var util=require(_0x69b3('0x1'));var compose=require('composable-middleware');var db=require(_0x69b3('0x2'))['db'];var config=require(_0x69b3('0x3'));function getValueFromLicense(_0x5b9d20,_0x4682e2){if(_0x5b9d20&&_0x4682e2){if(_0x4682e2[_0x69b3('0x4')]&&_0x4682e2[_0x69b3('0x5')]){var _0x3dd912=_0x4682e2['data1'];var _0x4c167e=_0x4682e2['license'];var _0x3f8401=_0x3dd912[_0x69b3('0x6')]('-')[0x4];var _0x34803d=_0x3dd912[_0x69b3('0x6')]('-')[0x0];var _0x141329=crypto[_0x69b3('0x7')](_0x69b3('0x8'),util[_0x69b3('0x9')](_0x69b3('0xa'),_0x3f8401,_0x3dd912,_0x34803d));var _0x399056=_0x141329[_0x69b3('0xb')](_0x4c167e,'base64',_0x69b3('0xc'));_0x399056+=_0x141329[_0x69b3('0xd')](_0x69b3('0xc'));var _0x58abdb=JSON['parse'](_0x399056);return _0x58abdb[_0x69b3('0xe')](_0x5b9d20)?_0x58abdb[_0x5b9d20]:null;}}return null;}function isLimit(_0x48d2ef,_0x10d695,_0x3f6685,_0x22555b){var _0x3d8ac1=_0x10d695;return compose()['use'](function(_0xaac011,_0x2304e7,_0x1c85a6){return db[_0x69b3('0xf')][_0x69b3('0x10')]({'where':{'id':0x1},'raw':!![]})['then'](function(_0xd1dc1){var _0x15699a=getValueFromLicense(_0x48d2ef,_0xd1dc1);return _0x15699a?_0x15699a:_0x3d8ac1;})[_0x69b3('0x11')](function(_0x5cb219){_0x3d8ac1=_0x5cb219;return _0x3f6685[_0x69b3('0x12')](_0x22555b);})[_0x69b3('0x11')](function(_0x140e1a){if(_0x140e1a>=_0x3d8ac1){return _0x2304e7[_0x69b3('0x13')](0x193)['json']({'message':util['format']('Maximum\x20%s\x20limit\x20have\x20been\x20reached',_0x48d2ef)});}_0x1c85a6();})[_0x69b3('0x14')](function(_0x172707){_0x1c85a6(_0x172707);});});}function isUserLimit(){return isLimit('users',0x1,db[_0x69b3('0x15')],{'where':{'$or':[{'role':_0x69b3('0x16')},{'role':_0x69b3('0x17')}]}});}exports[_0x69b3('0x18')]=isUserLimit;