429f3435f8d9f5b743e40c4635498e4efddefc3f
[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 _0x7847=['filters','intersection','model','fields','attributes','length','options','getLicense','body','params','get','checkLicense','key','demo','catch','join','log','xcally','setHeader','Content-disposition','attachment;\x20filename=','text/plain','download','eml-format','rimraf','zip-dir','request-promise','bluebird','path','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','offset','limit','count','Content-Range','reject','save','update','then','error','name','send','index','keys','License','rawAttributes','query'];(function(_0x5c3404,_0x5e4ad0){var _0x24cdde=function(_0x286000){while(--_0x286000){_0x5c3404['push'](_0x5c3404['shift']());}};_0x24cdde(++_0x5e4ad0);}(_0x7847,0x1a3));var _0x7784=function(_0x5135f1,_0xf4d1b){_0x5135f1=_0x5135f1-0x0;var _0x1ad043=_0x7847[_0x5135f1];return _0x1ad043;};'use strict';var emlformat=require(_0x7784('0x0'));var rimraf=require(_0x7784('0x1'));var zipdir=require(_0x7784('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7784('0x3'));var moment=require('moment');var BPromise=require(_0x7784('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x7784('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7784('0x6'));var _=require(_0x7784('0x7'));var squel=require(_0x7784('0x8'));var crypto=require(_0x7784('0x9'));var jsforce=require(_0x7784('0xa'));var deskjs=require(_0x7784('0xb'));var toCsv=require(_0x7784('0xc'));var querystring=require(_0x7784('0xd'));var Papa=require(_0x7784('0xe'));var Redis=require(_0x7784('0xf'));var authService=require(_0x7784('0x10'));var qs=require(_0x7784('0x11'));var as=require(_0x7784('0x12'));var hardwareService=require(_0x7784('0x13'));var logger=require('../../config/logger')(_0x7784('0x14'));var utils=require(_0x7784('0x15'));var config=require(_0x7784('0x16'));var licenseUtil=require(_0x7784('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x38873d,_0x237b4b){_0x237b4b=_0x237b4b||0xcc;return function(_0x5d26a9){if(_0x5d26a9){return _0x38873d[_0x7784('0x18')](_0x237b4b);}return _0x38873d['status'](_0x237b4b)[_0x7784('0x19')]();};}function respondWithResult(_0x199a9a,_0x5e93c4){_0x5e93c4=_0x5e93c4||0xc8;return function(_0x4ec443){if(_0x4ec443){return _0x199a9a[_0x7784('0x1a')](_0x5e93c4)['json'](_0x4ec443);}};}function respondWithFilteredResult(_0x333836,_0x29b359){return function(_0x1793f7){if(_0x1793f7){var _0x1ee436=typeof _0x29b359[_0x7784('0x1b')]==='undefined'&&typeof _0x29b359[_0x7784('0x1c')]==='undefined';var _0x1539a3=_0x1793f7[_0x7784('0x1d')];var _0x2fe320=_0x1ee436?0x0:_0x29b359['offset'];var _0x52e59c=_0x1ee436?_0x1793f7[_0x7784('0x1d')]:_0x29b359[_0x7784('0x1b')]+_0x29b359[_0x7784('0x1c')];var _0x34998b;if(_0x52e59c>=_0x1539a3){_0x52e59c=_0x1539a3;_0x34998b=0xc8;}else{_0x34998b=0xce;}_0x333836[_0x7784('0x1a')](_0x34998b);return _0x333836['set'](_0x7784('0x1e'),_0x2fe320+'-'+_0x52e59c+'/'+_0x1539a3)['json'](_0x1793f7);}return null;};}function patchUpdates(_0x497442){return function(_0x1669ff){try{jsonpatch['apply'](_0x1669ff,_0x497442,!![]);}catch(_0x35ad97){return BPromise[_0x7784('0x1f')](_0x35ad97);}return _0x1669ff[_0x7784('0x20')]();};}function saveUpdates(_0x42af07,_0x3ecabf){return function(_0x43a5ab){if(_0x43a5ab){return _0x43a5ab[_0x7784('0x21')](_0x42af07)[_0x7784('0x22')](function(_0x5aed48){return _0x5aed48;});}return null;};}function removeEntity(_0x228b8c,_0x1c1ba5){return function(_0x1cc479){if(_0x1cc479){return _0x1cc479['destroy']()[_0x7784('0x22')](function(){_0x228b8c[_0x7784('0x1a')](0xcc)[_0x7784('0x19')]();});}};}function handleEntityNotFound(_0xe44166,_0x1f0abc){return function(_0x12ff51){if(!_0x12ff51){_0xe44166[_0x7784('0x18')](0x194);}return _0x12ff51;};}function handleError(_0x597db9,_0x221425){_0x221425=_0x221425||0x1f4;return function(_0x5dbdca){logger[_0x7784('0x23')](_0x5dbdca['stack']);if(_0x5dbdca[_0x7784('0x24')]){delete _0x5dbdca[_0x7784('0x24')];}_0x597db9['status'](_0x221425)[_0x7784('0x25')](_0x5dbdca);};}var utilLicense=require('../../config/license/util');exports[_0x7784('0x26')]=function(_0x438fb4,_0x4c2d28){var _0x2217b1={'raw':!![],'where':{'id':0x1}},_0x57982a={};_0x57982a['model']=_[_0x7784('0x27')](db[_0x7784('0x28')][_0x7784('0x29')]);_0x57982a[_0x7784('0x2a')]=_[_0x7784('0x27')](_0x438fb4['query']);_0x57982a[_0x7784('0x2b')]=_[_0x7784('0x2c')](_0x57982a[_0x7784('0x2d')],_0x57982a[_0x7784('0x2a')]);_0x2217b1['attributes']=_[_0x7784('0x2c')](_0x57982a[_0x7784('0x2d')],qs['fields'](_0x438fb4[_0x7784('0x2a')][_0x7784('0x2e')]));_0x2217b1[_0x7784('0x2f')]=_0x2217b1[_0x7784('0x2f')][_0x7784('0x30')]?_0x2217b1['attributes']:_0x57982a[_0x7784('0x2d')];_0x2217b1=_['merge']({},_0x2217b1,_0x438fb4[_0x7784('0x31')]);return utilLicense[_0x7784('0x32')](_0x2217b1)[_0x7784('0x22')](respondWithResult(_0x4c2d28,null))['catch'](handleError(_0x4c2d28,null));};exports[_0x7784('0x21')]=function(_0x2cf26d,_0x44ac9f){if(_0x2cf26d[_0x7784('0x33')]['id']){delete _0x2cf26d['body']['id'];}return db[_0x7784('0x28')]['find']({'where':{'id':_0x2cf26d[_0x7784('0x34')]['id']}})['then'](handleEntityNotFound(_0x44ac9f,null))[_0x7784('0x22')](function(_0x3db76d){var _0x18e67f=_0x3db76d[_0x7784('0x35')]({'plain':!![]});return utilLicense[_0x7784('0x36')](_0x18e67f,_0x2cf26d[_0x7784('0x33')][_0x7784('0x37')]);})['then'](function(_0xd14b17){if(!_0xd14b17[_0x7784('0x38')]){return saveUpdates(_0x2cf26d[_0x7784('0x33')],null);}return _0xd14b17;})[_0x7784('0x22')](respondWithResult(_0x44ac9f,null))[_0x7784('0x39')](handleError(_0x44ac9f,null));};exports['downloadLogFile']=function(_0x18c9f2,_0x1b38ae){var _0x5898f7='license-info.log';var _0x41f6f2=path[_0x7784('0x3a')]('/var',_0x7784('0x3b'),_0x7784('0x3c'),_0x5898f7);_0x1b38ae[_0x7784('0x3d')](_0x7784('0x3e'),_0x7784('0x3f')+_0x5898f7);_0x1b38ae['set']('Content-Type',_0x7784('0x40'));_0x1b38ae[_0x7784('0x41')](_0x41f6f2);};