Built motion from commit 9d0783e6.|2.6.13
[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 _0xd160=['setHeader','attachment;\x20filename=','Content-Type','text/plain','download','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../mysqldb','status','end','offset','undefined','limit','set','json','apply','reject','then','sendStatus','error','stack','name','send','../../config/license/util','index','model','rawAttributes','query','keys','intersection','attributes','fields','length','options','getLicense','update','body','find','params','key','demo','catch','join','/var','xcally'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xd160,0xc8));var _0x0d16=function(_0x23b655,_0x4feb2b){_0x23b655=_0x23b655-0x0;var _0x364b32=_0xd160[_0x23b655];return _0x364b32;};'use strict';var emlformat=require(_0x0d16('0x0'));var rimraf=require(_0x0d16('0x1'));var zipdir=require(_0x0d16('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0d16('0x3'));var moment=require('moment');var BPromise=require(_0x0d16('0x4'));var Mustache=require(_0x0d16('0x5'));var util=require(_0x0d16('0x6'));var path=require('path');var sox=require(_0x0d16('0x7'));var csv=require(_0x0d16('0x8'));var ejs=require(_0x0d16('0x9'));var fs=require('fs');var fs_extra=require(_0x0d16('0xa'));var _=require(_0x0d16('0xb'));var squel=require(_0x0d16('0xc'));var crypto=require(_0x0d16('0xd'));var jsforce=require(_0x0d16('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x0d16('0x8'));var querystring=require(_0x0d16('0xf'));var Papa=require(_0x0d16('0x10'));var Redis=require('ioredis');var authService=require(_0x0d16('0x11'));var qs=require(_0x0d16('0x12'));var as=require(_0x0d16('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x0d16('0x14'));var utils=require('../../config/utils');var config=require(_0x0d16('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x0d16('0x16'))['db'];function respondWithStatusCode(_0x1f1273,_0x14b3f9){_0x14b3f9=_0x14b3f9||0xcc;return function(_0x3a1eef){if(_0x3a1eef){return _0x1f1273['sendStatus'](_0x14b3f9);}return _0x1f1273[_0x0d16('0x17')](_0x14b3f9)[_0x0d16('0x18')]();};}function respondWithResult(_0x556a0f,_0xf5d51a){_0xf5d51a=_0xf5d51a||0xc8;return function(_0x29317f){if(_0x29317f){return _0x556a0f['status'](_0xf5d51a)['json'](_0x29317f);}};}function respondWithFilteredResult(_0x507c12,_0x1908d9){return function(_0x4bebcd){if(_0x4bebcd){var _0x63d98d=typeof _0x1908d9[_0x0d16('0x19')]===_0x0d16('0x1a')&&typeof _0x1908d9[_0x0d16('0x1b')]===_0x0d16('0x1a');var _0x56abe9=_0x4bebcd['count'];var _0x33ab05=_0x63d98d?0x0:_0x1908d9[_0x0d16('0x19')];var _0x48dd8b=_0x63d98d?_0x4bebcd['count']:_0x1908d9[_0x0d16('0x19')]+_0x1908d9[_0x0d16('0x1b')];var _0x3b7b10;if(_0x48dd8b>=_0x56abe9){_0x48dd8b=_0x56abe9;_0x3b7b10=0xc8;}else{_0x3b7b10=0xce;}_0x507c12[_0x0d16('0x17')](_0x3b7b10);return _0x507c12[_0x0d16('0x1c')]('Content-Range',_0x33ab05+'-'+_0x48dd8b+'/'+_0x56abe9)[_0x0d16('0x1d')](_0x4bebcd);}return null;};}function patchUpdates(_0x145d9d){return function(_0x1bcce0){try{jsonpatch[_0x0d16('0x1e')](_0x1bcce0,_0x145d9d,!![]);}catch(_0x517a1a){return BPromise[_0x0d16('0x1f')](_0x517a1a);}return _0x1bcce0['save']();};}function saveUpdates(_0x586585,_0x5a7088){return function(_0x115d63){if(_0x115d63){return _0x115d63['update'](_0x586585)[_0x0d16('0x20')](function(_0x5e1710){return _0x5e1710;});}return null;};}function removeEntity(_0x241e75,_0x266092){return function(_0x4da20f){if(_0x4da20f){return _0x4da20f['destroy']()[_0x0d16('0x20')](function(){_0x241e75['status'](0xcc)[_0x0d16('0x18')]();});}};}function handleEntityNotFound(_0x1651a4,_0xc1bc49){return function(_0x189bd1){if(!_0x189bd1){_0x1651a4[_0x0d16('0x21')](0x194);}return _0x189bd1;};}function handleError(_0x1ced90,_0x3ce194){_0x3ce194=_0x3ce194||0x1f4;return function(_0x140f53){logger[_0x0d16('0x22')](_0x140f53[_0x0d16('0x23')]);if(_0x140f53['name']){delete _0x140f53[_0x0d16('0x24')];}_0x1ced90[_0x0d16('0x17')](_0x3ce194)[_0x0d16('0x25')](_0x140f53);};}var utilLicense=require(_0x0d16('0x26'));exports[_0x0d16('0x27')]=function(_0x2657b8,_0x52ecaa){var _0x48fdd4={'raw':!![],'where':{'id':0x1}},_0x592a8b={};_0x592a8b[_0x0d16('0x28')]=_['keys'](db['License'][_0x0d16('0x29')]);_0x592a8b[_0x0d16('0x2a')]=_[_0x0d16('0x2b')](_0x2657b8['query']);_0x592a8b['filters']=_[_0x0d16('0x2c')](_0x592a8b[_0x0d16('0x28')],_0x592a8b['query']);_0x48fdd4[_0x0d16('0x2d')]=_['intersection'](_0x592a8b['model'],qs[_0x0d16('0x2e')](_0x2657b8[_0x0d16('0x2a')][_0x0d16('0x2e')]));_0x48fdd4[_0x0d16('0x2d')]=_0x48fdd4[_0x0d16('0x2d')][_0x0d16('0x2f')]?_0x48fdd4[_0x0d16('0x2d')]:_0x592a8b[_0x0d16('0x28')];_0x48fdd4=_['merge']({},_0x48fdd4,_0x2657b8[_0x0d16('0x30')]);return utilLicense[_0x0d16('0x31')](_0x48fdd4)[_0x0d16('0x20')](respondWithResult(_0x52ecaa,null))['catch'](handleError(_0x52ecaa,null));};exports[_0x0d16('0x32')]=function(_0x5e64c5,_0x34531d){if(_0x5e64c5[_0x0d16('0x33')]['id']){delete _0x5e64c5[_0x0d16('0x33')]['id'];}return db['License'][_0x0d16('0x34')]({'where':{'id':_0x5e64c5[_0x0d16('0x35')]['id']}})[_0x0d16('0x20')](handleEntityNotFound(_0x34531d,null))[_0x0d16('0x20')](function(_0x4ce47a){var _0x61ee31=_0x4ce47a['get']({'plain':!![]});return utilLicense['checkLicense'](_0x61ee31,_0x5e64c5[_0x0d16('0x33')][_0x0d16('0x36')]);})[_0x0d16('0x20')](function(_0x30c0a1){if(!_0x30c0a1[_0x0d16('0x37')]){return saveUpdates(_0x5e64c5[_0x0d16('0x33')],null);}return _0x30c0a1;})['then'](respondWithResult(_0x34531d,null))[_0x0d16('0x38')](handleError(_0x34531d,null));};exports['downloadLogFile']=function(_0x292e19,_0x2497e1){var _0x366071='license-info.log';var _0x37c06c=path[_0x0d16('0x39')](_0x0d16('0x3a'),'log',_0x0d16('0x3b'),_0x366071);_0x2497e1[_0x0d16('0x3c')]('Content-disposition',_0x0d16('0x3d')+_0x366071);_0x2497e1['set'](_0x0d16('0x3e'),_0x0d16('0x3f'));_0x2497e1[_0x0d16('0x40')](_0x37c06c);};