a093d36e884fed2add55f9e82f03ef3dc2a5b118
[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 _0x60c2=['update','then','destroy','error','name','index','keys','License','rawAttributes','query','filters','model','attributes','intersection','fields','length','catch','body','find','get','checkLicense','key','demo','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject'];(function(_0xd1b9bd,_0xfc2a60){var _0x316a27=function(_0x465dd9){while(--_0x465dd9){_0xd1b9bd['push'](_0xd1b9bd['shift']());}};_0x316a27(++_0xfc2a60);}(_0x60c2,0x8f));var _0x260c=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x60c2[_0xa464c9];return _0x3d73c4;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x260c('0x0'));var rimraf=require(_0x260c('0x1'));var zipdir=require(_0x260c('0x2'));var jsonpatch=require(_0x260c('0x3'));var rp=require(_0x260c('0x4'));var moment=require(_0x260c('0x5'));var BPromise=require(_0x260c('0x6'));var Mustache=require(_0x260c('0x7'));var util=require(_0x260c('0x8'));var path=require(_0x260c('0x9'));var sox=require(_0x260c('0xa'));var csv=require(_0x260c('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x260c('0xc'));var squel=require(_0x260c('0xd'));var crypto=require(_0x260c('0xe'));var jsforce=require(_0x260c('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x260c('0xb'));var querystring=require(_0x260c('0x10'));var Papa=require(_0x260c('0x11'));var Redis=require(_0x260c('0x12'));var authService=require(_0x260c('0x13'));var qs=require(_0x260c('0x14'));var as=require(_0x260c('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x260c('0x16'))(_0x260c('0x17'));var utils=require(_0x260c('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x260c('0x19'));var db=require(_0x260c('0x1a'))['db'];function respondWithStatusCode(_0x191490,_0x5aed37){_0x5aed37=_0x5aed37||0xcc;return function(_0xc44e8d){if(_0xc44e8d){return _0x191490[_0x260c('0x1b')](_0x5aed37);}return _0x191490[_0x260c('0x1c')](_0x5aed37)[_0x260c('0x1d')]();};}function respondWithResult(_0x1d3775,_0x53df53){_0x53df53=_0x53df53||0xc8;return function(_0x3930b6){if(_0x3930b6){return _0x1d3775['status'](_0x53df53)[_0x260c('0x1e')](_0x3930b6);}};}function respondWithFilteredResult(_0x5a021c,_0x47edc1){return function(_0xd8b310){if(_0xd8b310){var _0x5299a4=_0xd8b310[_0x260c('0x1f')],_0x1a9b2a=_0x47edc1[_0x260c('0x20')],_0x27e864=_0x47edc1[_0x260c('0x20')]+_0x47edc1[_0x260c('0x21')],_0x411970;if(_0x27e864>=_0x5299a4){_0x27e864=_0x5299a4;_0x411970=0xc8;}else{_0x411970=0xce;}_0x5a021c[_0x260c('0x1c')](_0x411970);return _0x5a021c[_0x260c('0x22')](_0x260c('0x23'),_0x1a9b2a+'-'+_0x27e864+'/'+_0x5299a4)[_0x260c('0x1e')](_0xd8b310);}return null;};}function patchUpdates(_0x5a8a76){return function(_0xd977b){try{jsonpatch['apply'](_0xd977b,_0x5a8a76,!![]);}catch(_0xc79076){return BPromise[_0x260c('0x24')](_0xc79076);}return _0xd977b['save']();};}function saveUpdates(_0x1ccf81,_0xe824db){return function(_0x3cd55f){if(_0x3cd55f){return _0x3cd55f[_0x260c('0x25')](_0x1ccf81)[_0x260c('0x26')](function(_0x156f2b){return _0x156f2b;});}return null;};}function removeEntity(_0x4b5b7a,_0xd5b7d8){return function(_0x158bc6){if(_0x158bc6){return _0x158bc6[_0x260c('0x27')]()[_0x260c('0x26')](function(){_0x4b5b7a['status'](0xcc)[_0x260c('0x1d')]();});}};}function handleEntityNotFound(_0x304961,_0x461c8a){return function(_0x30eca9){if(!_0x30eca9){_0x304961['sendStatus'](0x194);}return _0x30eca9;};}function handleError(_0x3b111a,_0x4eb56f){_0x4eb56f=_0x4eb56f||0x1f4;return function(_0x3bdfce){logger[_0x260c('0x28')](_0x3bdfce['stack']);if(_0x3bdfce[_0x260c('0x29')]){delete _0x3bdfce[_0x260c('0x29')];}_0x3b111a['status'](_0x4eb56f)['send'](_0x3bdfce);};}var utilLicense=require(_0x260c('0x19'));exports[_0x260c('0x2a')]=function(_0x43a894,_0x21dc90){var _0x357790={'raw':!![],'where':{'id':0x1}},_0x3f70ec={};_0x3f70ec['model']=_[_0x260c('0x2b')](db[_0x260c('0x2c')][_0x260c('0x2d')]);_0x3f70ec[_0x260c('0x2e')]=_['keys'](_0x43a894[_0x260c('0x2e')]);_0x3f70ec[_0x260c('0x2f')]=_['intersection'](_0x3f70ec[_0x260c('0x30')],_0x3f70ec[_0x260c('0x2e')]);_0x357790[_0x260c('0x31')]=_[_0x260c('0x32')](_0x3f70ec[_0x260c('0x30')],qs[_0x260c('0x33')](_0x43a894[_0x260c('0x2e')][_0x260c('0x33')]));_0x357790['attributes']=_0x357790[_0x260c('0x31')][_0x260c('0x34')]?_0x357790['attributes']:_0x3f70ec[_0x260c('0x30')];_0x357790=_['merge']({},_0x357790,_0x43a894['options']);return utilLicense['getLicense'](_0x357790)[_0x260c('0x26')](respondWithResult(_0x21dc90,null))[_0x260c('0x35')](handleError(_0x21dc90,null));};exports['update']=function(_0x329279,_0x2b3cd9){if(_0x329279[_0x260c('0x36')]['id']){delete _0x329279[_0x260c('0x36')]['id'];}return db[_0x260c('0x2c')][_0x260c('0x37')]({'where':{'id':_0x329279['params']['id']}})[_0x260c('0x26')](handleEntityNotFound(_0x2b3cd9,null))[_0x260c('0x26')](function(_0x117c15){var _0x26ab6e=_0x117c15[_0x260c('0x38')]({'plain':!![]});return utilLicense[_0x260c('0x39')](_0x26ab6e,_0x329279[_0x260c('0x36')][_0x260c('0x3a')]);})[_0x260c('0x26')](function(_0x5554a5){if(!_0x5554a5[_0x260c('0x3b')]){return saveUpdates(_0x329279['body'],null);}return _0x5554a5;})['then'](respondWithResult(_0x2b3cd9,null))['catch'](handleError(_0x2b3cd9,null));};