4e703fa9a17ba3a0fc5e192f72e99ddfb256f8f8
[motion2.git] / server / config / license / util.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 _0x5449=['createDecipher','aes-256-ctr','format','update','final','utf8','parse','demo','machineUuid','getUuid','secrets','base64','gray','add','days','uuid','changed','disabled','2027-01-01T00:00:00.000Z','Breaking\x20license','message','Demo\x20license','getLicense','License','find','then','checkLicense','lodash','moment','./hardware','../../mysqldb','license','isEmpty','License\x20key\x20value\x20not\x20found','data1','split'];(function(_0x4cce93,_0xf52676){var _0x3d8d18=function(_0x4c041d){while(--_0x4c041d){_0x4cce93['push'](_0x4cce93['shift']());}};_0x3d8d18(++_0xf52676);}(_0x5449,0x15f));var _0x9544=function(_0x3207aa,_0xe86a72){_0x3207aa=_0x3207aa-0x0;var _0x51758f=_0x5449[_0x3207aa];return _0x51758f;};'use strict';var crypto=require('crypto');var util=require('util');var _=require(_0x9544('0x0'));var moment=require(_0x9544('0x1'));var hardware=require(_0x9544('0x2'));var config=require('../environment');var db=require(_0x9544('0x3'))['db'];function checkLicense(_0x5738c6,_0x386572){if(_0x5738c6){try{var _0x2de989=_0x386572||_0x5738c6[_0x9544('0x4')];if(_[_0x9544('0x5')](_0x2de989)){throw new Error(_0x9544('0x6'));}var _0x4c2b07=_0x5738c6[_0x9544('0x7')];var _0x4b6cc4=_0x5738c6['data2'];var _0x22cfee=_0x4c2b07[_0x9544('0x8')]('-')[0x4];var _0x5ad82a=_0x4c2b07[_0x9544('0x8')]('-')[0x0];var _0x5c6caf=crypto[_0x9544('0x9')](_0x9544('0xa'),util[_0x9544('0xb')]('%s:%s:%s',_0x22cfee,_0x4c2b07,_0x5ad82a));var _0x19281b=_0x5c6caf[_0x9544('0xc')](_0x2de989,'base64','utf8');_0x19281b+=_0x5c6caf[_0x9544('0xd')](_0x9544('0xe'));var _0x19f4b7=JSON[_0x9544('0xf')](_0x19281b);_0x19f4b7[_0x9544('0x10')]=![];_0x19f4b7['uuid']=_0x4c2b07;_0x19f4b7[_0x9544('0x11')]=hardware[_0x9544('0x12')]();if(_0x4b6cc4){var _0xbaef7b=crypto[_0x9544('0x9')]('aes-256-ctr',config[_0x9544('0x13')]['session']);var _0x16e090=_0xbaef7b[_0x9544('0xc')](_0x4b6cc4,_0x9544('0x14'),_0x9544('0xe'));_0x16e090+=_0xbaef7b[_0x9544('0xd')](_0x9544('0xe'));_0x19f4b7[_0x9544('0x15')]=_0x16e090;_0x19f4b7['deadline']=moment(_0x16e090)[_0x9544('0x16')](0x7,_0x9544('0x17'))[_0x9544('0xb')]();_0x19f4b7['grayReason']=_0x19f4b7[_0x9544('0x18')]!=_0x19f4b7[_0x9544('0x11')]?_0x9544('0x19'):_0x9544('0x1a');}return _0x19f4b7;}catch(_0x47b7e0){return{'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x9544('0x1b'),'chat':![],'mail':![],'fax':![],'messaging':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0x9544('0x1c'),'uuid':_0x5738c6[_0x9544('0x7')],'machineUuid':hardware[_0x9544('0x12')](),'message':_0x47b7e0[_0x9544('0x1d')],'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![]};}}return{'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':'2027-01-01T00:00:00.000Z','chat':![],'mail':![],'fax':![],'messaging':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0x9544('0x1e'),'uuid':_0x5738c6[_0x9544('0x7')],'machineUuid':hardware[_0x9544('0x12')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![]};}exports[_0x9544('0x1f')]=function(_0x2f7202){return db[_0x9544('0x20')][_0x9544('0x21')](_['defaults'](_0x2f7202,{'raw':!![],'where':{'id':0x1}}))[_0x9544('0x22')](function(_0x53d15f){return checkLicense(_0x53d15f,null);});};exports[_0x9544('0x23')]=checkLicense;