75bbb4ad73bc9ce34c4adbda945ffe4d1b6d07f7
[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 _0x8400=['body','catch','downloadLogFile','/var','log','xcally','setHeader','attachment;\x20filename=','text/plain','download','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','reject','save','update','destroy','then','error','name','send','../../config/license/util','index','model','keys','License','rawAttributes','query','filters','intersection','fields','attributes','length','merge','options','getLicense','find','params','get','checkLicense','key'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x8400,0x12e));var _0x0840=function(_0x155a17,_0x2eb330){_0x155a17=_0x155a17-0x0;var _0x1fc47c=_0x8400[_0x155a17];return _0x1fc47c;};'use strict';var emlformat=require(_0x0840('0x0'));var rimraf=require(_0x0840('0x1'));var zipdir=require(_0x0840('0x2'));var jsonpatch=require(_0x0840('0x3'));var rp=require(_0x0840('0x4'));var moment=require(_0x0840('0x5'));var BPromise=require(_0x0840('0x6'));var Mustache=require(_0x0840('0x7'));var util=require('util');var path=require(_0x0840('0x8'));var sox=require(_0x0840('0x9'));var csv=require(_0x0840('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0840('0xb'));var _=require(_0x0840('0xc'));var squel=require(_0x0840('0xd'));var crypto=require(_0x0840('0xe'));var jsforce=require(_0x0840('0xf'));var deskjs=require(_0x0840('0x10'));var toCsv=require('to-csv');var querystring=require(_0x0840('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x0840('0x12'));var as=require(_0x0840('0x13'));var hardwareService=require(_0x0840('0x14'));var logger=require(_0x0840('0x15'))(_0x0840('0x16'));var utils=require(_0x0840('0x17'));var config=require(_0x0840('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4702a0,_0x3f1070){_0x3f1070=_0x3f1070||0xcc;return function(_0x231b42){if(_0x231b42){return _0x4702a0[_0x0840('0x19')](_0x3f1070);}return _0x4702a0[_0x0840('0x1a')](_0x3f1070)[_0x0840('0x1b')]();};}function respondWithResult(_0x1e3c38,_0x106a50){_0x106a50=_0x106a50||0xc8;return function(_0x2c5cff){if(_0x2c5cff){return _0x1e3c38[_0x0840('0x1a')](_0x106a50)['json'](_0x2c5cff);}};}function respondWithFilteredResult(_0xd1e367,_0x50409d){return function(_0xcfd082){if(_0xcfd082){var _0x501da3=typeof _0x50409d[_0x0840('0x1c')]==='undefined'&&typeof _0x50409d[_0x0840('0x1d')]===_0x0840('0x1e');var _0x114bce=_0xcfd082['count'];var _0x17b24b=_0x501da3?0x0:_0x50409d[_0x0840('0x1c')];var _0x27aaaf=_0x501da3?_0xcfd082[_0x0840('0x1f')]:_0x50409d[_0x0840('0x1c')]+_0x50409d[_0x0840('0x1d')];var _0x4b008a;if(_0x27aaaf>=_0x114bce){_0x27aaaf=_0x114bce;_0x4b008a=0xc8;}else{_0x4b008a=0xce;}_0xd1e367['status'](_0x4b008a);return _0xd1e367[_0x0840('0x20')](_0x0840('0x21'),_0x17b24b+'-'+_0x27aaaf+'/'+_0x114bce)[_0x0840('0x22')](_0xcfd082);}return null;};}function patchUpdates(_0x33ef38){return function(_0xe27681){try{jsonpatch['apply'](_0xe27681,_0x33ef38,!![]);}catch(_0x2aeeb8){return BPromise[_0x0840('0x23')](_0x2aeeb8);}return _0xe27681[_0x0840('0x24')]();};}function saveUpdates(_0x1e9054,_0x449e22){return function(_0x5a4707){if(_0x5a4707){return _0x5a4707[_0x0840('0x25')](_0x1e9054)['then'](function(_0x287c85){return _0x287c85;});}return null;};}function removeEntity(_0x13d598,_0x4eac65){return function(_0x40b98c){if(_0x40b98c){return _0x40b98c[_0x0840('0x26')]()[_0x0840('0x27')](function(){_0x13d598[_0x0840('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2971ea,_0x4b9e73){return function(_0x22e24b){if(!_0x22e24b){_0x2971ea[_0x0840('0x19')](0x194);}return _0x22e24b;};}function handleError(_0x3f303d,_0x50c46d){_0x50c46d=_0x50c46d||0x1f4;return function(_0x22ad0b){logger[_0x0840('0x28')](_0x22ad0b['stack']);if(_0x22ad0b['name']){delete _0x22ad0b[_0x0840('0x29')];}_0x3f303d[_0x0840('0x1a')](_0x50c46d)[_0x0840('0x2a')](_0x22ad0b);};}var utilLicense=require(_0x0840('0x2b'));exports[_0x0840('0x2c')]=function(_0xaefe53,_0x330bf5){var _0x557a22={'raw':!![],'where':{'id':0x1}},_0x1a4e0e={};_0x1a4e0e[_0x0840('0x2d')]=_[_0x0840('0x2e')](db[_0x0840('0x2f')][_0x0840('0x30')]);_0x1a4e0e['query']=_[_0x0840('0x2e')](_0xaefe53[_0x0840('0x31')]);_0x1a4e0e[_0x0840('0x32')]=_[_0x0840('0x33')](_0x1a4e0e[_0x0840('0x2d')],_0x1a4e0e[_0x0840('0x31')]);_0x557a22['attributes']=_[_0x0840('0x33')](_0x1a4e0e[_0x0840('0x2d')],qs[_0x0840('0x34')](_0xaefe53['query'][_0x0840('0x34')]));_0x557a22[_0x0840('0x35')]=_0x557a22[_0x0840('0x35')][_0x0840('0x36')]?_0x557a22[_0x0840('0x35')]:_0x1a4e0e[_0x0840('0x2d')];_0x557a22=_[_0x0840('0x37')]({},_0x557a22,_0xaefe53[_0x0840('0x38')]);return utilLicense[_0x0840('0x39')](_0x557a22)[_0x0840('0x27')](respondWithResult(_0x330bf5,null))['catch'](handleError(_0x330bf5,null));};exports['update']=function(_0x3a3c8d,_0x577889){if(_0x3a3c8d['body']['id']){delete _0x3a3c8d['body']['id'];}return db['License'][_0x0840('0x3a')]({'where':{'id':_0x3a3c8d[_0x0840('0x3b')]['id']}})[_0x0840('0x27')](handleEntityNotFound(_0x577889,null))['then'](function(_0x29ba3e){var _0x838347=_0x29ba3e[_0x0840('0x3c')]({'plain':!![]});return utilLicense[_0x0840('0x3d')](_0x838347,_0x3a3c8d['body'][_0x0840('0x3e')]);})['then'](function(_0x240d11){if(!_0x240d11['demo']){return saveUpdates(_0x3a3c8d[_0x0840('0x3f')],null);}return _0x240d11;})[_0x0840('0x27')](respondWithResult(_0x577889,null))[_0x0840('0x40')](handleError(_0x577889,null));};exports[_0x0840('0x41')]=function(_0x644d9d,_0xe16a30){var _0x43c342='license-info.log';var _0x1e2fda=path['join'](_0x0840('0x42'),_0x0840('0x43'),_0x0840('0x44'),_0x43c342);_0xe16a30[_0x0840('0x45')]('Content-disposition',_0x0840('0x46')+_0x43c342);_0xe16a30[_0x0840('0x20')]('Content-Type',_0x0840('0x47'));_0xe16a30[_0x0840('0x48')](_0x1e2fda);};