Built motion from commit fe909640.|2.6.8
[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 _0x33c4=['rawAttributes','query','attributes','intersection','fields','length','merge','options','update','body','find','params','get','checkLicense','key','demo','catch','downloadLogFile','license-info.log','/var','Content-disposition','attachment;\x20filename=','set','Content-Type','text/plain','download','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','then','destroy','stack','name','send','index','model','keys','License'];(function(_0x210e0d,_0x544a46){var _0x3d318a=function(_0x902aec){while(--_0x902aec){_0x210e0d['push'](_0x210e0d['shift']());}};_0x3d318a(++_0x544a46);}(_0x33c4,0xa8));var _0x433c=function(_0x1bc635,_0x4a1b08){_0x1bc635=_0x1bc635-0x0;var _0x1179e0=_0x33c4[_0x1bc635];return _0x1179e0;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x433c('0x0'));var jsonpatch=require(_0x433c('0x1'));var rp=require(_0x433c('0x2'));var moment=require('moment');var BPromise=require(_0x433c('0x3'));var Mustache=require('mustache');var util=require(_0x433c('0x4'));var path=require(_0x433c('0x5'));var sox=require(_0x433c('0x6'));var csv=require('to-csv');var ejs=require(_0x433c('0x7'));var fs=require('fs');var fs_extra=require(_0x433c('0x8'));var _=require(_0x433c('0x9'));var squel=require(_0x433c('0xa'));var crypto=require(_0x433c('0xb'));var jsforce=require(_0x433c('0xc'));var deskjs=require(_0x433c('0xd'));var toCsv=require(_0x433c('0xe'));var querystring=require(_0x433c('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x433c('0x10'));var qs=require(_0x433c('0x11'));var as=require(_0x433c('0x12'));var hardwareService=require(_0x433c('0x13'));var logger=require('../../config/logger')(_0x433c('0x14'));var utils=require(_0x433c('0x15'));var config=require(_0x433c('0x16'));var licenseUtil=require(_0x433c('0x17'));var db=require(_0x433c('0x18'))['db'];function respondWithStatusCode(_0x42db86,_0x13f956){_0x13f956=_0x13f956||0xcc;return function(_0x5a6bc5){if(_0x5a6bc5){return _0x42db86[_0x433c('0x19')](_0x13f956);}return _0x42db86[_0x433c('0x1a')](_0x13f956)[_0x433c('0x1b')]();};}function respondWithResult(_0x101031,_0x504279){_0x504279=_0x504279||0xc8;return function(_0x3d3a37){if(_0x3d3a37){return _0x101031[_0x433c('0x1a')](_0x504279)[_0x433c('0x1c')](_0x3d3a37);}};}function respondWithFilteredResult(_0x1e6847,_0x3561d4){return function(_0x38aab0){if(_0x38aab0){var _0x1486bc=typeof _0x3561d4[_0x433c('0x1d')]===_0x433c('0x1e')&&typeof _0x3561d4[_0x433c('0x1f')]===_0x433c('0x1e');var _0x13e6cb=_0x38aab0[_0x433c('0x20')];var _0x24a496=_0x1486bc?0x0:_0x3561d4[_0x433c('0x1d')];var _0x5362ed=_0x1486bc?_0x38aab0[_0x433c('0x20')]:_0x3561d4[_0x433c('0x1d')]+_0x3561d4['limit'];var _0x5ec841;if(_0x5362ed>=_0x13e6cb){_0x5362ed=_0x13e6cb;_0x5ec841=0xc8;}else{_0x5ec841=0xce;}_0x1e6847[_0x433c('0x1a')](_0x5ec841);return _0x1e6847['set'](_0x433c('0x21'),_0x24a496+'-'+_0x5362ed+'/'+_0x13e6cb)['json'](_0x38aab0);}return null;};}function patchUpdates(_0x545bfd){return function(_0x8e53f7){try{jsonpatch[_0x433c('0x22')](_0x8e53f7,_0x545bfd,!![]);}catch(_0x32ffdc){return BPromise[_0x433c('0x23')](_0x32ffdc);}return _0x8e53f7['save']();};}function saveUpdates(_0x3a8120,_0x3ab92a){return function(_0x4f3f55){if(_0x4f3f55){return _0x4f3f55['update'](_0x3a8120)[_0x433c('0x24')](function(_0x35a41f){return _0x35a41f;});}return null;};}function removeEntity(_0x1fef35,_0x508dd9){return function(_0x3ef8e1){if(_0x3ef8e1){return _0x3ef8e1[_0x433c('0x25')]()[_0x433c('0x24')](function(){_0x1fef35[_0x433c('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x437383,_0x5407c7){return function(_0x52a166){if(!_0x52a166){_0x437383[_0x433c('0x19')](0x194);}return _0x52a166;};}function handleError(_0x4e186f,_0x43fc33){_0x43fc33=_0x43fc33||0x1f4;return function(_0x210cf3){logger['error'](_0x210cf3[_0x433c('0x26')]);if(_0x210cf3[_0x433c('0x27')]){delete _0x210cf3[_0x433c('0x27')];}_0x4e186f[_0x433c('0x1a')](_0x43fc33)[_0x433c('0x28')](_0x210cf3);};}var utilLicense=require(_0x433c('0x17'));exports[_0x433c('0x29')]=function(_0x3c6e73,_0x55f486){var _0x3ffe08={'raw':!![],'where':{'id':0x1}},_0x366f32={};_0x366f32[_0x433c('0x2a')]=_[_0x433c('0x2b')](db[_0x433c('0x2c')][_0x433c('0x2d')]);_0x366f32[_0x433c('0x2e')]=_[_0x433c('0x2b')](_0x3c6e73['query']);_0x366f32['filters']=_['intersection'](_0x366f32[_0x433c('0x2a')],_0x366f32[_0x433c('0x2e')]);_0x3ffe08[_0x433c('0x2f')]=_[_0x433c('0x30')](_0x366f32[_0x433c('0x2a')],qs[_0x433c('0x31')](_0x3c6e73[_0x433c('0x2e')][_0x433c('0x31')]));_0x3ffe08['attributes']=_0x3ffe08[_0x433c('0x2f')][_0x433c('0x32')]?_0x3ffe08['attributes']:_0x366f32[_0x433c('0x2a')];_0x3ffe08=_[_0x433c('0x33')]({},_0x3ffe08,_0x3c6e73[_0x433c('0x34')]);return utilLicense['getLicense'](_0x3ffe08)[_0x433c('0x24')](respondWithResult(_0x55f486,null))['catch'](handleError(_0x55f486,null));};exports[_0x433c('0x35')]=function(_0x38e3ce,_0x4253f9){if(_0x38e3ce['body']['id']){delete _0x38e3ce[_0x433c('0x36')]['id'];}return db['License'][_0x433c('0x37')]({'where':{'id':_0x38e3ce[_0x433c('0x38')]['id']}})[_0x433c('0x24')](handleEntityNotFound(_0x4253f9,null))[_0x433c('0x24')](function(_0x4e015a){var _0x57da8d=_0x4e015a[_0x433c('0x39')]({'plain':!![]});return utilLicense[_0x433c('0x3a')](_0x57da8d,_0x38e3ce[_0x433c('0x36')][_0x433c('0x3b')]);})[_0x433c('0x24')](function(_0xbdb105){if(!_0xbdb105[_0x433c('0x3c')]){return saveUpdates(_0x38e3ce['body'],null);}return _0xbdb105;})[_0x433c('0x24')](respondWithResult(_0x4253f9,null))[_0x433c('0x3d')](handleError(_0x4253f9,null));};exports[_0x433c('0x3e')]=function(_0x5cd717,_0x149c5c){var _0x5a061c=_0x433c('0x3f');var _0x116364=path['join'](_0x433c('0x40'),'log','xcally',_0x5a061c);_0x149c5c['setHeader'](_0x433c('0x41'),_0x433c('0x42')+_0x5a061c);_0x149c5c[_0x433c('0x43')](_0x433c('0x44'),_0x433c('0x45'));_0x149c5c[_0x433c('0x46')](_0x116364);};