1eb1fcec2046b0f6888bdc6d27a844c655f8069c
[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 _0xe6ed=['text/plain','download','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','sendStatus','status','end','json','offset','undefined','limit','count','set','reject','save','update','then','destroy','error','stack','name','send','index','model','keys','query','intersection','attributes','fields','merge','options','body','License','find','params','get','checkLicense','key','demo','downloadLogFile','join','/var','log','xcally','setHeader','Content-Type'];(function(_0x344ec5,_0x5c2f51){var _0x2bc076=function(_0x18d638){while(--_0x18d638){_0x344ec5['push'](_0x344ec5['shift']());}};_0x2bc076(++_0x5c2f51);}(_0xe6ed,0xfe));var _0xde6e=function(_0x531ee2,_0x35fe93){_0x531ee2=_0x531ee2-0x0;var _0x50c437=_0xe6ed[_0x531ee2];return _0x50c437;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xde6e('0x0'));var zipdir=require(_0xde6e('0x1'));var jsonpatch=require(_0xde6e('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xde6e('0x3'));var Mustache=require(_0xde6e('0x4'));var util=require(_0xde6e('0x5'));var path=require(_0xde6e('0x6'));var sox=require(_0xde6e('0x7'));var csv=require(_0xde6e('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xde6e('0x9'));var _=require('lodash');var squel=require(_0xde6e('0xa'));var crypto=require(_0xde6e('0xb'));var jsforce=require(_0xde6e('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xde6e('0xd'));var Redis=require(_0xde6e('0xe'));var authService=require(_0xde6e('0xf'));var qs=require(_0xde6e('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xde6e('0x11'));var logger=require('../../config/logger')(_0xde6e('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x115d9a,_0x454bd7){_0x454bd7=_0x454bd7||0xcc;return function(_0x4cfa26){if(_0x4cfa26){return _0x115d9a[_0xde6e('0x13')](_0x454bd7);}return _0x115d9a[_0xde6e('0x14')](_0x454bd7)[_0xde6e('0x15')]();};}function respondWithResult(_0x5d5345,_0xb2bca2){_0xb2bca2=_0xb2bca2||0xc8;return function(_0x5d6c74){if(_0x5d6c74){return _0x5d5345[_0xde6e('0x14')](_0xb2bca2)[_0xde6e('0x16')](_0x5d6c74);}};}function respondWithFilteredResult(_0x80648e,_0x12474c){return function(_0x571e5f){if(_0x571e5f){var _0x2e4be1=typeof _0x12474c[_0xde6e('0x17')]===_0xde6e('0x18')&&typeof _0x12474c[_0xde6e('0x19')]===_0xde6e('0x18');var _0x1bb450=_0x571e5f[_0xde6e('0x1a')];var _0x5b6533=_0x2e4be1?0x0:_0x12474c[_0xde6e('0x17')];var _0x2bdffb=_0x2e4be1?_0x571e5f[_0xde6e('0x1a')]:_0x12474c[_0xde6e('0x17')]+_0x12474c[_0xde6e('0x19')];var _0x2b0bd6;if(_0x2bdffb>=_0x1bb450){_0x2bdffb=_0x1bb450;_0x2b0bd6=0xc8;}else{_0x2b0bd6=0xce;}_0x80648e[_0xde6e('0x14')](_0x2b0bd6);return _0x80648e[_0xde6e('0x1b')]('Content-Range',_0x5b6533+'-'+_0x2bdffb+'/'+_0x1bb450)[_0xde6e('0x16')](_0x571e5f);}return null;};}function patchUpdates(_0x2e8110){return function(_0x461c38){try{jsonpatch['apply'](_0x461c38,_0x2e8110,!![]);}catch(_0x4b03ee){return BPromise[_0xde6e('0x1c')](_0x4b03ee);}return _0x461c38[_0xde6e('0x1d')]();};}function saveUpdates(_0x278a95,_0x323ac5){return function(_0x51feee){if(_0x51feee){return _0x51feee[_0xde6e('0x1e')](_0x278a95)[_0xde6e('0x1f')](function(_0x5dc570){return _0x5dc570;});}return null;};}function removeEntity(_0xaedeae,_0x273bfb){return function(_0x3776e3){if(_0x3776e3){return _0x3776e3[_0xde6e('0x20')]()[_0xde6e('0x1f')](function(){_0xaedeae['status'](0xcc)[_0xde6e('0x15')]();});}};}function handleEntityNotFound(_0x245932,_0x592bbd){return function(_0xc0f554){if(!_0xc0f554){_0x245932[_0xde6e('0x13')](0x194);}return _0xc0f554;};}function handleError(_0x207b61,_0x451d12){_0x451d12=_0x451d12||0x1f4;return function(_0x25e9ce){logger[_0xde6e('0x21')](_0x25e9ce[_0xde6e('0x22')]);if(_0x25e9ce[_0xde6e('0x23')]){delete _0x25e9ce[_0xde6e('0x23')];}_0x207b61[_0xde6e('0x14')](_0x451d12)[_0xde6e('0x24')](_0x25e9ce);};}var utilLicense=require('../../config/license/util');exports[_0xde6e('0x25')]=function(_0x28ad94,_0x35fac6){var _0x4b554f={'raw':!![],'where':{'id':0x1}},_0x205119={};_0x205119[_0xde6e('0x26')]=_[_0xde6e('0x27')](db['License']['rawAttributes']);_0x205119[_0xde6e('0x28')]=_['keys'](_0x28ad94[_0xde6e('0x28')]);_0x205119['filters']=_[_0xde6e('0x29')](_0x205119['model'],_0x205119[_0xde6e('0x28')]);_0x4b554f[_0xde6e('0x2a')]=_[_0xde6e('0x29')](_0x205119[_0xde6e('0x26')],qs[_0xde6e('0x2b')](_0x28ad94[_0xde6e('0x28')][_0xde6e('0x2b')]));_0x4b554f[_0xde6e('0x2a')]=_0x4b554f[_0xde6e('0x2a')]['length']?_0x4b554f[_0xde6e('0x2a')]:_0x205119['model'];_0x4b554f=_[_0xde6e('0x2c')]({},_0x4b554f,_0x28ad94[_0xde6e('0x2d')]);return utilLicense['getLicense'](_0x4b554f)[_0xde6e('0x1f')](respondWithResult(_0x35fac6,null))['catch'](handleError(_0x35fac6,null));};exports['update']=function(_0x5192d4,_0x473944){if(_0x5192d4[_0xde6e('0x2e')]['id']){delete _0x5192d4['body']['id'];}return db[_0xde6e('0x2f')][_0xde6e('0x30')]({'where':{'id':_0x5192d4[_0xde6e('0x31')]['id']}})[_0xde6e('0x1f')](handleEntityNotFound(_0x473944,null))[_0xde6e('0x1f')](function(_0x4db4fe){var _0x2c0d7b=_0x4db4fe[_0xde6e('0x32')]({'plain':!![]});return utilLicense[_0xde6e('0x33')](_0x2c0d7b,_0x5192d4[_0xde6e('0x2e')][_0xde6e('0x34')]);})['then'](function(_0x1f9fe8){if(!_0x1f9fe8[_0xde6e('0x35')]){return saveUpdates(_0x5192d4['body'],null);}return _0x1f9fe8;})['then'](respondWithResult(_0x473944,null))['catch'](handleError(_0x473944,null));};exports[_0xde6e('0x36')]=function(_0x2885b2,_0x34cdac){var _0x769d8d='license-info.log';var _0x17f415=path[_0xde6e('0x37')](_0xde6e('0x38'),_0xde6e('0x39'),_0xde6e('0x3a'),_0x769d8d);_0x34cdac[_0xde6e('0x3b')]('Content-disposition','attachment;\x20filename='+_0x769d8d);_0x34cdac[_0xde6e('0x1b')](_0xde6e('0x3c'),_0xde6e('0x3d'));_0x34cdac[_0xde6e('0x3e')](_0x17f415);};