2598c2c90deeee317aec2a3b5a89cce8f236be26
[motion2.git] / server / api / cmHopperBlack / cmHopperBlack.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 _0x7ea9=['length','includeAll','find','body','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','undefined','limit','count','offset','set','Content-Range','json','apply','save','update','destroy','then','sendStatus','error','stack','name','send','index','CmHopperBlack','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params'];(function(_0x175374,_0x3c2440){var _0x4e1f61=function(_0x23e306){while(--_0x23e306){_0x175374['push'](_0x175374['shift']());}};_0x4e1f61(++_0x3c2440);}(_0x7ea9,0xec));var _0x97ea=function(_0x4917bc,_0x39a348){_0x4917bc=_0x4917bc-0x0;var _0x4196c9=_0x7ea9[_0x4917bc];return _0x4196c9;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x97ea('0x0'));var zipdir=require(_0x97ea('0x1'));var jsonpatch=require(_0x97ea('0x2'));var rp=require(_0x97ea('0x3'));var moment=require(_0x97ea('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x97ea('0x5'));var util=require(_0x97ea('0x6'));var path=require(_0x97ea('0x7'));var sox=require('sox');var csv=require(_0x97ea('0x8'));var ejs=require(_0x97ea('0x9'));var fs=require('fs');var fs_extra=require(_0x97ea('0xa'));var _=require(_0x97ea('0xb'));var squel=require('squel');var crypto=require(_0x97ea('0xc'));var jsforce=require(_0x97ea('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x97ea('0x8'));var querystring=require('querystring');var Papa=require(_0x97ea('0xe'));var Redis=require('ioredis');var authService=require(_0x97ea('0xf'));var qs=require(_0x97ea('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x97ea('0x11'));var logger=require(_0x97ea('0x12'))(_0x97ea('0x13'));var utils=require(_0x97ea('0x14'));var config=require(_0x97ea('0x15'));var licenseUtil=require(_0x97ea('0x16'));var db=require(_0x97ea('0x17'))['db'];function respondWithStatusCode(_0xc9d2a5,_0x35831b){_0x35831b=_0x35831b||0xcc;return function(_0x18629c){if(_0x18629c){return _0xc9d2a5['sendStatus'](_0x35831b);}return _0xc9d2a5[_0x97ea('0x18')](_0x35831b)[_0x97ea('0x19')]();};}function respondWithResult(_0x514608,_0x2a5d6e){_0x2a5d6e=_0x2a5d6e||0xc8;return function(_0x2879fd){if(_0x2879fd){return _0x514608[_0x97ea('0x18')](_0x2a5d6e)['json'](_0x2879fd);}};}function respondWithFilteredResult(_0x1db904,_0x47727a){return function(_0x5df49d){if(_0x5df49d){var _0x68b624=typeof _0x47727a['offset']===_0x97ea('0x1a')&&typeof _0x47727a[_0x97ea('0x1b')]===_0x97ea('0x1a');var _0x391664=_0x5df49d[_0x97ea('0x1c')];var _0x2e9f07=_0x68b624?0x0:_0x47727a[_0x97ea('0x1d')];var _0x59f558=_0x68b624?_0x5df49d[_0x97ea('0x1c')]:_0x47727a[_0x97ea('0x1d')]+_0x47727a[_0x97ea('0x1b')];var _0x28149a;if(_0x59f558>=_0x391664){_0x59f558=_0x391664;_0x28149a=0xc8;}else{_0x28149a=0xce;}_0x1db904[_0x97ea('0x18')](_0x28149a);return _0x1db904[_0x97ea('0x1e')](_0x97ea('0x1f'),_0x2e9f07+'-'+_0x59f558+'/'+_0x391664)[_0x97ea('0x20')](_0x5df49d);}return null;};}function patchUpdates(_0x10c346){return function(_0x2a7107){try{jsonpatch[_0x97ea('0x21')](_0x2a7107,_0x10c346,!![]);}catch(_0x3c0c42){return BPromise['reject'](_0x3c0c42);}return _0x2a7107[_0x97ea('0x22')]();};}function saveUpdates(_0x2618b7,_0x54479f){return function(_0x10a3cf){if(_0x10a3cf){return _0x10a3cf[_0x97ea('0x23')](_0x2618b7)['then'](function(_0x5a7e85){return _0x5a7e85;});}return null;};}function removeEntity(_0x22e81e,_0x2690ba){return function(_0x22a8e0){if(_0x22a8e0){return _0x22a8e0[_0x97ea('0x24')]()[_0x97ea('0x25')](function(){_0x22e81e['status'](0xcc)[_0x97ea('0x19')]();});}};}function handleEntityNotFound(_0x29e9e,_0x55bc91){return function(_0x55da9e){if(!_0x55da9e){_0x29e9e[_0x97ea('0x26')](0x194);}return _0x55da9e;};}function handleError(_0x2e82d9,_0x44fa98){_0x44fa98=_0x44fa98||0x1f4;return function(_0x2c69aa){logger[_0x97ea('0x27')](_0x2c69aa[_0x97ea('0x28')]);if(_0x2c69aa[_0x97ea('0x29')]){delete _0x2c69aa[_0x97ea('0x29')];}_0x2e82d9[_0x97ea('0x18')](_0x44fa98)[_0x97ea('0x2a')](_0x2c69aa);};}exports[_0x97ea('0x2b')]=function(_0x1d1a15,_0x8dfdd9){var _0x57dc1e={},_0x334464={},_0x31615e={'count':0x0,'rows':[]};var _0x56c2a6=_['map'](db[_0x97ea('0x2c')][_0x97ea('0x2d')],function(_0x41af05){return{'name':_0x41af05[_0x97ea('0x2e')],'type':_0x41af05[_0x97ea('0x2f')][_0x97ea('0x30')]};});_0x334464[_0x97ea('0x31')]=_[_0x97ea('0x32')](_0x56c2a6,_0x97ea('0x29'));_0x334464[_0x97ea('0x33')]=_[_0x97ea('0x34')](_0x1d1a15[_0x97ea('0x33')]);_0x334464[_0x97ea('0x35')]=_[_0x97ea('0x36')](_0x334464[_0x97ea('0x31')],_0x334464[_0x97ea('0x33')]);_0x57dc1e['attributes']=_[_0x97ea('0x36')](_0x334464[_0x97ea('0x31')],qs['fields'](_0x1d1a15[_0x97ea('0x33')][_0x97ea('0x37')]));_0x57dc1e[_0x97ea('0x38')]=_0x57dc1e[_0x97ea('0x38')]['length']?_0x57dc1e['attributes']:_0x334464[_0x97ea('0x31')];if(!_0x1d1a15[_0x97ea('0x33')][_0x97ea('0x39')](_0x97ea('0x3a'))){_0x57dc1e[_0x97ea('0x1b')]=qs[_0x97ea('0x1b')](_0x1d1a15['query'][_0x97ea('0x1b')]);_0x57dc1e[_0x97ea('0x1d')]=qs['offset'](_0x1d1a15[_0x97ea('0x33')][_0x97ea('0x1d')]);}_0x57dc1e[_0x97ea('0x3b')]=qs['sort'](_0x1d1a15[_0x97ea('0x33')][_0x97ea('0x3c')]);_0x57dc1e[_0x97ea('0x3d')]=qs['filters'](_['pick'](_0x1d1a15[_0x97ea('0x33')],_0x334464[_0x97ea('0x35')]),_0x56c2a6);if(_0x1d1a15[_0x97ea('0x33')][_0x97ea('0x3e')]){_0x57dc1e['where']=_[_0x97ea('0x3f')](_0x57dc1e[_0x97ea('0x3d')],{'$or':_[_0x97ea('0x32')](_0x56c2a6,function(_0x1fe0e5){if(_0x1fe0e5[_0x97ea('0x2f')]!==_0x97ea('0x40')){var _0x3026a5={};_0x3026a5[_0x1fe0e5[_0x97ea('0x29')]]={'$like':'%'+_0x1d1a15[_0x97ea('0x33')]['filter']+'%'};return _0x3026a5;}})});}_0x57dc1e=_[_0x97ea('0x3f')]({},_0x57dc1e,_0x1d1a15[_0x97ea('0x41')]);var _0x1339b7={'where':_0x57dc1e[_0x97ea('0x3d')]};return db[_0x97ea('0x2c')][_0x97ea('0x1c')](_0x1339b7)[_0x97ea('0x25')](function(_0x5eb1be){_0x31615e[_0x97ea('0x1c')]=_0x5eb1be;if(_0x1d1a15[_0x97ea('0x33')]['includeAll']){_0x57dc1e[_0x97ea('0x42')]=[{'all':!![]}];}return db['CmHopperBlack'][_0x97ea('0x43')](_0x57dc1e);})[_0x97ea('0x25')](function(_0x155571){_0x31615e[_0x97ea('0x44')]=_0x155571;return _0x31615e;})[_0x97ea('0x25')](respondWithFilteredResult(_0x8dfdd9,_0x57dc1e))[_0x97ea('0x45')](handleError(_0x8dfdd9,null));};exports[_0x97ea('0x46')]=function(_0x37426e,_0x458b24){var _0x37e802={'raw':!![],'where':{'id':_0x37426e[_0x97ea('0x47')]['id']}},_0x378e38={};_0x378e38[_0x97ea('0x31')]=_[_0x97ea('0x34')](db[_0x97ea('0x2c')][_0x97ea('0x2d')]);_0x378e38['query']=_[_0x97ea('0x34')](_0x37426e['query']);_0x378e38['filters']=_[_0x97ea('0x36')](_0x378e38[_0x97ea('0x31')],_0x378e38[_0x97ea('0x33')]);_0x37e802[_0x97ea('0x38')]=_[_0x97ea('0x36')](_0x378e38[_0x97ea('0x31')],qs[_0x97ea('0x37')](_0x37426e[_0x97ea('0x33')][_0x97ea('0x37')]));_0x37e802[_0x97ea('0x38')]=_0x37e802['attributes'][_0x97ea('0x48')]?_0x37e802[_0x97ea('0x38')]:_0x378e38[_0x97ea('0x31')];if(_0x37426e[_0x97ea('0x33')][_0x97ea('0x49')]){_0x37e802[_0x97ea('0x42')]=[{'all':!![]}];}_0x37e802=_[_0x97ea('0x3f')]({},_0x37e802,_0x37426e[_0x97ea('0x41')]);return db['CmHopperBlack'][_0x97ea('0x4a')](_0x37e802)[_0x97ea('0x25')](handleEntityNotFound(_0x458b24,null))[_0x97ea('0x25')](respondWithResult(_0x458b24,null))[_0x97ea('0x45')](handleError(_0x458b24,null));};exports[_0x97ea('0x23')]=function(_0x38ee7d,_0x5544da){if(_0x38ee7d[_0x97ea('0x4b')]['id']){delete _0x38ee7d[_0x97ea('0x4b')]['id'];}return db[_0x97ea('0x2c')][_0x97ea('0x4a')]({'where':{'id':_0x38ee7d[_0x97ea('0x47')]['id']}})[_0x97ea('0x25')](handleEntityNotFound(_0x5544da,null))['then'](saveUpdates(_0x38ee7d[_0x97ea('0x4b')],null))[_0x97ea('0x25')](respondWithResult(_0x5544da,null))[_0x97ea('0x45')](handleError(_0x5544da,null));};exports[_0x97ea('0x24')]=function(_0x2ad321,_0x5dd908){return db['CmHopperBlack'][_0x97ea('0x4a')]({'where':{'id':_0x2ad321['params']['id']}})[_0x97ea('0x25')](handleEntityNotFound(_0x5dd908,null))[_0x97ea('0x25')](removeEntity(_0x5dd908,null))[_0x97ea('0x45')](handleError(_0x5dd908,null));};exports[_0x97ea('0x4c')]=function(_0x3dcd26,_0x131ac9){return db[_0x97ea('0x2c')]['describe']()[_0x97ea('0x25')](respondWithResult(_0x131ac9,null))[_0x97ea('0x45')](handleError(_0x131ac9,null));};