Built motion from commit 00bf23f6.|2.6.16
[motion2.git] / server / api / license / license.controller.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 _0xc6c2=['apply','reject','save','then','error','stack','name','send','index','model','keys','query','filters','intersection','fields','attributes','merge','getLicense','update','body','License','params','get','checkLicense','catch','downloadLogFile','license-info.log','Content-disposition','Content-Type','text/plain','download','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set'];(function(_0x58ed30,_0x2dae2e){var _0xfb71e9=function(_0x2ecd76){while(--_0x2ecd76){_0x58ed30['push'](_0x58ed30['shift']());}};_0xfb71e9(++_0x2dae2e);}(_0xc6c2,0x169));var _0x2c6c=function(_0x31ced5,_0x5d5415){_0x31ced5=_0x31ced5-0x0;var _0x10d9e5=_0xc6c2[_0x31ced5];return _0x10d9e5;};'use strict';var emlformat=require(_0x2c6c('0x0'));var rimraf=require(_0x2c6c('0x1'));var zipdir=require(_0x2c6c('0x2'));var jsonpatch=require(_0x2c6c('0x3'));var rp=require(_0x2c6c('0x4'));var moment=require('moment');var BPromise=require(_0x2c6c('0x5'));var Mustache=require('mustache');var util=require(_0x2c6c('0x6'));var path=require(_0x2c6c('0x7'));var sox=require(_0x2c6c('0x8'));var csv=require(_0x2c6c('0x9'));var ejs=require(_0x2c6c('0xa'));var fs=require('fs');var fs_extra=require(_0x2c6c('0xb'));var _=require(_0x2c6c('0xc'));var squel=require(_0x2c6c('0xd'));var crypto=require(_0x2c6c('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x2c6c('0xf'));var toCsv=require(_0x2c6c('0x9'));var querystring=require('querystring');var Papa=require(_0x2c6c('0x10'));var Redis=require('ioredis');var authService=require(_0x2c6c('0x11'));var qs=require(_0x2c6c('0x12'));var as=require(_0x2c6c('0x13'));var hardwareService=require(_0x2c6c('0x14'));var logger=require(_0x2c6c('0x15'))(_0x2c6c('0x16'));var utils=require('../../config/utils');var config=require(_0x2c6c('0x17'));var licenseUtil=require(_0x2c6c('0x18'));var db=require(_0x2c6c('0x19'))['db'];function respondWithStatusCode(_0x5a4805,_0x4a10ab){_0x4a10ab=_0x4a10ab||0xcc;return function(_0x5d44c4){if(_0x5d44c4){return _0x5a4805[_0x2c6c('0x1a')](_0x4a10ab);}return _0x5a4805['status'](_0x4a10ab)[_0x2c6c('0x1b')]();};}function respondWithResult(_0x523557,_0xf0fd3d){_0xf0fd3d=_0xf0fd3d||0xc8;return function(_0x241f28){if(_0x241f28){return _0x523557[_0x2c6c('0x1c')](_0xf0fd3d)[_0x2c6c('0x1d')](_0x241f28);}};}function respondWithFilteredResult(_0xb996e3,_0xd5fb89){return function(_0x429057){if(_0x429057){var _0x50f266=typeof _0xd5fb89[_0x2c6c('0x1e')]===_0x2c6c('0x1f')&&typeof _0xd5fb89[_0x2c6c('0x20')]===_0x2c6c('0x1f');var _0x479d24=_0x429057['count'];var _0x2748c5=_0x50f266?0x0:_0xd5fb89[_0x2c6c('0x1e')];var _0x4977ca=_0x50f266?_0x429057[_0x2c6c('0x21')]:_0xd5fb89[_0x2c6c('0x1e')]+_0xd5fb89[_0x2c6c('0x20')];var _0x125795;if(_0x4977ca>=_0x479d24){_0x4977ca=_0x479d24;_0x125795=0xc8;}else{_0x125795=0xce;}_0xb996e3['status'](_0x125795);return _0xb996e3[_0x2c6c('0x22')]('Content-Range',_0x2748c5+'-'+_0x4977ca+'/'+_0x479d24)['json'](_0x429057);}return null;};}function patchUpdates(_0x329cc0){return function(_0x3eccd5){try{jsonpatch[_0x2c6c('0x23')](_0x3eccd5,_0x329cc0,!![]);}catch(_0x2a7650){return BPromise[_0x2c6c('0x24')](_0x2a7650);}return _0x3eccd5[_0x2c6c('0x25')]();};}function saveUpdates(_0x33c6a5,_0x129261){return function(_0x18a8a7){if(_0x18a8a7){return _0x18a8a7['update'](_0x33c6a5)[_0x2c6c('0x26')](function(_0x45e583){return _0x45e583;});}return null;};}function removeEntity(_0x3d75e9,_0xa8adb1){return function(_0x42b65a){if(_0x42b65a){return _0x42b65a['destroy']()['then'](function(){_0x3d75e9[_0x2c6c('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5e4f3d,_0x15b160){return function(_0x298362){if(!_0x298362){_0x5e4f3d[_0x2c6c('0x1a')](0x194);}return _0x298362;};}function handleError(_0x2f9b7c,_0x414271){_0x414271=_0x414271||0x1f4;return function(_0xf59496){logger[_0x2c6c('0x27')](_0xf59496[_0x2c6c('0x28')]);if(_0xf59496['name']){delete _0xf59496[_0x2c6c('0x29')];}_0x2f9b7c['status'](_0x414271)[_0x2c6c('0x2a')](_0xf59496);};}var utilLicense=require(_0x2c6c('0x18'));exports[_0x2c6c('0x2b')]=function(_0x3b61b9,_0x14c9c5){var _0x2182d3={'raw':!![],'where':{'id':0x1}},_0x15ba55={};_0x15ba55[_0x2c6c('0x2c')]=_[_0x2c6c('0x2d')](db['License']['rawAttributes']);_0x15ba55['query']=_[_0x2c6c('0x2d')](_0x3b61b9[_0x2c6c('0x2e')]);_0x15ba55[_0x2c6c('0x2f')]=_[_0x2c6c('0x30')](_0x15ba55[_0x2c6c('0x2c')],_0x15ba55['query']);_0x2182d3['attributes']=_['intersection'](_0x15ba55['model'],qs[_0x2c6c('0x31')](_0x3b61b9['query']['fields']));_0x2182d3[_0x2c6c('0x32')]=_0x2182d3[_0x2c6c('0x32')]['length']?_0x2182d3[_0x2c6c('0x32')]:_0x15ba55[_0x2c6c('0x2c')];_0x2182d3=_[_0x2c6c('0x33')]({},_0x2182d3,_0x3b61b9['options']);return utilLicense[_0x2c6c('0x34')](_0x2182d3)[_0x2c6c('0x26')](respondWithResult(_0x14c9c5,null))['catch'](handleError(_0x14c9c5,null));};exports[_0x2c6c('0x35')]=function(_0x1a3775,_0x435097){if(_0x1a3775[_0x2c6c('0x36')]['id']){delete _0x1a3775[_0x2c6c('0x36')]['id'];}return db[_0x2c6c('0x37')]['find']({'where':{'id':_0x1a3775[_0x2c6c('0x38')]['id']}})[_0x2c6c('0x26')](handleEntityNotFound(_0x435097,null))[_0x2c6c('0x26')](function(_0x13a0f4){var _0x1a70f0=_0x13a0f4[_0x2c6c('0x39')]({'plain':!![]});return utilLicense[_0x2c6c('0x3a')](_0x1a70f0,_0x1a3775[_0x2c6c('0x36')]['key']);})['then'](function(_0x577b84){if(!_0x577b84['demo']){return saveUpdates(_0x1a3775[_0x2c6c('0x36')],null);}return _0x577b84;})[_0x2c6c('0x26')](respondWithResult(_0x435097,null))[_0x2c6c('0x3b')](handleError(_0x435097,null));};exports[_0x2c6c('0x3c')]=function(_0x40bf2e,_0x5a3af4){var _0x41fc69=_0x2c6c('0x3d');var _0x5c454a=path['join']('/var','log','xcally',_0x41fc69);_0x5a3af4['setHeader'](_0x2c6c('0x3e'),'attachment;\x20filename='+_0x41fc69);_0x5a3af4[_0x2c6c('0x22')](_0x2c6c('0x3f'),_0x2c6c('0x40'));_0x5a3af4[_0x2c6c('0x41')](_0x5c454a);};