Built motion from commit (unavailable).|2.4.17
[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 _0xfada=['admin','user','crypto','util','composable-middleware','../../mysqldb','data1','license','split','createDecipher','aes-256-ctr','format','%s:%s:%s','update','base64','utf8','final','parse','hasOwnProperty','License','findOne','then','count','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User'];(function(_0x85d5a8,_0x1977be){var _0x20479b=function(_0x125248){while(--_0x125248){_0x85d5a8['push'](_0x85d5a8['shift']());}};_0x20479b(++_0x1977be);}(_0xfada,0xc6));var _0xafad=function(_0x379fa3,_0x45f2a3){_0x379fa3=_0x379fa3-0x0;var _0x2ac20e=_0xfada[_0x379fa3];return _0x2ac20e;};'use strict';var crypto=require(_0xafad('0x0'));var util=require(_0xafad('0x1'));var compose=require(_0xafad('0x2'));var db=require(_0xafad('0x3'))['db'];var config=require('../../config/environment');function getValueFromLicense(_0x1fa1c4,_0x530f42){if(_0x1fa1c4&&_0x530f42){if(_0x530f42[_0xafad('0x4')]&&_0x530f42[_0xafad('0x5')]){var _0x1f5251=_0x530f42[_0xafad('0x4')];var _0x2f37a7=_0x530f42[_0xafad('0x5')];var _0x766c47=_0x1f5251[_0xafad('0x6')]('-')[0x4];var _0x37ead1=_0x1f5251[_0xafad('0x6')]('-')[0x0];var _0x1182a0=crypto[_0xafad('0x7')](_0xafad('0x8'),util[_0xafad('0x9')](_0xafad('0xa'),_0x766c47,_0x1f5251,_0x37ead1));var _0xf656bf=_0x1182a0[_0xafad('0xb')](_0x2f37a7,_0xafad('0xc'),_0xafad('0xd'));_0xf656bf+=_0x1182a0[_0xafad('0xe')](_0xafad('0xd'));var _0x548295=JSON[_0xafad('0xf')](_0xf656bf);return _0x548295[_0xafad('0x10')](_0x1fa1c4)?_0x548295[_0x1fa1c4]:null;}}return null;}function isLimit(_0x35d08e,_0x39a4d9,_0x212624,_0x32f59f){var _0x38c3f4=_0x39a4d9;return compose()['use'](function(_0x2fe1a6,_0x342f30,_0x12c42e){return db[_0xafad('0x11')][_0xafad('0x12')]({'where':{'id':0x1},'raw':!![]})[_0xafad('0x13')](function(_0x1a5a92){var _0x16c2a0=getValueFromLicense(_0x35d08e,_0x1a5a92);return _0x16c2a0?_0x16c2a0:_0x38c3f4;})[_0xafad('0x13')](function(_0x183064){_0x38c3f4=_0x183064;return _0x212624[_0xafad('0x14')](_0x32f59f);})[_0xafad('0x13')](function(_0x2d02f4){if(_0x2d02f4>=_0x38c3f4){return _0x342f30['status'](0x193)[_0xafad('0x15')]({'message':util['format'](_0xafad('0x16'),_0x35d08e)});}_0x12c42e();})[_0xafad('0x17')](function(_0x3248b6){_0x12c42e(_0x3248b6);});});}function isUserLimit(){return isLimit(_0xafad('0x18'),0x1,db[_0xafad('0x19')],{'where':{'$or':[{'role':_0xafad('0x1a')},{'role':_0xafad('0x1b')}]}});}exports['isUserLimit']=isUserLimit;