c5db7f834c7ce66db5334fc6ac6601c88ff8c50c
[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 _0x15c7=['squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','then','destroy','error','stack','name','index','keys','License','rawAttributes','query','filters','intersection','model','fields','attributes','length','options','getLicense','catch','update','body','find','params','get','checkLicense','key','demo','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','ejs','lodash'];(function(_0x10f6a1,_0x316e0e){var _0x4b0ab0=function(_0x4b54ed){while(--_0x4b54ed){_0x10f6a1['push'](_0x10f6a1['shift']());}};_0x4b0ab0(++_0x316e0e);}(_0x15c7,0x69));var _0x715c=function(_0x17d06c,_0x178e97){_0x17d06c=_0x17d06c-0x0;var _0x33252b=_0x15c7[_0x17d06c];return _0x33252b;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x715c('0x0'));var rimraf=require(_0x715c('0x1'));var zipdir=require(_0x715c('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x715c('0x3'));var moment=require(_0x715c('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x715c('0x5'));var util=require(_0x715c('0x6'));var path=require(_0x715c('0x7'));var sox=require(_0x715c('0x8'));var csv=require('to-csv');var ejs=require(_0x715c('0x9'));var fs=require('fs');var _=require(_0x715c('0xa'));var squel=require(_0x715c('0xb'));var crypto=require(_0x715c('0xc'));var jsforce=require(_0x715c('0xd'));var deskjs=require(_0x715c('0xe'));var toCsv=require(_0x715c('0xf'));var querystring=require(_0x715c('0x10'));var Papa=require('papaparse');var Redis=require(_0x715c('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x715c('0x12'))('api');var utils=require(_0x715c('0x13'));var config=require(_0x715c('0x14'));var db=require(_0x715c('0x15'))['db'];function respondWithStatusCode(_0x3ea0f7,_0x5e3028){_0x5e3028=_0x5e3028||0xcc;return function(_0x241e29){if(_0x241e29){return _0x3ea0f7[_0x715c('0x16')](_0x5e3028);}return _0x3ea0f7[_0x715c('0x17')](_0x5e3028)[_0x715c('0x18')]();};}function respondWithResult(_0x988ef7,_0x48cdda){_0x48cdda=_0x48cdda||0xc8;return function(_0x5a765f){if(_0x5a765f){return _0x988ef7[_0x715c('0x17')](_0x48cdda)[_0x715c('0x19')](_0x5a765f);}};}function respondWithFilteredResult(_0x45357b,_0x2ba0bc){return function(_0x8f81b){if(_0x8f81b){var _0x8614d0=_0x8f81b[_0x715c('0x1a')],_0x14724e=_0x2ba0bc[_0x715c('0x1b')],_0x50929b=_0x2ba0bc[_0x715c('0x1b')]+_0x2ba0bc[_0x715c('0x1c')],_0x334973;if(_0x50929b>=_0x8614d0){_0x50929b=_0x8614d0;_0x334973=0xc8;}else{_0x334973=0xce;}_0x45357b[_0x715c('0x17')](_0x334973);return _0x45357b[_0x715c('0x1d')](_0x715c('0x1e'),_0x14724e+'-'+_0x50929b+'/'+_0x8614d0)['json'](_0x8f81b);}return null;};}function patchUpdates(_0x47f390){return function(_0x5d4b1b){try{jsonpatch['apply'](_0x5d4b1b,_0x47f390,!![]);}catch(_0x423ba6){return BPromise['reject'](_0x423ba6);}return _0x5d4b1b['save']();};}function saveUpdates(_0x39b386,_0x1f4da0){return function(_0x38864f){if(_0x38864f){return _0x38864f['update'](_0x39b386)[_0x715c('0x1f')](function(_0x49f812){return _0x49f812;});}return null;};}function removeEntity(_0x4af78c,_0xcd4ce){return function(_0x1ac290){if(_0x1ac290){return _0x1ac290[_0x715c('0x20')]()[_0x715c('0x1f')](function(){_0x4af78c[_0x715c('0x17')](0xcc)[_0x715c('0x18')]();});}};}function handleEntityNotFound(_0x38b4fc,_0xa6d0b9){return function(_0x426ff6){if(!_0x426ff6){_0x38b4fc[_0x715c('0x16')](0x194);}return _0x426ff6;};}function handleError(_0x29c4c7,_0x4bae51){_0x4bae51=_0x4bae51||0x1f4;return function(_0x50358b){logger[_0x715c('0x21')](_0x50358b[_0x715c('0x22')]);if(_0x50358b[_0x715c('0x23')]){delete _0x50358b[_0x715c('0x23')];}_0x29c4c7[_0x715c('0x17')](_0x4bae51)['send'](_0x50358b);};}var utilLicense=require('../../config/license/util');exports[_0x715c('0x24')]=function(_0x4c1c16,_0x2160e9){var _0x4e39d2={'raw':!![],'where':{'id':0x1}},_0x88f284={};_0x88f284['model']=_[_0x715c('0x25')](db[_0x715c('0x26')][_0x715c('0x27')]);_0x88f284['query']=_['keys'](_0x4c1c16[_0x715c('0x28')]);_0x88f284[_0x715c('0x29')]=_[_0x715c('0x2a')](_0x88f284[_0x715c('0x2b')],_0x88f284[_0x715c('0x28')]);_0x4e39d2['attributes']=_['intersection'](_0x88f284['model'],qs[_0x715c('0x2c')](_0x4c1c16[_0x715c('0x28')]['fields']));_0x4e39d2['attributes']=_0x4e39d2[_0x715c('0x2d')][_0x715c('0x2e')]?_0x4e39d2[_0x715c('0x2d')]:_0x88f284[_0x715c('0x2b')];_0x4e39d2=_['merge']({},_0x4e39d2,_0x4c1c16[_0x715c('0x2f')]);return utilLicense[_0x715c('0x30')](_0x4e39d2)[_0x715c('0x1f')](respondWithResult(_0x2160e9,null))[_0x715c('0x31')](handleError(_0x2160e9,null));};exports[_0x715c('0x32')]=function(_0x1bd165,_0x5caf1e){if(_0x1bd165[_0x715c('0x33')]['id']){delete _0x1bd165['body']['id'];}return db[_0x715c('0x26')][_0x715c('0x34')]({'where':{'id':_0x1bd165[_0x715c('0x35')]['id']}})[_0x715c('0x1f')](handleEntityNotFound(_0x5caf1e,null))[_0x715c('0x1f')](function(_0x24532e){var _0x39108f=_0x24532e[_0x715c('0x36')]({'plain':!![]});return utilLicense[_0x715c('0x37')](_0x39108f,_0x1bd165[_0x715c('0x33')][_0x715c('0x38')]);})['then'](function(_0x4585ac){if(!_0x4585ac[_0x715c('0x39')]){return saveUpdates(_0x1bd165[_0x715c('0x33')],null);}return _0x4585ac;})[_0x715c('0x1f')](respondWithResult(_0x5caf1e,null))[_0x715c('0x31')](handleError(_0x5caf1e,null));};