408047b406faa501835f428c464a6b883ed116c3
[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 _0x54c7=['jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','set','apply','reject','save','update','destroy','then','error','stack','name','send','../../config/license/util','index','model','keys','rawAttributes','query','attributes','intersection','fields','length','catch','body','License','find','params','get','checkLicense','key','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','to-csv','lodash','crypto'];(function(_0x46c02f,_0x157f3e){var _0xbd0c9c=function(_0x228106){while(--_0x228106){_0x46c02f['push'](_0x46c02f['shift']());}};_0xbd0c9c(++_0x157f3e);}(_0x54c7,0x104));var _0x754c=function(_0x270555,_0x2837dd){_0x270555=_0x270555-0x0;var _0x53d2d6=_0x54c7[_0x270555];return _0x53d2d6;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x754c('0x0'));var zipdir=require(_0x754c('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x754c('0x2'));var moment=require(_0x754c('0x3'));var BPromise=require(_0x754c('0x4'));var Mustache=require(_0x754c('0x5'));var util=require(_0x754c('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x754c('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x754c('0x8'));var squel=require('squel');var crypto=require(_0x754c('0x9'));var jsforce=require(_0x754c('0xa'));var deskjs=require(_0x754c('0xb'));var toCsv=require(_0x754c('0x7'));var querystring=require(_0x754c('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x754c('0xd'));var as=require(_0x754c('0xe'));var hardwareService=require(_0x754c('0xf'));var logger=require(_0x754c('0x10'))('api');var utils=require('../../config/utils');var config=require(_0x754c('0x11'));var db=require(_0x754c('0x12'))['db'];function respondWithStatusCode(_0x424391,_0x77e497){_0x77e497=_0x77e497||0xcc;return function(_0x53694a){if(_0x53694a){return _0x424391[_0x754c('0x13')](_0x77e497);}return _0x424391[_0x754c('0x14')](_0x77e497)[_0x754c('0x15')]();};}function respondWithResult(_0x117e17,_0x31c575){_0x31c575=_0x31c575||0xc8;return function(_0x194409){if(_0x194409){return _0x117e17[_0x754c('0x14')](_0x31c575)[_0x754c('0x16')](_0x194409);}};}function respondWithFilteredResult(_0x5ada9e,_0x1b8bd0){return function(_0x2ad436){if(_0x2ad436){var _0x16645c=_0x2ad436['count'],_0x283e75=_0x1b8bd0[_0x754c('0x17')],_0xc8022b=_0x1b8bd0['offset']+_0x1b8bd0[_0x754c('0x18')],_0x4bddc7;if(_0xc8022b>=_0x16645c){_0xc8022b=_0x16645c;_0x4bddc7=0xc8;}else{_0x4bddc7=0xce;}_0x5ada9e[_0x754c('0x14')](_0x4bddc7);return _0x5ada9e[_0x754c('0x19')]('Content-Range',_0x283e75+'-'+_0xc8022b+'/'+_0x16645c)['json'](_0x2ad436);}return null;};}function patchUpdates(_0x4607be){return function(_0x3fb9c9){try{jsonpatch[_0x754c('0x1a')](_0x3fb9c9,_0x4607be,!![]);}catch(_0x377871){return BPromise[_0x754c('0x1b')](_0x377871);}return _0x3fb9c9[_0x754c('0x1c')]();};}function saveUpdates(_0x395f94,_0x1fb755){return function(_0x37489b){if(_0x37489b){return _0x37489b[_0x754c('0x1d')](_0x395f94)['then'](function(_0x27f111){return _0x27f111;});}return null;};}function removeEntity(_0x1671e0,_0x404226){return function(_0x355b33){if(_0x355b33){return _0x355b33[_0x754c('0x1e')]()[_0x754c('0x1f')](function(){_0x1671e0[_0x754c('0x14')](0xcc)[_0x754c('0x15')]();});}};}function handleEntityNotFound(_0x4b4bcb,_0x1ed7dd){return function(_0x314ca2){if(!_0x314ca2){_0x4b4bcb[_0x754c('0x13')](0x194);}return _0x314ca2;};}function handleError(_0x63d17e,_0xc899b){_0xc899b=_0xc899b||0x1f4;return function(_0x43c77b){logger[_0x754c('0x20')](_0x43c77b[_0x754c('0x21')]);if(_0x43c77b[_0x754c('0x22')]){delete _0x43c77b['name'];}_0x63d17e['status'](_0xc899b)[_0x754c('0x23')](_0x43c77b);};}var utilLicense=require(_0x754c('0x24'));exports[_0x754c('0x25')]=function(_0x527269,_0x1ffdcd){var _0x46e085={'raw':!![],'where':{'id':0x1}},_0x4b49c8={};_0x4b49c8[_0x754c('0x26')]=_[_0x754c('0x27')](db['License'][_0x754c('0x28')]);_0x4b49c8[_0x754c('0x29')]=_[_0x754c('0x27')](_0x527269[_0x754c('0x29')]);_0x4b49c8['filters']=_['intersection'](_0x4b49c8[_0x754c('0x26')],_0x4b49c8['query']);_0x46e085[_0x754c('0x2a')]=_[_0x754c('0x2b')](_0x4b49c8['model'],qs[_0x754c('0x2c')](_0x527269[_0x754c('0x29')][_0x754c('0x2c')]));_0x46e085[_0x754c('0x2a')]=_0x46e085[_0x754c('0x2a')][_0x754c('0x2d')]?_0x46e085[_0x754c('0x2a')]:_0x4b49c8['model'];_0x46e085=_['merge']({},_0x46e085,_0x527269['options']);return utilLicense['getLicense'](_0x46e085)[_0x754c('0x1f')](respondWithResult(_0x1ffdcd,null))[_0x754c('0x2e')](handleError(_0x1ffdcd,null));};exports['update']=function(_0x4b5382,_0x1d6087){if(_0x4b5382['body']['id']){delete _0x4b5382[_0x754c('0x2f')]['id'];}return db[_0x754c('0x30')][_0x754c('0x31')]({'where':{'id':_0x4b5382[_0x754c('0x32')]['id']}})[_0x754c('0x1f')](handleEntityNotFound(_0x1d6087,null))[_0x754c('0x1f')](function(_0x2ed291){var _0x11abe1=_0x2ed291[_0x754c('0x33')]({'plain':!![]});return utilLicense[_0x754c('0x34')](_0x11abe1,_0x4b5382[_0x754c('0x2f')][_0x754c('0x35')]);})['then'](function(_0xa7bb1a){if(!_0xa7bb1a['demo']){return saveUpdates(_0x4b5382['body'],null);}return _0xa7bb1a;})[_0x754c('0x1f')](respondWithResult(_0x1d6087,null))[_0x754c('0x2e')](handleError(_0x1d6087,null));};