9fe2447408a5aeda91a3c754fad0c395bfde7c03
[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 _0x8ef7=['../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','destroy','error','stack','name','model','License','rawAttributes','query','keys','filters','attributes','fields','length','body','find','params','get','checkLicense','key','demo','catch','downloadLogFile','license-info.log','join','/var','log','xcally','Content-disposition','attachment;\x20filename=','set','Content-Type','download','eml-format','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','fs-extra','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x8ef7,0x134));var _0x78ef=function(_0x549cf9,_0x56fa13){_0x549cf9=_0x549cf9-0x0;var _0x53f9bf=_0x8ef7[_0x549cf9];return _0x53f9bf;};'use strict';var emlformat=require(_0x78ef('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x78ef('0x1'));var rp=require(_0x78ef('0x2'));var moment=require('moment');var BPromise=require(_0x78ef('0x3'));var Mustache=require(_0x78ef('0x4'));var util=require(_0x78ef('0x5'));var path=require('path');var sox=require(_0x78ef('0x6'));var csv=require(_0x78ef('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x78ef('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x78ef('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x78ef('0xa'));var toCsv=require(_0x78ef('0x7'));var querystring=require(_0x78ef('0xb'));var Papa=require(_0x78ef('0xc'));var Redis=require('ioredis');var authService=require(_0x78ef('0xd'));var qs=require('../../components/parsers/qs');var as=require(_0x78ef('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x78ef('0xf'))(_0x78ef('0x10'));var utils=require(_0x78ef('0x11'));var config=require('../../config/environment');var licenseUtil=require(_0x78ef('0x12'));var db=require(_0x78ef('0x13'))['db'];function respondWithStatusCode(_0x570308,_0x30caf9){_0x30caf9=_0x30caf9||0xcc;return function(_0x485c16){if(_0x485c16){return _0x570308[_0x78ef('0x14')](_0x30caf9);}return _0x570308[_0x78ef('0x15')](_0x30caf9)[_0x78ef('0x16')]();};}function respondWithResult(_0x21b6b7,_0x284afe){_0x284afe=_0x284afe||0xc8;return function(_0x448603){if(_0x448603){return _0x21b6b7[_0x78ef('0x15')](_0x284afe)[_0x78ef('0x17')](_0x448603);}};}function respondWithFilteredResult(_0x42a356,_0x17c1ce){return function(_0x3e7657){if(_0x3e7657){var _0x398d08=typeof _0x17c1ce[_0x78ef('0x18')]===_0x78ef('0x19')&&typeof _0x17c1ce[_0x78ef('0x1a')]==='undefined';var _0x38cca0=_0x3e7657[_0x78ef('0x1b')];var _0x1bdee2=_0x398d08?0x0:_0x17c1ce[_0x78ef('0x18')];var _0x13d732=_0x398d08?_0x3e7657[_0x78ef('0x1b')]:_0x17c1ce['offset']+_0x17c1ce[_0x78ef('0x1a')];var _0x30733c;if(_0x13d732>=_0x38cca0){_0x13d732=_0x38cca0;_0x30733c=0xc8;}else{_0x30733c=0xce;}_0x42a356[_0x78ef('0x15')](_0x30733c);return _0x42a356['set'](_0x78ef('0x1c'),_0x1bdee2+'-'+_0x13d732+'/'+_0x38cca0)[_0x78ef('0x17')](_0x3e7657);}return null;};}function patchUpdates(_0x325e68){return function(_0x4826a1){try{jsonpatch[_0x78ef('0x1d')](_0x4826a1,_0x325e68,!![]);}catch(_0x296bfb){return BPromise[_0x78ef('0x1e')](_0x296bfb);}return _0x4826a1['save']();};}function saveUpdates(_0x2b8969,_0x5b46cb){return function(_0x3d7d33){if(_0x3d7d33){return _0x3d7d33[_0x78ef('0x1f')](_0x2b8969)[_0x78ef('0x20')](function(_0x57f82b){return _0x57f82b;});}return null;};}function removeEntity(_0x3f93c7,_0x41696d){return function(_0x26a5ae){if(_0x26a5ae){return _0x26a5ae[_0x78ef('0x21')]()['then'](function(){_0x3f93c7[_0x78ef('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x53f1a7,_0x41c676){return function(_0x152bf0){if(!_0x152bf0){_0x53f1a7[_0x78ef('0x14')](0x194);}return _0x152bf0;};}function handleError(_0x4ee023,_0x401b4f){_0x401b4f=_0x401b4f||0x1f4;return function(_0x485b3e){logger[_0x78ef('0x22')](_0x485b3e[_0x78ef('0x23')]);if(_0x485b3e['name']){delete _0x485b3e[_0x78ef('0x24')];}_0x4ee023[_0x78ef('0x15')](_0x401b4f)['send'](_0x485b3e);};}var utilLicense=require(_0x78ef('0x12'));exports['index']=function(_0x346e7f,_0x5a7329){var _0x491ce2={'raw':!![],'where':{'id':0x1}},_0x56ef35={};_0x56ef35[_0x78ef('0x25')]=_['keys'](db[_0x78ef('0x26')][_0x78ef('0x27')]);_0x56ef35[_0x78ef('0x28')]=_[_0x78ef('0x29')](_0x346e7f['query']);_0x56ef35[_0x78ef('0x2a')]=_['intersection'](_0x56ef35[_0x78ef('0x25')],_0x56ef35[_0x78ef('0x28')]);_0x491ce2[_0x78ef('0x2b')]=_['intersection'](_0x56ef35[_0x78ef('0x25')],qs[_0x78ef('0x2c')](_0x346e7f[_0x78ef('0x28')][_0x78ef('0x2c')]));_0x491ce2[_0x78ef('0x2b')]=_0x491ce2['attributes'][_0x78ef('0x2d')]?_0x491ce2[_0x78ef('0x2b')]:_0x56ef35[_0x78ef('0x25')];_0x491ce2=_['merge']({},_0x491ce2,_0x346e7f['options']);return utilLicense['getLicense'](_0x491ce2)[_0x78ef('0x20')](respondWithResult(_0x5a7329,null))['catch'](handleError(_0x5a7329,null));};exports[_0x78ef('0x1f')]=function(_0x32c808,_0x2bc9d6){if(_0x32c808[_0x78ef('0x2e')]['id']){delete _0x32c808[_0x78ef('0x2e')]['id'];}return db[_0x78ef('0x26')][_0x78ef('0x2f')]({'where':{'id':_0x32c808[_0x78ef('0x30')]['id']}})[_0x78ef('0x20')](handleEntityNotFound(_0x2bc9d6,null))[_0x78ef('0x20')](function(_0x36905e){var _0x355ff6=_0x36905e[_0x78ef('0x31')]({'plain':!![]});return utilLicense[_0x78ef('0x32')](_0x355ff6,_0x32c808[_0x78ef('0x2e')][_0x78ef('0x33')]);})[_0x78ef('0x20')](function(_0x57e76f){if(!_0x57e76f[_0x78ef('0x34')]){return saveUpdates(_0x32c808[_0x78ef('0x2e')],null);}return _0x57e76f;})[_0x78ef('0x20')](respondWithResult(_0x2bc9d6,null))[_0x78ef('0x35')](handleError(_0x2bc9d6,null));};exports[_0x78ef('0x36')]=function(_0x2abbe9,_0x143058){var _0x206adf=_0x78ef('0x37');var _0x51e3d0=path[_0x78ef('0x38')](_0x78ef('0x39'),_0x78ef('0x3a'),_0x78ef('0x3b'),_0x206adf);_0x143058['setHeader'](_0x78ef('0x3c'),_0x78ef('0x3d')+_0x206adf);_0x143058[_0x78ef('0x3e')](_0x78ef('0x3f'),'text/plain');_0x143058[_0x78ef('0x40')](_0x51e3d0);};