4b5b5f7ed12439468b18102a1a5df64befe0a238
[motion2.git] / server / api / cmHopperHistory / cmHopperHistory.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 _0x0d9d=['util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','save','update','then','destroy','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','nolimit','limit','order','sort','where','type','VIRTUAL','filter','options','includeAll','CmHopperHistory','rows','catch','show','params','keys','include','create','describe','uniqueid','body','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x2a7b8e,_0x50ffce){var _0x29b5c8=function(_0x131fe0){while(--_0x131fe0){_0x2a7b8e['push'](_0x2a7b8e['shift']());}};_0x29b5c8(++_0x50ffce);}(_0x0d9d,0xe2));var _0xd0d9=function(_0xa22054,_0x464303){_0xa22054=_0xa22054-0x0;var _0x4bee13=_0x0d9d[_0xa22054];return _0x4bee13;};'use strict';var emlformat=require(_0xd0d9('0x0'));var rimraf=require(_0xd0d9('0x1'));var zipdir=require(_0xd0d9('0x2'));var jsonpatch=require(_0xd0d9('0x3'));var rp=require(_0xd0d9('0x4'));var moment=require(_0xd0d9('0x5'));var BPromise=require(_0xd0d9('0x6'));var Mustache=require(_0xd0d9('0x7'));var util=require(_0xd0d9('0x8'));var path=require(_0xd0d9('0x9'));var sox=require('sox');var csv=require(_0xd0d9('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd0d9('0xb'));var _=require(_0xd0d9('0xc'));var squel=require(_0xd0d9('0xd'));var crypto=require(_0xd0d9('0xe'));var jsforce=require(_0xd0d9('0xf'));var deskjs=require(_0xd0d9('0x10'));var toCsv=require(_0xd0d9('0xa'));var querystring=require(_0xd0d9('0x11'));var Papa=require('papaparse');var Redis=require(_0xd0d9('0x12'));var authService=require(_0xd0d9('0x13'));var qs=require(_0xd0d9('0x14'));var as=require(_0xd0d9('0x15'));var hardwareService=require(_0xd0d9('0x16'));var logger=require(_0xd0d9('0x17'))(_0xd0d9('0x18'));var utils=require(_0xd0d9('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0xd0d9('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1587e2,_0x452f89){_0x452f89=_0x452f89||0xcc;return function(_0x363d01){if(_0x363d01){return _0x1587e2[_0xd0d9('0x1b')](_0x452f89);}return _0x1587e2[_0xd0d9('0x1c')](_0x452f89)[_0xd0d9('0x1d')]();};}function respondWithResult(_0x1a55eb,_0x507d40){_0x507d40=_0x507d40||0xc8;return function(_0x41c0a6){if(_0x41c0a6){return _0x1a55eb['status'](_0x507d40)[_0xd0d9('0x1e')](_0x41c0a6);}};}function respondWithFilteredResult(_0x16b958,_0x51846f){return function(_0xcce064){if(_0xcce064){var _0x2c3bd3=typeof _0x51846f[_0xd0d9('0x1f')]==='undefined'&&typeof _0x51846f['limit']===_0xd0d9('0x20');var _0x3c06e4=_0xcce064[_0xd0d9('0x21')];var _0x312387=_0x2c3bd3?0x0:_0x51846f['offset'];var _0x21440f=_0x2c3bd3?_0xcce064[_0xd0d9('0x21')]:_0x51846f[_0xd0d9('0x1f')]+_0x51846f['limit'];var _0x21ee1c;if(_0x21440f>=_0x3c06e4){_0x21440f=_0x3c06e4;_0x21ee1c=0xc8;}else{_0x21ee1c=0xce;}_0x16b958[_0xd0d9('0x1c')](_0x21ee1c);return _0x16b958[_0xd0d9('0x22')](_0xd0d9('0x23'),_0x312387+'-'+_0x21440f+'/'+_0x3c06e4)[_0xd0d9('0x1e')](_0xcce064);}return null;};}function patchUpdates(_0x1a713e){return function(_0x2a03c8){try{jsonpatch[_0xd0d9('0x24')](_0x2a03c8,_0x1a713e,!![]);}catch(_0x1b4cde){return BPromise['reject'](_0x1b4cde);}return _0x2a03c8[_0xd0d9('0x25')]();};}function saveUpdates(_0x5e86c0,_0x1f6aaf){return function(_0x2bc0b0){if(_0x2bc0b0){return _0x2bc0b0[_0xd0d9('0x26')](_0x5e86c0)[_0xd0d9('0x27')](function(_0x42c19e){return _0x42c19e;});}return null;};}function removeEntity(_0x24f5f4,_0x43af31){return function(_0x172796){if(_0x172796){return _0x172796[_0xd0d9('0x28')]()[_0xd0d9('0x27')](function(){_0x24f5f4[_0xd0d9('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x23461f,_0x5ebd96){return function(_0x3d0116){if(!_0x3d0116){_0x23461f[_0xd0d9('0x1b')](0x194);}return _0x3d0116;};}function handleError(_0x37a8c2,_0x17fe98){_0x17fe98=_0x17fe98||0x1f4;return function(_0x485883){logger['error'](_0x485883[_0xd0d9('0x29')]);if(_0x485883[_0xd0d9('0x2a')]){delete _0x485883[_0xd0d9('0x2a')];}_0x37a8c2[_0xd0d9('0x1c')](_0x17fe98)[_0xd0d9('0x2b')](_0x485883);};}exports[_0xd0d9('0x2c')]=function(_0x14d64f,_0x5c2fa7){var _0x3d2d30={},_0x1a1f66={},_0x10fcca={'count':0x0,'rows':[]};var _0xafb0ae=_[_0xd0d9('0x2d')](db['CmHopperHistory'][_0xd0d9('0x2e')],function(_0x50911e){return{'name':_0x50911e[_0xd0d9('0x2f')],'type':_0x50911e['type'][_0xd0d9('0x30')]};});_0x1a1f66[_0xd0d9('0x31')]=_[_0xd0d9('0x2d')](_0xafb0ae,_0xd0d9('0x2a'));_0x1a1f66[_0xd0d9('0x32')]=_['keys'](_0x14d64f[_0xd0d9('0x32')]);_0x1a1f66[_0xd0d9('0x33')]=_[_0xd0d9('0x34')](_0x1a1f66['model'],_0x1a1f66[_0xd0d9('0x32')]);_0x3d2d30[_0xd0d9('0x35')]=_['intersection'](_0x1a1f66[_0xd0d9('0x31')],qs[_0xd0d9('0x36')](_0x14d64f[_0xd0d9('0x32')][_0xd0d9('0x36')]));_0x3d2d30[_0xd0d9('0x35')]=_0x3d2d30[_0xd0d9('0x35')][_0xd0d9('0x37')]?_0x3d2d30[_0xd0d9('0x35')]:_0x1a1f66[_0xd0d9('0x31')];if(!_0x14d64f['query']['hasOwnProperty'](_0xd0d9('0x38'))){_0x3d2d30[_0xd0d9('0x39')]=qs['limit'](_0x14d64f['query']['limit']);_0x3d2d30[_0xd0d9('0x1f')]=qs[_0xd0d9('0x1f')](_0x14d64f[_0xd0d9('0x32')]['offset']);}_0x3d2d30[_0xd0d9('0x3a')]=qs['sort'](_0x14d64f['query'][_0xd0d9('0x3b')]);_0x3d2d30['where']=qs['filters'](_['pick'](_0x14d64f['query'],_0x1a1f66[_0xd0d9('0x33')]),_0xafb0ae);if(_0x14d64f[_0xd0d9('0x32')]['filter']){_0x3d2d30['where']=_['merge'](_0x3d2d30[_0xd0d9('0x3c')],{'$or':_[_0xd0d9('0x2d')](_0xafb0ae,function(_0x23e667){if(_0x23e667[_0xd0d9('0x3d')]!==_0xd0d9('0x3e')){var _0xfa4cf6={};_0xfa4cf6[_0x23e667['name']]={'$like':'%'+_0x14d64f[_0xd0d9('0x32')][_0xd0d9('0x3f')]+'%'};return _0xfa4cf6;}})});}_0x3d2d30=_['merge']({},_0x3d2d30,_0x14d64f[_0xd0d9('0x40')]);var _0xb0053a={'where':_0x3d2d30['where']};return db['CmHopperHistory'][_0xd0d9('0x21')](_0xb0053a)[_0xd0d9('0x27')](function(_0x4bb629){_0x10fcca[_0xd0d9('0x21')]=_0x4bb629;if(_0x14d64f[_0xd0d9('0x32')][_0xd0d9('0x41')]){_0x3d2d30['include']=[{'all':!![]}];}return db[_0xd0d9('0x42')]['findAll'](_0x3d2d30);})['then'](function(_0x2c7d57){_0x10fcca[_0xd0d9('0x43')]=_0x2c7d57;return _0x10fcca;})[_0xd0d9('0x27')](respondWithFilteredResult(_0x5c2fa7,_0x3d2d30))[_0xd0d9('0x44')](handleError(_0x5c2fa7,null));};exports[_0xd0d9('0x45')]=function(_0x160f8d,_0x8f8542){var _0x39a84f={'raw':!![],'where':{'id':_0x160f8d[_0xd0d9('0x46')]['id']}},_0x5b2596={};_0x5b2596[_0xd0d9('0x31')]=_[_0xd0d9('0x47')](db['CmHopperHistory']['rawAttributes']);_0x5b2596[_0xd0d9('0x32')]=_[_0xd0d9('0x47')](_0x160f8d[_0xd0d9('0x32')]);_0x5b2596[_0xd0d9('0x33')]=_['intersection'](_0x5b2596[_0xd0d9('0x31')],_0x5b2596[_0xd0d9('0x32')]);_0x39a84f[_0xd0d9('0x35')]=_['intersection'](_0x5b2596[_0xd0d9('0x31')],qs[_0xd0d9('0x36')](_0x160f8d['query'][_0xd0d9('0x36')]));_0x39a84f[_0xd0d9('0x35')]=_0x39a84f[_0xd0d9('0x35')][_0xd0d9('0x37')]?_0x39a84f[_0xd0d9('0x35')]:_0x5b2596['model'];if(_0x160f8d[_0xd0d9('0x32')][_0xd0d9('0x41')]){_0x39a84f[_0xd0d9('0x48')]=[{'all':!![]}];}_0x39a84f=_['merge']({},_0x39a84f,_0x160f8d[_0xd0d9('0x40')]);return db['CmHopperHistory']['find'](_0x39a84f)[_0xd0d9('0x27')](handleEntityNotFound(_0x8f8542,null))['then'](respondWithResult(_0x8f8542,null))[_0xd0d9('0x44')](handleError(_0x8f8542,null));};exports[_0xd0d9('0x49')]=function(_0x452a36,_0x25e19e){return db[_0xd0d9('0x42')][_0xd0d9('0x49')](_0x452a36['body'],{})[_0xd0d9('0x27')](respondWithResult(_0x25e19e,0xc9))['catch'](handleError(_0x25e19e,null));};exports[_0xd0d9('0x4a')]=function(_0x9d6723,_0x467a6e){return db[_0xd0d9('0x42')]['describe']()['then'](respondWithResult(_0x467a6e,null))[_0xd0d9('0x44')](handleError(_0x467a6e,null));};exports[_0xd0d9('0x26')]=function(_0x4e2ec2,_0x4ad0b6){if(_0x4e2ec2['body'][_0xd0d9('0x4b')]){delete _0x4e2ec2[_0xd0d9('0x4c')][_0xd0d9('0x4b')];}return db[_0xd0d9('0x42')][_0xd0d9('0x4d')]({'where':{'uniqueid':_0x4e2ec2[_0xd0d9('0x46')]['id']}})[_0xd0d9('0x27')](handleEntityNotFound(_0x4ad0b6,null))[_0xd0d9('0x27')](saveUpdates(_0x4e2ec2['body'],null))[_0xd0d9('0x27')](respondWithResult(_0x4ad0b6,null))[_0xd0d9('0x44')](handleError(_0x4ad0b6,null));};