Built motion from commit bab6f49e.|2.6.17
[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 _0x3657=['reject','save','update','then','destroy','end','error','stack','send','index','model','License','rawAttributes','query','keys','filters','intersection','attributes','length','options','getLicense','catch','body','get','checkLicense','key','demo','downloadLogFile','/var','log','xcally','setHeader','Content-disposition','attachment;\x20filename=','Content-Type','text/plain','download','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','offset','undefined','count','limit','set','Content-Range','json','apply'];(function(_0x59ee6f,_0x450239){var _0x4c0979=function(_0x565e92){while(--_0x565e92){_0x59ee6f['push'](_0x59ee6f['shift']());}};_0x4c0979(++_0x450239);}(_0x3657,0x183));var _0x7365=function(_0x1e6b81,_0x1eb3ec){_0x1e6b81=_0x1e6b81-0x0;var _0x457c87=_0x3657[_0x1e6b81];return _0x457c87;};'use strict';var emlformat=require(_0x7365('0x0'));var rimraf=require(_0x7365('0x1'));var zipdir=require(_0x7365('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7365('0x3'));var moment=require(_0x7365('0x4'));var BPromise=require(_0x7365('0x5'));var Mustache=require(_0x7365('0x6'));var util=require('util');var path=require(_0x7365('0x7'));var sox=require(_0x7365('0x8'));var csv=require(_0x7365('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7365('0xa'));var _=require(_0x7365('0xb'));var squel=require(_0x7365('0xc'));var crypto=require('crypto');var jsforce=require(_0x7365('0xd'));var deskjs=require(_0x7365('0xe'));var toCsv=require(_0x7365('0x9'));var querystring=require('querystring');var Papa=require(_0x7365('0xf'));var Redis=require(_0x7365('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x7365('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7365('0x12'));var logger=require(_0x7365('0x13'))(_0x7365('0x14'));var utils=require('../../config/utils');var config=require(_0x7365('0x15'));var licenseUtil=require(_0x7365('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1179b8,_0x33b248){_0x33b248=_0x33b248||0xcc;return function(_0x30c2a1){if(_0x30c2a1){return _0x1179b8[_0x7365('0x17')](_0x33b248);}return _0x1179b8[_0x7365('0x18')](_0x33b248)['end']();};}function respondWithResult(_0x2ba19c,_0x52f309){_0x52f309=_0x52f309||0xc8;return function(_0x39faaf){if(_0x39faaf){return _0x2ba19c['status'](_0x52f309)['json'](_0x39faaf);}};}function respondWithFilteredResult(_0xf753a3,_0x21548f){return function(_0x26cf47){if(_0x26cf47){var _0xb73d63=typeof _0x21548f[_0x7365('0x19')]==='undefined'&&typeof _0x21548f['limit']===_0x7365('0x1a');var _0x32980a=_0x26cf47['count'];var _0x337e7f=_0xb73d63?0x0:_0x21548f[_0x7365('0x19')];var _0x30dfe9=_0xb73d63?_0x26cf47[_0x7365('0x1b')]:_0x21548f[_0x7365('0x19')]+_0x21548f[_0x7365('0x1c')];var _0x3f52aa;if(_0x30dfe9>=_0x32980a){_0x30dfe9=_0x32980a;_0x3f52aa=0xc8;}else{_0x3f52aa=0xce;}_0xf753a3[_0x7365('0x18')](_0x3f52aa);return _0xf753a3[_0x7365('0x1d')](_0x7365('0x1e'),_0x337e7f+'-'+_0x30dfe9+'/'+_0x32980a)[_0x7365('0x1f')](_0x26cf47);}return null;};}function patchUpdates(_0x463d01){return function(_0x3d9027){try{jsonpatch[_0x7365('0x20')](_0x3d9027,_0x463d01,!![]);}catch(_0x3434bf){return BPromise[_0x7365('0x21')](_0x3434bf);}return _0x3d9027[_0x7365('0x22')]();};}function saveUpdates(_0x577bc3,_0x5da4fb){return function(_0x3c3571){if(_0x3c3571){return _0x3c3571[_0x7365('0x23')](_0x577bc3)[_0x7365('0x24')](function(_0x45cfe1){return _0x45cfe1;});}return null;};}function removeEntity(_0x43670f,_0x431fa1){return function(_0x582b65){if(_0x582b65){return _0x582b65[_0x7365('0x25')]()[_0x7365('0x24')](function(){_0x43670f[_0x7365('0x18')](0xcc)[_0x7365('0x26')]();});}};}function handleEntityNotFound(_0x680d5b,_0x4dcd6b){return function(_0xc7f5fa){if(!_0xc7f5fa){_0x680d5b[_0x7365('0x17')](0x194);}return _0xc7f5fa;};}function handleError(_0x36669d,_0x353fcb){_0x353fcb=_0x353fcb||0x1f4;return function(_0x4f9bd3){logger[_0x7365('0x27')](_0x4f9bd3[_0x7365('0x28')]);if(_0x4f9bd3['name']){delete _0x4f9bd3['name'];}_0x36669d[_0x7365('0x18')](_0x353fcb)[_0x7365('0x29')](_0x4f9bd3);};}var utilLicense=require('../../config/license/util');exports[_0x7365('0x2a')]=function(_0x53f45e,_0x1a8b9a){var _0x53a97d={'raw':!![],'where':{'id':0x1}},_0x53bc37={};_0x53bc37[_0x7365('0x2b')]=_['keys'](db[_0x7365('0x2c')][_0x7365('0x2d')]);_0x53bc37[_0x7365('0x2e')]=_[_0x7365('0x2f')](_0x53f45e[_0x7365('0x2e')]);_0x53bc37[_0x7365('0x30')]=_[_0x7365('0x31')](_0x53bc37[_0x7365('0x2b')],_0x53bc37[_0x7365('0x2e')]);_0x53a97d[_0x7365('0x32')]=_[_0x7365('0x31')](_0x53bc37[_0x7365('0x2b')],qs['fields'](_0x53f45e[_0x7365('0x2e')]['fields']));_0x53a97d[_0x7365('0x32')]=_0x53a97d[_0x7365('0x32')][_0x7365('0x33')]?_0x53a97d['attributes']:_0x53bc37['model'];_0x53a97d=_['merge']({},_0x53a97d,_0x53f45e[_0x7365('0x34')]);return utilLicense[_0x7365('0x35')](_0x53a97d)[_0x7365('0x24')](respondWithResult(_0x1a8b9a,null))[_0x7365('0x36')](handleError(_0x1a8b9a,null));};exports[_0x7365('0x23')]=function(_0xa78678,_0x4a031d){if(_0xa78678[_0x7365('0x37')]['id']){delete _0xa78678[_0x7365('0x37')]['id'];}return db[_0x7365('0x2c')]['find']({'where':{'id':_0xa78678['params']['id']}})['then'](handleEntityNotFound(_0x4a031d,null))[_0x7365('0x24')](function(_0x15386c){var _0x26d3a9=_0x15386c[_0x7365('0x38')]({'plain':!![]});return utilLicense[_0x7365('0x39')](_0x26d3a9,_0xa78678[_0x7365('0x37')][_0x7365('0x3a')]);})[_0x7365('0x24')](function(_0x15962d){if(!_0x15962d[_0x7365('0x3b')]){return saveUpdates(_0xa78678[_0x7365('0x37')],null);}return _0x15962d;})['then'](respondWithResult(_0x4a031d,null))['catch'](handleError(_0x4a031d,null));};exports[_0x7365('0x3c')]=function(_0x5f1816,_0x405649){var _0x3d576f='license-info.log';var _0x123f2c=path['join'](_0x7365('0x3d'),_0x7365('0x3e'),_0x7365('0x3f'),_0x3d576f);_0x405649[_0x7365('0x40')](_0x7365('0x41'),_0x7365('0x42')+_0x3d576f);_0x405649[_0x7365('0x1d')](_0x7365('0x43'),_0x7365('0x44'));_0x405649[_0x7365('0x45')](_0x123f2c);};