80e28081777e841eeee65884d13741485c317c80
[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 _0xcb1e=['../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','offset','undefined','limit','count','status','set','Content-Range','apply','update','then','destroy','end','error','stack','name','send','model','keys','License','rawAttributes','query','filters','intersection','fields','attributes','length','getLicense','body','find','checkLicense','key','demo','catch','downloadLogFile','license-info.log','join','/var','xcally','Content-disposition','attachment;\x20filename=','Content-Type','text/plain','download','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x1d7fab,_0x3dfa49){var _0x1d27f0=function(_0x1047ff){while(--_0x1047ff){_0x1d7fab['push'](_0x1d7fab['shift']());}};_0x1d27f0(++_0x3dfa49);}(_0xcb1e,0xbd));var _0xecb1=function(_0x239dba,_0x309e95){_0x239dba=_0x239dba-0x0;var _0x1ceb11=_0xcb1e[_0x239dba];return _0x1ceb11;};'use strict';var emlformat=require(_0xecb1('0x0'));var rimraf=require(_0xecb1('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xecb1('0x2'));var moment=require(_0xecb1('0x3'));var BPromise=require(_0xecb1('0x4'));var Mustache=require(_0xecb1('0x5'));var util=require(_0xecb1('0x6'));var path=require(_0xecb1('0x7'));var sox=require('sox');var csv=require(_0xecb1('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xecb1('0x9'));var _=require(_0xecb1('0xa'));var squel=require(_0xecb1('0xb'));var crypto=require('crypto');var jsforce=require(_0xecb1('0xc'));var deskjs=require(_0xecb1('0xd'));var toCsv=require(_0xecb1('0x8'));var querystring=require(_0xecb1('0xe'));var Papa=require(_0xecb1('0xf'));var Redis=require(_0xecb1('0x10'));var authService=require(_0xecb1('0x11'));var qs=require(_0xecb1('0x12'));var as=require(_0xecb1('0x13'));var hardwareService=require(_0xecb1('0x14'));var logger=require(_0xecb1('0x15'))(_0xecb1('0x16'));var utils=require(_0xecb1('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xecb1('0x18'));var db=require(_0xecb1('0x19'))['db'];function respondWithStatusCode(_0x463d31,_0x3ab780){_0x3ab780=_0x3ab780||0xcc;return function(_0x44e743){if(_0x44e743){return _0x463d31[_0xecb1('0x1a')](_0x3ab780);}return _0x463d31['status'](_0x3ab780)['end']();};}function respondWithResult(_0x266f55,_0x528c53){_0x528c53=_0x528c53||0xc8;return function(_0x3094b9){if(_0x3094b9){return _0x266f55['status'](_0x528c53)['json'](_0x3094b9);}};}function respondWithFilteredResult(_0x1f84e0,_0x13f5d7){return function(_0x52520f){if(_0x52520f){var _0x29ab2e=typeof _0x13f5d7[_0xecb1('0x1b')]===_0xecb1('0x1c')&&typeof _0x13f5d7[_0xecb1('0x1d')]==='undefined';var _0x4142a0=_0x52520f[_0xecb1('0x1e')];var _0x3c8bc8=_0x29ab2e?0x0:_0x13f5d7[_0xecb1('0x1b')];var _0x3c5482=_0x29ab2e?_0x52520f[_0xecb1('0x1e')]:_0x13f5d7[_0xecb1('0x1b')]+_0x13f5d7[_0xecb1('0x1d')];var _0x20beca;if(_0x3c5482>=_0x4142a0){_0x3c5482=_0x4142a0;_0x20beca=0xc8;}else{_0x20beca=0xce;}_0x1f84e0[_0xecb1('0x1f')](_0x20beca);return _0x1f84e0[_0xecb1('0x20')](_0xecb1('0x21'),_0x3c8bc8+'-'+_0x3c5482+'/'+_0x4142a0)['json'](_0x52520f);}return null;};}function patchUpdates(_0x3c40d6){return function(_0x4eeff6){try{jsonpatch[_0xecb1('0x22')](_0x4eeff6,_0x3c40d6,!![]);}catch(_0x5e1315){return BPromise['reject'](_0x5e1315);}return _0x4eeff6['save']();};}function saveUpdates(_0xab4097,_0x11c69f){return function(_0x3f8bff){if(_0x3f8bff){return _0x3f8bff[_0xecb1('0x23')](_0xab4097)[_0xecb1('0x24')](function(_0x230549){return _0x230549;});}return null;};}function removeEntity(_0x24e1fd,_0x2f1935){return function(_0x202dcb){if(_0x202dcb){return _0x202dcb[_0xecb1('0x25')]()['then'](function(){_0x24e1fd[_0xecb1('0x1f')](0xcc)[_0xecb1('0x26')]();});}};}function handleEntityNotFound(_0x211b66,_0x42fc84){return function(_0x44147c){if(!_0x44147c){_0x211b66[_0xecb1('0x1a')](0x194);}return _0x44147c;};}function handleError(_0x29476b,_0xcecd8e){_0xcecd8e=_0xcecd8e||0x1f4;return function(_0x23c9cc){logger[_0xecb1('0x27')](_0x23c9cc[_0xecb1('0x28')]);if(_0x23c9cc[_0xecb1('0x29')]){delete _0x23c9cc[_0xecb1('0x29')];}_0x29476b[_0xecb1('0x1f')](_0xcecd8e)[_0xecb1('0x2a')](_0x23c9cc);};}var utilLicense=require(_0xecb1('0x18'));exports['index']=function(_0x2aecef,_0x4d63b8){var _0x2e2634={'raw':!![],'where':{'id':0x1}},_0x168bc2={};_0x168bc2[_0xecb1('0x2b')]=_[_0xecb1('0x2c')](db[_0xecb1('0x2d')][_0xecb1('0x2e')]);_0x168bc2[_0xecb1('0x2f')]=_[_0xecb1('0x2c')](_0x2aecef[_0xecb1('0x2f')]);_0x168bc2[_0xecb1('0x30')]=_[_0xecb1('0x31')](_0x168bc2[_0xecb1('0x2b')],_0x168bc2['query']);_0x2e2634['attributes']=_[_0xecb1('0x31')](_0x168bc2[_0xecb1('0x2b')],qs[_0xecb1('0x32')](_0x2aecef[_0xecb1('0x2f')][_0xecb1('0x32')]));_0x2e2634[_0xecb1('0x33')]=_0x2e2634['attributes'][_0xecb1('0x34')]?_0x2e2634[_0xecb1('0x33')]:_0x168bc2[_0xecb1('0x2b')];_0x2e2634=_['merge']({},_0x2e2634,_0x2aecef['options']);return utilLicense[_0xecb1('0x35')](_0x2e2634)[_0xecb1('0x24')](respondWithResult(_0x4d63b8,null))['catch'](handleError(_0x4d63b8,null));};exports['update']=function(_0x434ca5,_0x5ee0fe){if(_0x434ca5[_0xecb1('0x36')]['id']){delete _0x434ca5['body']['id'];}return db[_0xecb1('0x2d')][_0xecb1('0x37')]({'where':{'id':_0x434ca5['params']['id']}})[_0xecb1('0x24')](handleEntityNotFound(_0x5ee0fe,null))[_0xecb1('0x24')](function(_0x76a5fd){var _0x22e44b=_0x76a5fd['get']({'plain':!![]});return utilLicense[_0xecb1('0x38')](_0x22e44b,_0x434ca5['body'][_0xecb1('0x39')]);})[_0xecb1('0x24')](function(_0x96188d){if(!_0x96188d[_0xecb1('0x3a')]){return saveUpdates(_0x434ca5['body'],null);}return _0x96188d;})['then'](respondWithResult(_0x5ee0fe,null))[_0xecb1('0x3b')](handleError(_0x5ee0fe,null));};exports[_0xecb1('0x3c')]=function(_0x3bc342,_0x16f8a3){var _0x2d08e9=_0xecb1('0x3d');var _0x5afde1=path[_0xecb1('0x3e')](_0xecb1('0x3f'),'log',_0xecb1('0x40'),_0x2d08e9);_0x16f8a3['setHeader'](_0xecb1('0x41'),_0xecb1('0x42')+_0x2d08e9);_0x16f8a3[_0xecb1('0x20')](_0xecb1('0x43'),_0xecb1('0x44'));_0x16f8a3[_0xecb1('0x45')](_0x5afde1);};