Built motion from commit 6362bb75.|2.6.13
[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 _0xda9f=['bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','limit','count','set','Content-Range','apply','reject','save','update','then','sendStatus','error','stack','name','send','index','model','keys','rawAttributes','query','filters','intersection','attributes','fields','length','merge','options','getLicense','catch','body','params','get','key','demo','downloadLogFile','license-info.log','/var','log','setHeader','Content-disposition','Content-Type','text/plain','download','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment'];(function(_0x2726ad,_0x5073b1){var _0xd87993=function(_0x1cb35b){while(--_0x1cb35b){_0x2726ad['push'](_0x2726ad['shift']());}};_0xd87993(++_0x5073b1);}(_0xda9f,0x1b6));var _0xfda9=function(_0x1131af,_0x38c6c3){_0x1131af=_0x1131af-0x0;var _0x1b95a4=_0xda9f[_0x1131af];return _0x1b95a4;};'use strict';var emlformat=require(_0xfda9('0x0'));var rimraf=require(_0xfda9('0x1'));var zipdir=require(_0xfda9('0x2'));var jsonpatch=require(_0xfda9('0x3'));var rp=require(_0xfda9('0x4'));var moment=require(_0xfda9('0x5'));var BPromise=require(_0xfda9('0x6'));var Mustache=require('mustache');var util=require(_0xfda9('0x7'));var path=require(_0xfda9('0x8'));var sox=require(_0xfda9('0x9'));var csv=require(_0xfda9('0xa'));var ejs=require(_0xfda9('0xb'));var fs=require('fs');var fs_extra=require(_0xfda9('0xc'));var _=require(_0xfda9('0xd'));var squel=require(_0xfda9('0xe'));var crypto=require(_0xfda9('0xf'));var jsforce=require('jsforce');var deskjs=require(_0xfda9('0x10'));var toCsv=require(_0xfda9('0xa'));var querystring=require(_0xfda9('0x11'));var Papa=require(_0xfda9('0x12'));var Redis=require(_0xfda9('0x13'));var authService=require(_0xfda9('0x14'));var qs=require(_0xfda9('0x15'));var as=require(_0xfda9('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfda9('0x17'))('api');var utils=require(_0xfda9('0x18'));var config=require(_0xfda9('0x19'));var licenseUtil=require(_0xfda9('0x1a'));var db=require(_0xfda9('0x1b'))['db'];function respondWithStatusCode(_0x315314,_0x5f5b91){_0x5f5b91=_0x5f5b91||0xcc;return function(_0x5ea138){if(_0x5ea138){return _0x315314['sendStatus'](_0x5f5b91);}return _0x315314['status'](_0x5f5b91)[_0xfda9('0x1c')]();};}function respondWithResult(_0x319908,_0x5ecdaf){_0x5ecdaf=_0x5ecdaf||0xc8;return function(_0xfd09ca){if(_0xfd09ca){return _0x319908[_0xfda9('0x1d')](_0x5ecdaf)[_0xfda9('0x1e')](_0xfd09ca);}};}function respondWithFilteredResult(_0x124844,_0x34b357){return function(_0x1a05e1){if(_0x1a05e1){var _0x4fbf3b=typeof _0x34b357[_0xfda9('0x1f')]==='undefined'&&typeof _0x34b357[_0xfda9('0x20')]==='undefined';var _0x580285=_0x1a05e1[_0xfda9('0x21')];var _0x2ed749=_0x4fbf3b?0x0:_0x34b357[_0xfda9('0x1f')];var _0x189fe5=_0x4fbf3b?_0x1a05e1[_0xfda9('0x21')]:_0x34b357[_0xfda9('0x1f')]+_0x34b357[_0xfda9('0x20')];var _0x3c1871;if(_0x189fe5>=_0x580285){_0x189fe5=_0x580285;_0x3c1871=0xc8;}else{_0x3c1871=0xce;}_0x124844[_0xfda9('0x1d')](_0x3c1871);return _0x124844[_0xfda9('0x22')](_0xfda9('0x23'),_0x2ed749+'-'+_0x189fe5+'/'+_0x580285)[_0xfda9('0x1e')](_0x1a05e1);}return null;};}function patchUpdates(_0x312921){return function(_0xc3f4ec){try{jsonpatch[_0xfda9('0x24')](_0xc3f4ec,_0x312921,!![]);}catch(_0xd2cb6b){return BPromise[_0xfda9('0x25')](_0xd2cb6b);}return _0xc3f4ec[_0xfda9('0x26')]();};}function saveUpdates(_0xab18,_0x1ff8a9){return function(_0x58e21){if(_0x58e21){return _0x58e21[_0xfda9('0x27')](_0xab18)[_0xfda9('0x28')](function(_0x268e79){return _0x268e79;});}return null;};}function removeEntity(_0x5dcacb,_0xc1e74e){return function(_0x131cf2){if(_0x131cf2){return _0x131cf2['destroy']()[_0xfda9('0x28')](function(){_0x5dcacb['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xfb871c,_0x134890){return function(_0x16e31f){if(!_0x16e31f){_0xfb871c[_0xfda9('0x29')](0x194);}return _0x16e31f;};}function handleError(_0x192b72,_0x4ecf74){_0x4ecf74=_0x4ecf74||0x1f4;return function(_0x47e343){logger[_0xfda9('0x2a')](_0x47e343[_0xfda9('0x2b')]);if(_0x47e343[_0xfda9('0x2c')]){delete _0x47e343[_0xfda9('0x2c')];}_0x192b72[_0xfda9('0x1d')](_0x4ecf74)[_0xfda9('0x2d')](_0x47e343);};}var utilLicense=require('../../config/license/util');exports[_0xfda9('0x2e')]=function(_0xa8ba64,_0x15825b){var _0x497732={'raw':!![],'where':{'id':0x1}},_0x565fcf={};_0x565fcf[_0xfda9('0x2f')]=_[_0xfda9('0x30')](db['License'][_0xfda9('0x31')]);_0x565fcf[_0xfda9('0x32')]=_['keys'](_0xa8ba64[_0xfda9('0x32')]);_0x565fcf[_0xfda9('0x33')]=_[_0xfda9('0x34')](_0x565fcf['model'],_0x565fcf[_0xfda9('0x32')]);_0x497732[_0xfda9('0x35')]=_['intersection'](_0x565fcf[_0xfda9('0x2f')],qs[_0xfda9('0x36')](_0xa8ba64[_0xfda9('0x32')]['fields']));_0x497732[_0xfda9('0x35')]=_0x497732['attributes'][_0xfda9('0x37')]?_0x497732[_0xfda9('0x35')]:_0x565fcf[_0xfda9('0x2f')];_0x497732=_[_0xfda9('0x38')]({},_0x497732,_0xa8ba64[_0xfda9('0x39')]);return utilLicense[_0xfda9('0x3a')](_0x497732)[_0xfda9('0x28')](respondWithResult(_0x15825b,null))[_0xfda9('0x3b')](handleError(_0x15825b,null));};exports[_0xfda9('0x27')]=function(_0x179dff,_0x74f15e){if(_0x179dff[_0xfda9('0x3c')]['id']){delete _0x179dff[_0xfda9('0x3c')]['id'];}return db['License']['find']({'where':{'id':_0x179dff[_0xfda9('0x3d')]['id']}})[_0xfda9('0x28')](handleEntityNotFound(_0x74f15e,null))['then'](function(_0x356cd0){var _0x3b0c19=_0x356cd0[_0xfda9('0x3e')]({'plain':!![]});return utilLicense['checkLicense'](_0x3b0c19,_0x179dff[_0xfda9('0x3c')][_0xfda9('0x3f')]);})['then'](function(_0x4786d3){if(!_0x4786d3[_0xfda9('0x40')]){return saveUpdates(_0x179dff[_0xfda9('0x3c')],null);}return _0x4786d3;})[_0xfda9('0x28')](respondWithResult(_0x74f15e,null))[_0xfda9('0x3b')](handleError(_0x74f15e,null));};exports[_0xfda9('0x41')]=function(_0x2ad6f9,_0x3d74fe){var _0x4ebb81=_0xfda9('0x42');var _0x48c26b=path['join'](_0xfda9('0x43'),_0xfda9('0x44'),'xcally',_0x4ebb81);_0x3d74fe[_0xfda9('0x45')](_0xfda9('0x46'),'attachment;\x20filename='+_0x4ebb81);_0x3d74fe[_0xfda9('0x22')](_0xfda9('0x47'),_0xfda9('0x48'));_0x3d74fe[_0xfda9('0x49')](_0x48c26b);};