c2ef6828ece4ede1005fa19eb8ac70d372973d7f
[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 _0xbd1a=['apply','save','update','destroy','then','error','name','model','keys','License','rawAttributes','query','attributes','fields','options','getLicense','body','find','params','checkLicense','key','demo','catch','license-info.log','join','/var','log','text/plain','download','eml-format','rimraf','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0xbd1a,0xda));var _0xabd1=function(_0x427128,_0x2d017a){_0x427128=_0x427128-0x0;var _0x2f51c6=_0xbd1a[_0x427128];return _0x2f51c6;};'use strict';var emlformat=require(_0xabd1('0x0'));var rimraf=require(_0xabd1('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xabd1('0x2'));var rp=require(_0xabd1('0x3'));var moment=require(_0xabd1('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xabd1('0x5'));var path=require(_0xabd1('0x6'));var sox=require('sox');var csv=require(_0xabd1('0x7'));var ejs=require(_0xabd1('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xabd1('0x9'));var squel=require(_0xabd1('0xa'));var crypto=require(_0xabd1('0xb'));var jsforce=require(_0xabd1('0xc'));var deskjs=require(_0xabd1('0xd'));var toCsv=require(_0xabd1('0x7'));var querystring=require(_0xabd1('0xe'));var Papa=require(_0xabd1('0xf'));var Redis=require(_0xabd1('0x10'));var authService=require(_0xabd1('0x11'));var qs=require(_0xabd1('0x12'));var as=require(_0xabd1('0x13'));var hardwareService=require(_0xabd1('0x14'));var logger=require(_0xabd1('0x15'))('api');var utils=require(_0xabd1('0x16'));var config=require(_0xabd1('0x17'));var licenseUtil=require(_0xabd1('0x18'));var db=require(_0xabd1('0x19'))['db'];function respondWithStatusCode(_0x2f1b3f,_0x4ad7fd){_0x4ad7fd=_0x4ad7fd||0xcc;return function(_0x290387){if(_0x290387){return _0x2f1b3f[_0xabd1('0x1a')](_0x4ad7fd);}return _0x2f1b3f[_0xabd1('0x1b')](_0x4ad7fd)[_0xabd1('0x1c')]();};}function respondWithResult(_0x35c214,_0x11b482){_0x11b482=_0x11b482||0xc8;return function(_0x2c8a65){if(_0x2c8a65){return _0x35c214[_0xabd1('0x1b')](_0x11b482)[_0xabd1('0x1d')](_0x2c8a65);}};}function respondWithFilteredResult(_0x5eadf0,_0x531491){return function(_0x25a172){if(_0x25a172){var _0x20da41=typeof _0x531491[_0xabd1('0x1e')]===_0xabd1('0x1f')&&typeof _0x531491[_0xabd1('0x20')]===_0xabd1('0x1f');var _0x48ce7b=_0x25a172[_0xabd1('0x21')];var _0x3a2fe2=_0x20da41?0x0:_0x531491['offset'];var _0x478376=_0x20da41?_0x25a172[_0xabd1('0x21')]:_0x531491[_0xabd1('0x1e')]+_0x531491['limit'];var _0x3aca73;if(_0x478376>=_0x48ce7b){_0x478376=_0x48ce7b;_0x3aca73=0xc8;}else{_0x3aca73=0xce;}_0x5eadf0[_0xabd1('0x1b')](_0x3aca73);return _0x5eadf0['set']('Content-Range',_0x3a2fe2+'-'+_0x478376+'/'+_0x48ce7b)[_0xabd1('0x1d')](_0x25a172);}return null;};}function patchUpdates(_0x5a080c){return function(_0x500299){try{jsonpatch[_0xabd1('0x22')](_0x500299,_0x5a080c,!![]);}catch(_0x12e0bc){return BPromise['reject'](_0x12e0bc);}return _0x500299[_0xabd1('0x23')]();};}function saveUpdates(_0x4751e8,_0x4ff1e4){return function(_0x3e462a){if(_0x3e462a){return _0x3e462a[_0xabd1('0x24')](_0x4751e8)['then'](function(_0x5340d1){return _0x5340d1;});}return null;};}function removeEntity(_0x5c483d,_0x389f04){return function(_0x53fde1){if(_0x53fde1){return _0x53fde1[_0xabd1('0x25')]()[_0xabd1('0x26')](function(){_0x5c483d[_0xabd1('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1d5ea5,_0x415c1e){return function(_0x3d8d9c){if(!_0x3d8d9c){_0x1d5ea5[_0xabd1('0x1a')](0x194);}return _0x3d8d9c;};}function handleError(_0x22738c,_0x180344){_0x180344=_0x180344||0x1f4;return function(_0x4adbf1){logger[_0xabd1('0x27')](_0x4adbf1['stack']);if(_0x4adbf1['name']){delete _0x4adbf1[_0xabd1('0x28')];}_0x22738c[_0xabd1('0x1b')](_0x180344)['send'](_0x4adbf1);};}var utilLicense=require(_0xabd1('0x18'));exports['index']=function(_0x150ac1,_0x3def39){var _0x21c8d3={'raw':!![],'where':{'id':0x1}},_0x3dbfe9={};_0x3dbfe9[_0xabd1('0x29')]=_[_0xabd1('0x2a')](db[_0xabd1('0x2b')][_0xabd1('0x2c')]);_0x3dbfe9['query']=_[_0xabd1('0x2a')](_0x150ac1[_0xabd1('0x2d')]);_0x3dbfe9['filters']=_['intersection'](_0x3dbfe9[_0xabd1('0x29')],_0x3dbfe9['query']);_0x21c8d3[_0xabd1('0x2e')]=_['intersection'](_0x3dbfe9[_0xabd1('0x29')],qs[_0xabd1('0x2f')](_0x150ac1['query']['fields']));_0x21c8d3['attributes']=_0x21c8d3[_0xabd1('0x2e')]['length']?_0x21c8d3[_0xabd1('0x2e')]:_0x3dbfe9[_0xabd1('0x29')];_0x21c8d3=_['merge']({},_0x21c8d3,_0x150ac1[_0xabd1('0x30')]);return utilLicense[_0xabd1('0x31')](_0x21c8d3)[_0xabd1('0x26')](respondWithResult(_0x3def39,null))['catch'](handleError(_0x3def39,null));};exports[_0xabd1('0x24')]=function(_0x2b77d6,_0x2c0776){if(_0x2b77d6['body']['id']){delete _0x2b77d6[_0xabd1('0x32')]['id'];}return db['License'][_0xabd1('0x33')]({'where':{'id':_0x2b77d6[_0xabd1('0x34')]['id']}})[_0xabd1('0x26')](handleEntityNotFound(_0x2c0776,null))[_0xabd1('0x26')](function(_0x249a52){var _0x376d6b=_0x249a52['get']({'plain':!![]});return utilLicense[_0xabd1('0x35')](_0x376d6b,_0x2b77d6[_0xabd1('0x32')][_0xabd1('0x36')]);})['then'](function(_0x2ddff1){if(!_0x2ddff1[_0xabd1('0x37')]){return saveUpdates(_0x2b77d6[_0xabd1('0x32')],null);}return _0x2ddff1;})['then'](respondWithResult(_0x2c0776,null))[_0xabd1('0x38')](handleError(_0x2c0776,null));};exports['downloadLogFile']=function(_0x1ddcb7,_0x3a8569){var _0x30b8c4=_0xabd1('0x39');var _0xe8c9cc=path[_0xabd1('0x3a')](_0xabd1('0x3b'),_0xabd1('0x3c'),'xcally',_0x30b8c4);_0x3a8569['setHeader']('Content-disposition','attachment;\x20filename='+_0x30b8c4);_0x3a8569['set']('Content-Type',_0xabd1('0x3d'));_0x3a8569[_0xabd1('0x3e')](_0xe8c9cc);};