d9f12e9103f533787cfb17c82577ab57774017e5
[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 _0xdc40=['attachment;\x20filename=','Content-Type','text/plain','eml-format','rimraf','zip-dir','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','count','set','apply','reject','update','then','destroy','name','model','License','rawAttributes','query','intersection','fields','attributes','length','catch','body','find','key','demo','license-info.log','/var','log','setHeader'];(function(_0x406414,_0x27e918){var _0x132e6c=function(_0x3bbde5){while(--_0x3bbde5){_0x406414['push'](_0x406414['shift']());}};_0x132e6c(++_0x27e918);}(_0xdc40,0xa8));var _0x0dc4=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xdc40[_0x20a584];return _0x4b41a8;};'use strict';var emlformat=require(_0x0dc4('0x0'));var rimraf=require(_0x0dc4('0x1'));var zipdir=require(_0x0dc4('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0dc4('0x3'));var BPromise=require(_0x0dc4('0x4'));var Mustache=require(_0x0dc4('0x5'));var util=require('util');var path=require(_0x0dc4('0x6'));var sox=require(_0x0dc4('0x7'));var csv=require(_0x0dc4('0x8'));var ejs=require(_0x0dc4('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0dc4('0xa'));var squel=require(_0x0dc4('0xb'));var crypto=require('crypto');var jsforce=require(_0x0dc4('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x0dc4('0x8'));var querystring=require(_0x0dc4('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x0dc4('0xe'));var qs=require(_0x0dc4('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0dc4('0x10'));var logger=require(_0x0dc4('0x11'))('api');var utils=require(_0x0dc4('0x12'));var config=require(_0x0dc4('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x0dc4('0x14'))['db'];function respondWithStatusCode(_0x1a144c,_0x51998c){_0x51998c=_0x51998c||0xcc;return function(_0x38e666){if(_0x38e666){return _0x1a144c[_0x0dc4('0x15')](_0x51998c);}return _0x1a144c[_0x0dc4('0x16')](_0x51998c)[_0x0dc4('0x17')]();};}function respondWithResult(_0xac3f5b,_0x58feb1){_0x58feb1=_0x58feb1||0xc8;return function(_0x89733f){if(_0x89733f){return _0xac3f5b[_0x0dc4('0x16')](_0x58feb1)[_0x0dc4('0x18')](_0x89733f);}};}function respondWithFilteredResult(_0x379921,_0x6979e2){return function(_0x55400e){if(_0x55400e){var _0x47b02f=typeof _0x6979e2[_0x0dc4('0x19')]==='undefined'&&typeof _0x6979e2[_0x0dc4('0x1a')]==='undefined';var _0x193a04=_0x55400e[_0x0dc4('0x1b')];var _0x537bd2=_0x47b02f?0x0:_0x6979e2[_0x0dc4('0x19')];var _0x2642d1=_0x47b02f?_0x55400e[_0x0dc4('0x1b')]:_0x6979e2[_0x0dc4('0x19')]+_0x6979e2['limit'];var _0x646a85;if(_0x2642d1>=_0x193a04){_0x2642d1=_0x193a04;_0x646a85=0xc8;}else{_0x646a85=0xce;}_0x379921[_0x0dc4('0x16')](_0x646a85);return _0x379921[_0x0dc4('0x1c')]('Content-Range',_0x537bd2+'-'+_0x2642d1+'/'+_0x193a04)[_0x0dc4('0x18')](_0x55400e);}return null;};}function patchUpdates(_0x4b7248){return function(_0x1faf2a){try{jsonpatch[_0x0dc4('0x1d')](_0x1faf2a,_0x4b7248,!![]);}catch(_0x42da04){return BPromise[_0x0dc4('0x1e')](_0x42da04);}return _0x1faf2a['save']();};}function saveUpdates(_0x2c6f71,_0x405411){return function(_0x4fd2c8){if(_0x4fd2c8){return _0x4fd2c8[_0x0dc4('0x1f')](_0x2c6f71)[_0x0dc4('0x20')](function(_0x3a2f12){return _0x3a2f12;});}return null;};}function removeEntity(_0x494b6e,_0xa6438e){return function(_0x13e1f8){if(_0x13e1f8){return _0x13e1f8[_0x0dc4('0x21')]()[_0x0dc4('0x20')](function(){_0x494b6e[_0x0dc4('0x16')](0xcc)[_0x0dc4('0x17')]();});}};}function handleEntityNotFound(_0x5cfee0,_0x105b73){return function(_0x53a4dd){if(!_0x53a4dd){_0x5cfee0['sendStatus'](0x194);}return _0x53a4dd;};}function handleError(_0x20e4a0,_0x38bd0f){_0x38bd0f=_0x38bd0f||0x1f4;return function(_0x43ba2b){logger['error'](_0x43ba2b['stack']);if(_0x43ba2b[_0x0dc4('0x22')]){delete _0x43ba2b[_0x0dc4('0x22')];}_0x20e4a0[_0x0dc4('0x16')](_0x38bd0f)['send'](_0x43ba2b);};}var utilLicense=require('../../config/license/util');exports['index']=function(_0xdc3f02,_0x55f347){var _0x119ea5={'raw':!![],'where':{'id':0x1}},_0x3d690a={};_0x3d690a[_0x0dc4('0x23')]=_['keys'](db[_0x0dc4('0x24')][_0x0dc4('0x25')]);_0x3d690a[_0x0dc4('0x26')]=_['keys'](_0xdc3f02[_0x0dc4('0x26')]);_0x3d690a['filters']=_[_0x0dc4('0x27')](_0x3d690a[_0x0dc4('0x23')],_0x3d690a[_0x0dc4('0x26')]);_0x119ea5['attributes']=_[_0x0dc4('0x27')](_0x3d690a[_0x0dc4('0x23')],qs[_0x0dc4('0x28')](_0xdc3f02[_0x0dc4('0x26')][_0x0dc4('0x28')]));_0x119ea5[_0x0dc4('0x29')]=_0x119ea5[_0x0dc4('0x29')][_0x0dc4('0x2a')]?_0x119ea5['attributes']:_0x3d690a[_0x0dc4('0x23')];_0x119ea5=_['merge']({},_0x119ea5,_0xdc3f02['options']);return utilLicense['getLicense'](_0x119ea5)[_0x0dc4('0x20')](respondWithResult(_0x55f347,null))[_0x0dc4('0x2b')](handleError(_0x55f347,null));};exports['update']=function(_0x56df45,_0x4caf38){if(_0x56df45[_0x0dc4('0x2c')]['id']){delete _0x56df45[_0x0dc4('0x2c')]['id'];}return db[_0x0dc4('0x24')][_0x0dc4('0x2d')]({'where':{'id':_0x56df45['params']['id']}})[_0x0dc4('0x20')](handleEntityNotFound(_0x4caf38,null))['then'](function(_0x130c59){var _0x4896f8=_0x130c59['get']({'plain':!![]});return utilLicense['checkLicense'](_0x4896f8,_0x56df45[_0x0dc4('0x2c')][_0x0dc4('0x2e')]);})[_0x0dc4('0x20')](function(_0x2c0eda){if(!_0x2c0eda[_0x0dc4('0x2f')]){return saveUpdates(_0x56df45[_0x0dc4('0x2c')],null);}return _0x2c0eda;})['then'](respondWithResult(_0x4caf38,null))[_0x0dc4('0x2b')](handleError(_0x4caf38,null));};exports['downloadLogFile']=function(_0x533371,_0x38adc6){var _0x55e0d3=_0x0dc4('0x30');var _0x244f80=path['join'](_0x0dc4('0x31'),_0x0dc4('0x32'),'xcally',_0x55e0d3);_0x38adc6[_0x0dc4('0x33')]('Content-disposition',_0x0dc4('0x34')+_0x55e0d3);_0x38adc6[_0x0dc4('0x1c')](_0x0dc4('0x35'),_0x0dc4('0x36'));_0x38adc6['download'](_0x244f80);};