Built motion from commit (unavailable).|2.5.20
[motion2.git] / server / config / license / index.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 _0xde19=['finally','getUuid','License','spread','SERVICE\x20LICENSE\x20STARTED\x20%s','error','util','moment','request-promise','bluebird','pkginfo','../../mysqldb','../../components/encryptor','./hardware','../logger','license','../../api/jira/jira.controller','process','format','%s/api/servers/%s/check?version=%s','exports','version','%s/api/servers/%s/check?version=%s&oldtoken=%s','GET','then','catch','User','admin','email','|uuid|','|machineUuid|','|name|','fullname','|email|','getFirstInterface','ipAddress','openIssue','MOTLICENSE','Motion\x20License\x20Alert','Alert','get','data2','THE\x20LICENSE\x20HAS\x20BEEN\x20ENABLED','info','update','data1','Disabled','THE\x20LICENSE\x20HAS\x20BEEN\x20DISABLED','NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s','uuid','%s\x20-\x20GRAY\x20PERIOD\x20STARTED\x20AT\x20%s','toUpperCase','encryptString','YYYY-MM-DD\x20HH:mm','decryptString','days','DEMO\x20START\x20AT\x20%s','message'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0xde19,0x1d6));var _0x9de1=function(_0x37cccc,_0x9f28bc){_0x37cccc=_0x37cccc-0x0;var _0xa155ed=_0xde19[_0x37cccc];return _0xa155ed;};'use strict';var util=require(_0x9de1('0x0'));var moment=require(_0x9de1('0x1'));var rp=require(_0x9de1('0x2'));var BPromise=require(_0x9de1('0x3'));var pkginfo=require(_0x9de1('0x4'))(module,'version');var db=require(_0x9de1('0x5'))['db'];var encryptor=require(_0x9de1('0x6'));var hardware=require(_0x9de1('0x7'));var logger=require(_0x9de1('0x8'))(_0x9de1('0x9'));var jira=require(_0x9de1('0xa'));const {config}=require(_0x9de1('0xb'));var HOST='https://www.xcallymotion.com';var TIME=0x3c*0x1388;var DAYS=0x7;var GRAY_PERIOD_REASON;var ADMIN;var oldToken;function httpRequest(_0x2a03e1){return new BPromise(function(_0x418b18,_0x1b972a){var _0x52804c=util[_0x9de1('0xc')](_0x9de1('0xd'),HOST,_0x2a03e1,module[_0x9de1('0xe')][_0x9de1('0xf')]);if(oldToken){_0x52804c=util[_0x9de1('0xc')](_0x9de1('0x10'),HOST,_0x2a03e1,module[_0x9de1('0xe')][_0x9de1('0xf')],oldToken);}var _0x452674={'uri':_0x52804c,'method':_0x9de1('0x11'),'timeout':0xea60,'json':!![]};return rp(_0x452674)[_0x9de1('0x12')](function(_0x34626a){_0x418b18(_0x34626a);})[_0x9de1('0x13')](function(_0x10712a){_0x1b972a(_0x10712a);});});}function sendJiraAlert(_0x58b7fa,_0x407685,_0x3cca3e){var _0x440288='||FIELD||VALUE||\x0a';return db[_0x9de1('0x14')]['findOne']({'where':{'role':_0x9de1('0x15')},'attributes':['fullname',_0x9de1('0x16')],'raw':!![]})[_0x9de1('0x12')](function(_0x1badaf){ADMIN=_0x1badaf;_0x440288+='|reason|'+_0x3cca3e+'|\x0a';_0x440288+=_0x9de1('0x17')+_0x58b7fa+'|\x0a';_0x440288+=_0x9de1('0x18')+_0x407685+'|\x0a';_0x440288+=_0x9de1('0x19')+ADMIN[_0x9de1('0x1a')]+'|\x0a';_0x440288+=_0x9de1('0x1b')+ADMIN[_0x9de1('0x16')]+'|\x0a';return _0x440288;})['then'](function(_0x28e132){var _0x136d95=hardware[_0x9de1('0x1c')]()[_0x9de1('0x1d')];return jira[_0x9de1('0x1e')]({'key':_0x9de1('0x1f'),'summary':_0x9de1('0x20'),'description':_0x28e132,'issuetype':_0x9de1('0x21'),'oldToken':_0x58b7fa,'newToken':_0x407685,'email':ADMIN['email'],'name':ADMIN[_0x9de1('0x1a')],'reason':GRAY_PERIOD_REASON,'ip':_0x136d95});});}function manageLicense(_0x9c04af,_0x4cb806){var _0x5470b4=_0x4cb806[_0x9de1('0x22')]({'plain':!![]});httpRequest(_0x9c04af)[_0x9de1('0x12')](function(_0x480b52){if(oldToken){oldToken=undefined;}if(_0x480b52['active']){if(!_0x5470b4[_0x9de1('0x9')]&&_0x5470b4[_0x9de1('0x9')]!=_0x480b52[_0x9de1('0x9')]||_0x5470b4[_0x9de1('0x9')]&&_0x5470b4[_0x9de1('0x23')]){logger['info'](_0x9de1('0x24'));}if(_0x5470b4[_0x9de1('0x9')]&&!_0x5470b4['data2']&&_0x5470b4['license']!=_0x480b52[_0x9de1('0x9')]){logger[_0x9de1('0x25')]('THE\x20LICENSE\x20HAS\x20BEEN\x20UPDATED');}if(_0x5470b4[_0x9de1('0x9')]&&!_0x5470b4[_0x9de1('0x23')]&&_0x5470b4[_0x9de1('0x9')]==_0x480b52[_0x9de1('0x9')]){return _0x4cb806;}return _0x4cb806[_0x9de1('0x26')]({'data1':_0x9c04af,'data2':null,'license':_0x480b52[_0x9de1('0x9')]});}else{if(_0x480b52[_0x9de1('0x9')]||_0x5470b4[_0x9de1('0x9')]){if(!_0x5470b4[_0x9de1('0x23')]){if(_0x5470b4[_0x9de1('0x27')]==_0x9c04af){GRAY_PERIOD_REASON=_0x9de1('0x28');logger[_0x9de1('0x25')](_0x9de1('0x29'));}else{GRAY_PERIOD_REASON='Changed';oldToken=_0x5470b4[_0x9de1('0x27')];logger['info'](_0x9de1('0x2a'),_0x5470b4['data1'],_0x9c04af);}sendJiraAlert(_0x5470b4[_0x9de1('0x27')],_0x480b52[_0x9de1('0x2b')],GRAY_PERIOD_REASON);logger[_0x9de1('0x25')](_0x9de1('0x2c'),GRAY_PERIOD_REASON[_0x9de1('0x2d')](),moment()[_0x9de1('0xc')]('YYYY-MM-DD\x20HH:mm'));return _0x4cb806[_0x9de1('0x26')]({'data2':encryptor[_0x9de1('0x2e')](moment()['format'](_0x9de1('0x2f')))});}else{if(moment()['diff'](encryptor[_0x9de1('0x30')](_0x5470b4[_0x9de1('0x23')]),_0x9de1('0x31'))>DAYS){logger[_0x9de1('0x25')](_0x9de1('0x32'),moment()[_0x9de1('0xc')]('YYYY-MM-DD\x20HH:mm'));return _0x4cb806['update']({'data1':_0x9c04af,'data2':null,'license':null});}}}else{if(_0x5470b4['data1']!=_0x9c04af){logger[_0x9de1('0x25')]('NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s',_0x5470b4[_0x9de1('0x27')],_0x9c04af);return _0x4cb806[_0x9de1('0x26')]({'data1':_0x9c04af,'data2':null,'license':null});}}}return _0x4cb806;})['then'](function(_0x550988){_0x4cb806=_0x550988;})[_0x9de1('0x13')](function(_0x15eb00){logger['error'](_0x15eb00[_0x9de1('0x33')]);})[_0x9de1('0x34')](function(){setTimeout(function(){manageLicense(hardware['getUuid'](),_0x4cb806);},TIME);});}function defaultLicense(){var _0x851b88=hardware[_0x9de1('0x35')]();if(_0x851b88){return db[_0x9de1('0x36')]['findOrCreate']({'where':{'id':0x1},'defaults':{'data1':_0x851b88}})[_0x9de1('0x37')](function(_0x5805af,_0x430a45){logger[_0x9de1('0x25')](_0x9de1('0x38'),_0x851b88);manageLicense(_0x851b88,_0x5805af);})[_0x9de1('0x13')](function(_0x2fada2){logger[_0x9de1('0x39')](_0x2fada2[_0x9de1('0x33')]);});}}exports['default']=defaultLicense;