f94f1d680818c2c4c063768600d73ef1310c3790
[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 _0x5327=['attachment;\x20filename=','text/plain','download','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','update','then','destroy','error','stack','name','send','index','model','License','rawAttributes','query','filters','attributes','intersection','fields','length','merge','options','getLicense','catch','body','params','get','checkLicense','key','demo','downloadLogFile','license-info.log','join','/var','log','xcally','setHeader','Content-disposition'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x5327,0x1ad));var _0x7532=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x5327[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x7532('0x0'));var rimraf=require(_0x7532('0x1'));var zipdir=require(_0x7532('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7532('0x3'));var moment=require('moment');var BPromise=require(_0x7532('0x4'));var Mustache=require(_0x7532('0x5'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x7532('0x6'));var ejs=require(_0x7532('0x7'));var fs=require('fs');var fs_extra=require(_0x7532('0x8'));var _=require(_0x7532('0x9'));var squel=require(_0x7532('0xa'));var crypto=require(_0x7532('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x7532('0xc'));var toCsv=require(_0x7532('0x6'));var querystring=require(_0x7532('0xd'));var Papa=require(_0x7532('0xe'));var Redis=require(_0x7532('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x7532('0x10'));var hardwareService=require(_0x7532('0x11'));var logger=require(_0x7532('0x12'))(_0x7532('0x13'));var utils=require(_0x7532('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x7532('0x15'));var db=require(_0x7532('0x16'))['db'];function respondWithStatusCode(_0x1d6e11,_0x4c21d9){_0x4c21d9=_0x4c21d9||0xcc;return function(_0x1b377d){if(_0x1b377d){return _0x1d6e11[_0x7532('0x17')](_0x4c21d9);}return _0x1d6e11[_0x7532('0x18')](_0x4c21d9)[_0x7532('0x19')]();};}function respondWithResult(_0x2a32f1,_0x5110a0){_0x5110a0=_0x5110a0||0xc8;return function(_0x254ee3){if(_0x254ee3){return _0x2a32f1[_0x7532('0x18')](_0x5110a0)[_0x7532('0x1a')](_0x254ee3);}};}function respondWithFilteredResult(_0x19a2cf,_0x264b93){return function(_0x503eb1){if(_0x503eb1){var _0x5095eb=typeof _0x264b93[_0x7532('0x1b')]===_0x7532('0x1c')&&typeof _0x264b93[_0x7532('0x1d')]===_0x7532('0x1c');var _0x362873=_0x503eb1[_0x7532('0x1e')];var _0xd037e0=_0x5095eb?0x0:_0x264b93[_0x7532('0x1b')];var _0x5bbe7e=_0x5095eb?_0x503eb1[_0x7532('0x1e')]:_0x264b93[_0x7532('0x1b')]+_0x264b93[_0x7532('0x1d')];var _0x12a910;if(_0x5bbe7e>=_0x362873){_0x5bbe7e=_0x362873;_0x12a910=0xc8;}else{_0x12a910=0xce;}_0x19a2cf[_0x7532('0x18')](_0x12a910);return _0x19a2cf[_0x7532('0x1f')](_0x7532('0x20'),_0xd037e0+'-'+_0x5bbe7e+'/'+_0x362873)['json'](_0x503eb1);}return null;};}function patchUpdates(_0x87337b){return function(_0x3ac4c1){try{jsonpatch['apply'](_0x3ac4c1,_0x87337b,!![]);}catch(_0x360476){return BPromise['reject'](_0x360476);}return _0x3ac4c1['save']();};}function saveUpdates(_0x43b4d4,_0xf0b7fb){return function(_0x5074bd){if(_0x5074bd){return _0x5074bd[_0x7532('0x21')](_0x43b4d4)[_0x7532('0x22')](function(_0x5ed6ba){return _0x5ed6ba;});}return null;};}function removeEntity(_0x49de4c,_0x4da4ab){return function(_0x483dda){if(_0x483dda){return _0x483dda[_0x7532('0x23')]()['then'](function(){_0x49de4c[_0x7532('0x18')](0xcc)[_0x7532('0x19')]();});}};}function handleEntityNotFound(_0xa3e05d,_0x3f3d46){return function(_0x3c25c2){if(!_0x3c25c2){_0xa3e05d[_0x7532('0x17')](0x194);}return _0x3c25c2;};}function handleError(_0x559e88,_0x6fa0a4){_0x6fa0a4=_0x6fa0a4||0x1f4;return function(_0x35f2db){logger[_0x7532('0x24')](_0x35f2db[_0x7532('0x25')]);if(_0x35f2db['name']){delete _0x35f2db[_0x7532('0x26')];}_0x559e88[_0x7532('0x18')](_0x6fa0a4)[_0x7532('0x27')](_0x35f2db);};}var utilLicense=require(_0x7532('0x15'));exports[_0x7532('0x28')]=function(_0x17eb7b,_0x4c74f4){var _0xfb7408={'raw':!![],'where':{'id':0x1}},_0x4f575d={};_0x4f575d[_0x7532('0x29')]=_['keys'](db[_0x7532('0x2a')][_0x7532('0x2b')]);_0x4f575d[_0x7532('0x2c')]=_['keys'](_0x17eb7b[_0x7532('0x2c')]);_0x4f575d[_0x7532('0x2d')]=_['intersection'](_0x4f575d[_0x7532('0x29')],_0x4f575d[_0x7532('0x2c')]);_0xfb7408[_0x7532('0x2e')]=_[_0x7532('0x2f')](_0x4f575d[_0x7532('0x29')],qs[_0x7532('0x30')](_0x17eb7b['query']['fields']));_0xfb7408[_0x7532('0x2e')]=_0xfb7408['attributes'][_0x7532('0x31')]?_0xfb7408[_0x7532('0x2e')]:_0x4f575d['model'];_0xfb7408=_[_0x7532('0x32')]({},_0xfb7408,_0x17eb7b[_0x7532('0x33')]);return utilLicense[_0x7532('0x34')](_0xfb7408)['then'](respondWithResult(_0x4c74f4,null))[_0x7532('0x35')](handleError(_0x4c74f4,null));};exports[_0x7532('0x21')]=function(_0x27065d,_0x30f8c1){if(_0x27065d[_0x7532('0x36')]['id']){delete _0x27065d[_0x7532('0x36')]['id'];}return db[_0x7532('0x2a')]['find']({'where':{'id':_0x27065d[_0x7532('0x37')]['id']}})[_0x7532('0x22')](handleEntityNotFound(_0x30f8c1,null))[_0x7532('0x22')](function(_0x26728d){var _0x51c776=_0x26728d[_0x7532('0x38')]({'plain':!![]});return utilLicense[_0x7532('0x39')](_0x51c776,_0x27065d[_0x7532('0x36')][_0x7532('0x3a')]);})['then'](function(_0x2ff598){if(!_0x2ff598[_0x7532('0x3b')]){return saveUpdates(_0x27065d[_0x7532('0x36')],null);}return _0x2ff598;})[_0x7532('0x22')](respondWithResult(_0x30f8c1,null))[_0x7532('0x35')](handleError(_0x30f8c1,null));};exports[_0x7532('0x3c')]=function(_0x21187f,_0xb88f98){var _0x26aa32=_0x7532('0x3d');var _0x43f6a5=path[_0x7532('0x3e')](_0x7532('0x3f'),_0x7532('0x40'),_0x7532('0x41'),_0x26aa32);_0xb88f98[_0x7532('0x42')](_0x7532('0x43'),_0x7532('0x44')+_0x26aa32);_0xb88f98[_0x7532('0x1f')]('Content-Type',_0x7532('0x45'));_0xb88f98[_0x7532('0x46')](_0x43f6a5);};