Built motion from commit 0900f080.|2.5.45
[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 _0x5466=['end','error','stack','name','send','index','model','keys','query','intersection','attributes','fields','length','merge','options','getLicense','catch','body','License','find','params','get','key','demo','downloadLogFile','license-info.log','join','/var','log','setHeader','Content-disposition','download','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','count','limit','set','json','apply','save','then','destroy'];(function(_0x93097e,_0x540809){var _0x19598b=function(_0x17ed18){while(--_0x17ed18){_0x93097e['push'](_0x93097e['shift']());}};_0x19598b(++_0x540809);}(_0x5466,0x130));var _0x6546=function(_0x3be99a,_0x2bb191){_0x3be99a=_0x3be99a-0x0;var _0x293907=_0x5466[_0x3be99a];return _0x293907;};'use strict';var emlformat=require(_0x6546('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6546('0x1'));var jsonpatch=require(_0x6546('0x2'));var rp=require(_0x6546('0x3'));var moment=require(_0x6546('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x6546('0x5'));var util=require(_0x6546('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x6546('0x7'));var ejs=require(_0x6546('0x8'));var fs=require('fs');var fs_extra=require(_0x6546('0x9'));var _=require(_0x6546('0xa'));var squel=require(_0x6546('0xb'));var crypto=require('crypto');var jsforce=require(_0x6546('0xc'));var deskjs=require(_0x6546('0xd'));var toCsv=require(_0x6546('0x7'));var querystring=require(_0x6546('0xe'));var Papa=require(_0x6546('0xf'));var Redis=require(_0x6546('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x6546('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6546('0x12'))(_0x6546('0x13'));var utils=require(_0x6546('0x14'));var config=require(_0x6546('0x15'));var licenseUtil=require(_0x6546('0x16'));var db=require(_0x6546('0x17'))['db'];function respondWithStatusCode(_0x51ca52,_0x35327f){_0x35327f=_0x35327f||0xcc;return function(_0x597372){if(_0x597372){return _0x51ca52[_0x6546('0x18')](_0x35327f);}return _0x51ca52['status'](_0x35327f)['end']();};}function respondWithResult(_0x2f0b02,_0x7e81b1){_0x7e81b1=_0x7e81b1||0xc8;return function(_0x3bb2c0){if(_0x3bb2c0){return _0x2f0b02[_0x6546('0x19')](_0x7e81b1)['json'](_0x3bb2c0);}};}function respondWithFilteredResult(_0x2f366e,_0x1b4d83){return function(_0x431a42){if(_0x431a42){var _0x4a397d=typeof _0x1b4d83[_0x6546('0x1a')]===_0x6546('0x1b')&&typeof _0x1b4d83['limit']===_0x6546('0x1b');var _0x45ea06=_0x431a42[_0x6546('0x1c')];var _0x3f80a8=_0x4a397d?0x0:_0x1b4d83['offset'];var _0x229160=_0x4a397d?_0x431a42[_0x6546('0x1c')]:_0x1b4d83[_0x6546('0x1a')]+_0x1b4d83[_0x6546('0x1d')];var _0x31a73b;if(_0x229160>=_0x45ea06){_0x229160=_0x45ea06;_0x31a73b=0xc8;}else{_0x31a73b=0xce;}_0x2f366e[_0x6546('0x19')](_0x31a73b);return _0x2f366e[_0x6546('0x1e')]('Content-Range',_0x3f80a8+'-'+_0x229160+'/'+_0x45ea06)[_0x6546('0x1f')](_0x431a42);}return null;};}function patchUpdates(_0x5cdd54){return function(_0x33c610){try{jsonpatch[_0x6546('0x20')](_0x33c610,_0x5cdd54,!![]);}catch(_0x569534){return BPromise['reject'](_0x569534);}return _0x33c610[_0x6546('0x21')]();};}function saveUpdates(_0x2285aa,_0x64d841){return function(_0x295e89){if(_0x295e89){return _0x295e89['update'](_0x2285aa)[_0x6546('0x22')](function(_0x489e24){return _0x489e24;});}return null;};}function removeEntity(_0x587f9f,_0x59746c){return function(_0x3fabad){if(_0x3fabad){return _0x3fabad[_0x6546('0x23')]()[_0x6546('0x22')](function(){_0x587f9f[_0x6546('0x19')](0xcc)[_0x6546('0x24')]();});}};}function handleEntityNotFound(_0x5db633,_0x9e94cb){return function(_0x4cea6c){if(!_0x4cea6c){_0x5db633['sendStatus'](0x194);}return _0x4cea6c;};}function handleError(_0x1ca618,_0x86fdc2){_0x86fdc2=_0x86fdc2||0x1f4;return function(_0x4c9ee2){logger[_0x6546('0x25')](_0x4c9ee2[_0x6546('0x26')]);if(_0x4c9ee2[_0x6546('0x27')]){delete _0x4c9ee2['name'];}_0x1ca618['status'](_0x86fdc2)[_0x6546('0x28')](_0x4c9ee2);};}var utilLicense=require('../../config/license/util');exports[_0x6546('0x29')]=function(_0x3a8cc9,_0x3240a2){var _0x17b8f7={'raw':!![],'where':{'id':0x1}},_0x1b9c79={};_0x1b9c79[_0x6546('0x2a')]=_[_0x6546('0x2b')](db['License']['rawAttributes']);_0x1b9c79[_0x6546('0x2c')]=_[_0x6546('0x2b')](_0x3a8cc9[_0x6546('0x2c')]);_0x1b9c79['filters']=_[_0x6546('0x2d')](_0x1b9c79[_0x6546('0x2a')],_0x1b9c79[_0x6546('0x2c')]);_0x17b8f7[_0x6546('0x2e')]=_[_0x6546('0x2d')](_0x1b9c79[_0x6546('0x2a')],qs[_0x6546('0x2f')](_0x3a8cc9[_0x6546('0x2c')][_0x6546('0x2f')]));_0x17b8f7[_0x6546('0x2e')]=_0x17b8f7[_0x6546('0x2e')][_0x6546('0x30')]?_0x17b8f7['attributes']:_0x1b9c79[_0x6546('0x2a')];_0x17b8f7=_[_0x6546('0x31')]({},_0x17b8f7,_0x3a8cc9[_0x6546('0x32')]);return utilLicense[_0x6546('0x33')](_0x17b8f7)[_0x6546('0x22')](respondWithResult(_0x3240a2,null))[_0x6546('0x34')](handleError(_0x3240a2,null));};exports['update']=function(_0x1c88e3,_0x2e2eb0){if(_0x1c88e3[_0x6546('0x35')]['id']){delete _0x1c88e3[_0x6546('0x35')]['id'];}return db[_0x6546('0x36')][_0x6546('0x37')]({'where':{'id':_0x1c88e3[_0x6546('0x38')]['id']}})[_0x6546('0x22')](handleEntityNotFound(_0x2e2eb0,null))[_0x6546('0x22')](function(_0x268637){var _0x18b713=_0x268637[_0x6546('0x39')]({'plain':!![]});return utilLicense['checkLicense'](_0x18b713,_0x1c88e3[_0x6546('0x35')][_0x6546('0x3a')]);})[_0x6546('0x22')](function(_0x39d154){if(!_0x39d154[_0x6546('0x3b')]){return saveUpdates(_0x1c88e3[_0x6546('0x35')],null);}return _0x39d154;})[_0x6546('0x22')](respondWithResult(_0x2e2eb0,null))['catch'](handleError(_0x2e2eb0,null));};exports[_0x6546('0x3c')]=function(_0xdecf79,_0x3633dc){var _0x2a5668=_0x6546('0x3d');var _0x31a71b=path[_0x6546('0x3e')](_0x6546('0x3f'),_0x6546('0x40'),'xcally',_0x2a5668);_0x3633dc[_0x6546('0x41')](_0x6546('0x42'),'attachment;\x20filename='+_0x2a5668);_0x3633dc[_0x6546('0x1e')]('Content-Type','text/plain');_0x3633dc[_0x6546('0x43')](_0x31a71b);};