Built motion from commit 96f8de6d.|2.6.3
[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 _0xda72=['crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','sendStatus','stack','name','send','model','rawAttributes','keys','query','filters','attributes','intersection','fields','merge','body','License','find','params','get','checkLicense','key','demo','downloadLogFile','/var','xcally','setHeader','attachment;\x20filename=','Content-Type','text/plain','download','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel'];(function(_0x1782a7,_0x2b1eb7){var _0xd34638=function(_0x40347f){while(--_0x40347f){_0x1782a7['push'](_0x1782a7['shift']());}};_0xd34638(++_0x2b1eb7);}(_0xda72,0x1db));var _0x2da7=function(_0x402253,_0x58df55){_0x402253=_0x402253-0x0;var _0xfec336=_0xda72[_0x402253];return _0xfec336;};'use strict';var emlformat=require(_0x2da7('0x0'));var rimraf=require(_0x2da7('0x1'));var zipdir=require(_0x2da7('0x2'));var jsonpatch=require(_0x2da7('0x3'));var rp=require(_0x2da7('0x4'));var moment=require(_0x2da7('0x5'));var BPromise=require(_0x2da7('0x6'));var Mustache=require('mustache');var util=require(_0x2da7('0x7'));var path=require(_0x2da7('0x8'));var sox=require(_0x2da7('0x9'));var csv=require(_0x2da7('0xa'));var ejs=require(_0x2da7('0xb'));var fs=require('fs');var fs_extra=require(_0x2da7('0xc'));var _=require(_0x2da7('0xd'));var squel=require(_0x2da7('0xe'));var crypto=require(_0x2da7('0xf'));var jsforce=require(_0x2da7('0x10'));var deskjs=require(_0x2da7('0x11'));var toCsv=require(_0x2da7('0xa'));var querystring=require(_0x2da7('0x12'));var Papa=require('papaparse');var Redis=require(_0x2da7('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x2da7('0x14'));var as=require(_0x2da7('0x15'));var hardwareService=require(_0x2da7('0x16'));var logger=require(_0x2da7('0x17'))(_0x2da7('0x18'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x2da7('0x19'));var db=require(_0x2da7('0x1a'))['db'];function respondWithStatusCode(_0x29a931,_0x5a8e4f){_0x5a8e4f=_0x5a8e4f||0xcc;return function(_0x4f47e4){if(_0x4f47e4){return _0x29a931['sendStatus'](_0x5a8e4f);}return _0x29a931[_0x2da7('0x1b')](_0x5a8e4f)[_0x2da7('0x1c')]();};}function respondWithResult(_0x5c4a50,_0x3ee2e7){_0x3ee2e7=_0x3ee2e7||0xc8;return function(_0x2b3621){if(_0x2b3621){return _0x5c4a50[_0x2da7('0x1b')](_0x3ee2e7)[_0x2da7('0x1d')](_0x2b3621);}};}function respondWithFilteredResult(_0x163e48,_0xf08f91){return function(_0x5dee8b){if(_0x5dee8b){var _0x10e94b=typeof _0xf08f91[_0x2da7('0x1e')]===_0x2da7('0x1f')&&typeof _0xf08f91[_0x2da7('0x20')]===_0x2da7('0x1f');var _0x4e207a=_0x5dee8b[_0x2da7('0x21')];var _0x344e82=_0x10e94b?0x0:_0xf08f91['offset'];var _0x1a9475=_0x10e94b?_0x5dee8b[_0x2da7('0x21')]:_0xf08f91[_0x2da7('0x1e')]+_0xf08f91[_0x2da7('0x20')];var _0x1a8518;if(_0x1a9475>=_0x4e207a){_0x1a9475=_0x4e207a;_0x1a8518=0xc8;}else{_0x1a8518=0xce;}_0x163e48['status'](_0x1a8518);return _0x163e48['set'](_0x2da7('0x22'),_0x344e82+'-'+_0x1a9475+'/'+_0x4e207a)[_0x2da7('0x1d')](_0x5dee8b);}return null;};}function patchUpdates(_0x59ac2f){return function(_0x579ccc){try{jsonpatch[_0x2da7('0x23')](_0x579ccc,_0x59ac2f,!![]);}catch(_0x335033){return BPromise[_0x2da7('0x24')](_0x335033);}return _0x579ccc[_0x2da7('0x25')]();};}function saveUpdates(_0x3517a2,_0x30d278){return function(_0x4ad08c){if(_0x4ad08c){return _0x4ad08c[_0x2da7('0x26')](_0x3517a2)[_0x2da7('0x27')](function(_0x571d13){return _0x571d13;});}return null;};}function removeEntity(_0x4b118d,_0x2b482f){return function(_0x2ffe19){if(_0x2ffe19){return _0x2ffe19[_0x2da7('0x28')]()[_0x2da7('0x27')](function(){_0x4b118d[_0x2da7('0x1b')](0xcc)[_0x2da7('0x1c')]();});}};}function handleEntityNotFound(_0xc5e95c,_0x3f2ddf){return function(_0x2f0743){if(!_0x2f0743){_0xc5e95c[_0x2da7('0x29')](0x194);}return _0x2f0743;};}function handleError(_0x318ed4,_0x82e62b){_0x82e62b=_0x82e62b||0x1f4;return function(_0x433f6e){logger['error'](_0x433f6e[_0x2da7('0x2a')]);if(_0x433f6e[_0x2da7('0x2b')]){delete _0x433f6e['name'];}_0x318ed4[_0x2da7('0x1b')](_0x82e62b)[_0x2da7('0x2c')](_0x433f6e);};}var utilLicense=require(_0x2da7('0x19'));exports['index']=function(_0x32a68c,_0x4a8d03){var _0x6a98bc={'raw':!![],'where':{'id':0x1}},_0x3c11d8={};_0x3c11d8[_0x2da7('0x2d')]=_['keys'](db['License'][_0x2da7('0x2e')]);_0x3c11d8['query']=_[_0x2da7('0x2f')](_0x32a68c[_0x2da7('0x30')]);_0x3c11d8[_0x2da7('0x31')]=_['intersection'](_0x3c11d8[_0x2da7('0x2d')],_0x3c11d8[_0x2da7('0x30')]);_0x6a98bc[_0x2da7('0x32')]=_[_0x2da7('0x33')](_0x3c11d8[_0x2da7('0x2d')],qs[_0x2da7('0x34')](_0x32a68c[_0x2da7('0x30')][_0x2da7('0x34')]));_0x6a98bc[_0x2da7('0x32')]=_0x6a98bc[_0x2da7('0x32')]['length']?_0x6a98bc[_0x2da7('0x32')]:_0x3c11d8[_0x2da7('0x2d')];_0x6a98bc=_[_0x2da7('0x35')]({},_0x6a98bc,_0x32a68c['options']);return utilLicense['getLicense'](_0x6a98bc)['then'](respondWithResult(_0x4a8d03,null))['catch'](handleError(_0x4a8d03,null));};exports[_0x2da7('0x26')]=function(_0x9522cf,_0xddfbad){if(_0x9522cf[_0x2da7('0x36')]['id']){delete _0x9522cf[_0x2da7('0x36')]['id'];}return db[_0x2da7('0x37')][_0x2da7('0x38')]({'where':{'id':_0x9522cf[_0x2da7('0x39')]['id']}})['then'](handleEntityNotFound(_0xddfbad,null))[_0x2da7('0x27')](function(_0x3e50f6){var _0xbe757e=_0x3e50f6[_0x2da7('0x3a')]({'plain':!![]});return utilLicense[_0x2da7('0x3b')](_0xbe757e,_0x9522cf[_0x2da7('0x36')][_0x2da7('0x3c')]);})[_0x2da7('0x27')](function(_0x47a002){if(!_0x47a002[_0x2da7('0x3d')]){return saveUpdates(_0x9522cf[_0x2da7('0x36')],null);}return _0x47a002;})['then'](respondWithResult(_0xddfbad,null))['catch'](handleError(_0xddfbad,null));};exports[_0x2da7('0x3e')]=function(_0x2d7c09,_0x4a1171){var _0x16ebe2='license-info.log';var _0x39fe48=path['join'](_0x2da7('0x3f'),'log',_0x2da7('0x40'),_0x16ebe2);_0x4a1171[_0x2da7('0x41')]('Content-disposition',_0x2da7('0x42')+_0x16ebe2);_0x4a1171['set'](_0x2da7('0x43'),_0x2da7('0x44'));_0x4a1171[_0x2da7('0x45')](_0x39fe48);};