Built motion from commit 87cd5f02.|2.5.48
[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 _0x960a=['user','util','composable-middleware','../../config/environment','data1','license','split','aes-256-ctr','format','%s:%s:%s','update','base64','utf8','final','hasOwnProperty','use','License','findOne','then','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','User','admin'];(function(_0xf458e3,_0x4c0a2b){var _0x1471ee=function(_0x514646){while(--_0x514646){_0xf458e3['push'](_0xf458e3['shift']());}};_0x1471ee(++_0x4c0a2b);}(_0x960a,0x97));var _0xa960=function(_0x153faa,_0x54c1b0){_0x153faa=_0x153faa-0x0;var _0x51272c=_0x960a[_0x153faa];return _0x51272c;};'use strict';var crypto=require('crypto');var util=require(_0xa960('0x0'));var compose=require(_0xa960('0x1'));var db=require('../../mysqldb')['db'];var config=require(_0xa960('0x2'));function getValueFromLicense(_0x429918,_0x4fb4ee){if(_0x429918&&_0x4fb4ee){if(_0x4fb4ee[_0xa960('0x3')]&&_0x4fb4ee[_0xa960('0x4')]){var _0x240ac2=_0x4fb4ee[_0xa960('0x3')];var _0x45f4bc=_0x4fb4ee[_0xa960('0x4')];var _0x1ccf3c=_0x240ac2[_0xa960('0x5')]('-')[0x4];var _0x48bb7e=_0x240ac2[_0xa960('0x5')]('-')[0x0];var _0x431d0a=crypto['createDecipher'](_0xa960('0x6'),util[_0xa960('0x7')](_0xa960('0x8'),_0x1ccf3c,_0x240ac2,_0x48bb7e));var _0x32520d=_0x431d0a[_0xa960('0x9')](_0x45f4bc,_0xa960('0xa'),_0xa960('0xb'));_0x32520d+=_0x431d0a[_0xa960('0xc')](_0xa960('0xb'));var _0xe9d517=JSON['parse'](_0x32520d);return _0xe9d517[_0xa960('0xd')](_0x429918)?_0xe9d517[_0x429918]:null;}}return null;}function isLimit(_0x1fc24f,_0x133a15,_0x5d2b9b,_0x40b14f){var _0x429516=_0x133a15;return compose()[_0xa960('0xe')](function(_0x260e57,_0x135d86,_0x3bd689){return db[_0xa960('0xf')][_0xa960('0x10')]({'where':{'id':0x1},'raw':!![]})[_0xa960('0x11')](function(_0x53a48b){var _0x1fe79b=getValueFromLicense(_0x1fc24f,_0x53a48b);return _0x1fe79b?_0x1fe79b:_0x429516;})[_0xa960('0x11')](function(_0x57997f){_0x429516=_0x57997f;return _0x5d2b9b['count'](_0x40b14f);})[_0xa960('0x11')](function(_0x378405){if(_0x378405>=_0x429516){return _0x135d86[_0xa960('0x12')](0x193)[_0xa960('0x13')]({'message':util[_0xa960('0x7')](_0xa960('0x14'),_0x1fc24f)});}_0x3bd689();})[_0xa960('0x15')](function(_0x9e0634){_0x3bd689(_0x9e0634);});});}function isUserLimit(){return isLimit('users',0x1,db[_0xa960('0x16')],{'where':{'$or':[{'role':_0xa960('0x17')},{'role':_0xa960('0x18')}]}});}exports['isUserLimit']=isUserLimit;