a7d095ecf11c31d5f0bea878775117c31130e71e
[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 _0x67e5=['../../config/license/util','../../mysqldb','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','model','query','keys','filters','intersection','attributes','fields','length','options','getLicense','body','License','find','params','get','checkLicense','key','demo','catch','downloadLogFile','license-info.log','/var','log','xcally','setHeader','text/plain','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils'];(function(_0x3c858f,_0x235201){var _0x198090=function(_0xc4c406){while(--_0xc4c406){_0x3c858f['push'](_0x3c858f['shift']());}};_0x198090(++_0x235201);}(_0x67e5,0x106));var _0x567e=function(_0x2886fe,_0x4c53b3){_0x2886fe=_0x2886fe-0x0;var _0x59a248=_0x67e5[_0x2886fe];return _0x59a248;};'use strict';var emlformat=require(_0x567e('0x0'));var rimraf=require(_0x567e('0x1'));var zipdir=require(_0x567e('0x2'));var jsonpatch=require(_0x567e('0x3'));var rp=require('request-promise');var moment=require(_0x567e('0x4'));var BPromise=require(_0x567e('0x5'));var Mustache=require(_0x567e('0x6'));var util=require(_0x567e('0x7'));var path=require(_0x567e('0x8'));var sox=require('sox');var csv=require(_0x567e('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x567e('0xa'));var jsforce=require(_0x567e('0xb'));var deskjs=require(_0x567e('0xc'));var toCsv=require(_0x567e('0x9'));var querystring=require(_0x567e('0xd'));var Papa=require('papaparse');var Redis=require(_0x567e('0xe'));var authService=require(_0x567e('0xf'));var qs=require(_0x567e('0x10'));var as=require(_0x567e('0x11'));var hardwareService=require(_0x567e('0x12'));var logger=require(_0x567e('0x13'))(_0x567e('0x14'));var utils=require(_0x567e('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x567e('0x16'));var db=require(_0x567e('0x17'))['db'];function respondWithStatusCode(_0x4fd6f5,_0x587145){_0x587145=_0x587145||0xcc;return function(_0x5bbf71){if(_0x5bbf71){return _0x4fd6f5['sendStatus'](_0x587145);}return _0x4fd6f5['status'](_0x587145)[_0x567e('0x18')]();};}function respondWithResult(_0x19cbec,_0x5d59dc){_0x5d59dc=_0x5d59dc||0xc8;return function(_0x32e684){if(_0x32e684){return _0x19cbec[_0x567e('0x19')](_0x5d59dc)[_0x567e('0x1a')](_0x32e684);}};}function respondWithFilteredResult(_0x436d39,_0x3a0b2e){return function(_0x155dd2){if(_0x155dd2){var _0x131f7e=typeof _0x3a0b2e[_0x567e('0x1b')]===_0x567e('0x1c')&&typeof _0x3a0b2e[_0x567e('0x1d')]===_0x567e('0x1c');var _0x1467a9=_0x155dd2[_0x567e('0x1e')];var _0x35b76b=_0x131f7e?0x0:_0x3a0b2e['offset'];var _0x5e3419=_0x131f7e?_0x155dd2[_0x567e('0x1e')]:_0x3a0b2e['offset']+_0x3a0b2e[_0x567e('0x1d')];var _0x5ada6b;if(_0x5e3419>=_0x1467a9){_0x5e3419=_0x1467a9;_0x5ada6b=0xc8;}else{_0x5ada6b=0xce;}_0x436d39[_0x567e('0x19')](_0x5ada6b);return _0x436d39[_0x567e('0x1f')](_0x567e('0x20'),_0x35b76b+'-'+_0x5e3419+'/'+_0x1467a9)[_0x567e('0x1a')](_0x155dd2);}return null;};}function patchUpdates(_0x31ceaf){return function(_0x4a3b0b){try{jsonpatch[_0x567e('0x21')](_0x4a3b0b,_0x31ceaf,!![]);}catch(_0x419bbf){return BPromise[_0x567e('0x22')](_0x419bbf);}return _0x4a3b0b[_0x567e('0x23')]();};}function saveUpdates(_0x3219b5,_0x4fa030){return function(_0x2f2c93){if(_0x2f2c93){return _0x2f2c93[_0x567e('0x24')](_0x3219b5)[_0x567e('0x25')](function(_0x6a7c01){return _0x6a7c01;});}return null;};}function removeEntity(_0x2a4015,_0x12e032){return function(_0x18f775){if(_0x18f775){return _0x18f775[_0x567e('0x26')]()[_0x567e('0x25')](function(){_0x2a4015[_0x567e('0x19')](0xcc)[_0x567e('0x18')]();});}};}function handleEntityNotFound(_0x1a66de,_0x1b9cd2){return function(_0x5240f0){if(!_0x5240f0){_0x1a66de[_0x567e('0x27')](0x194);}return _0x5240f0;};}function handleError(_0x4e8404,_0x2d4e36){_0x2d4e36=_0x2d4e36||0x1f4;return function(_0x45d659){logger[_0x567e('0x28')](_0x45d659[_0x567e('0x29')]);if(_0x45d659[_0x567e('0x2a')]){delete _0x45d659[_0x567e('0x2a')];}_0x4e8404['status'](_0x2d4e36)[_0x567e('0x2b')](_0x45d659);};}var utilLicense=require(_0x567e('0x16'));exports[_0x567e('0x2c')]=function(_0x28bd3a,_0x5312b9){var _0x51b79c={'raw':!![],'where':{'id':0x1}},_0x391245={};_0x391245[_0x567e('0x2d')]=_['keys'](db['License']['rawAttributes']);_0x391245[_0x567e('0x2e')]=_[_0x567e('0x2f')](_0x28bd3a[_0x567e('0x2e')]);_0x391245[_0x567e('0x30')]=_[_0x567e('0x31')](_0x391245[_0x567e('0x2d')],_0x391245[_0x567e('0x2e')]);_0x51b79c[_0x567e('0x32')]=_['intersection'](_0x391245['model'],qs[_0x567e('0x33')](_0x28bd3a[_0x567e('0x2e')][_0x567e('0x33')]));_0x51b79c[_0x567e('0x32')]=_0x51b79c[_0x567e('0x32')][_0x567e('0x34')]?_0x51b79c['attributes']:_0x391245['model'];_0x51b79c=_['merge']({},_0x51b79c,_0x28bd3a[_0x567e('0x35')]);return utilLicense[_0x567e('0x36')](_0x51b79c)[_0x567e('0x25')](respondWithResult(_0x5312b9,null))['catch'](handleError(_0x5312b9,null));};exports[_0x567e('0x24')]=function(_0x1c2b19,_0x32db21){if(_0x1c2b19[_0x567e('0x37')]['id']){delete _0x1c2b19[_0x567e('0x37')]['id'];}return db[_0x567e('0x38')][_0x567e('0x39')]({'where':{'id':_0x1c2b19[_0x567e('0x3a')]['id']}})['then'](handleEntityNotFound(_0x32db21,null))['then'](function(_0x389433){var _0x3ed06c=_0x389433[_0x567e('0x3b')]({'plain':!![]});return utilLicense[_0x567e('0x3c')](_0x3ed06c,_0x1c2b19[_0x567e('0x37')][_0x567e('0x3d')]);})[_0x567e('0x25')](function(_0x36d060){if(!_0x36d060[_0x567e('0x3e')]){return saveUpdates(_0x1c2b19[_0x567e('0x37')],null);}return _0x36d060;})[_0x567e('0x25')](respondWithResult(_0x32db21,null))[_0x567e('0x3f')](handleError(_0x32db21,null));};exports[_0x567e('0x40')]=function(_0x48accb,_0x4daad3){var _0x2e1c9b=_0x567e('0x41');var _0x33f797=path['join'](_0x567e('0x42'),_0x567e('0x43'),_0x567e('0x44'),_0x2e1c9b);_0x4daad3[_0x567e('0x45')]('Content-disposition','attachment;\x20filename='+_0x2e1c9b);_0x4daad3[_0x567e('0x1f')]('Content-Type',_0x567e('0x46'));_0x4daad3['download'](_0x33f797);};