40e1ce86b95e844daf70ea4356ac2368564b0fc9
[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 _0xb969=['sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','reject','update','then','error','stack','name','send','index','CmHopperHistory','rawAttributes','type','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','limit','pick','filter','where','merge','options','includeAll','findAll','rows','catch','show','params','include','find','create','body','describe','uniqueid','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment'];(function(_0x456120,_0x41f4b6){var _0x5bb63e=function(_0x15416a){while(--_0x15416a){_0x456120['push'](_0x456120['shift']());}};_0x5bb63e(++_0x41f4b6);}(_0xb969,0xc8));var _0x9b96=function(_0x158f4a,_0x173155){_0x158f4a=_0x158f4a-0x0;var _0x3bf08a=_0xb969[_0x158f4a];return _0x3bf08a;};'use strict';var emlformat=require(_0x9b96('0x0'));var rimraf=require(_0x9b96('0x1'));var zipdir=require(_0x9b96('0x2'));var jsonpatch=require(_0x9b96('0x3'));var rp=require(_0x9b96('0x4'));var moment=require(_0x9b96('0x5'));var BPromise=require(_0x9b96('0x6'));var Mustache=require('mustache');var util=require(_0x9b96('0x7'));var path=require(_0x9b96('0x8'));var sox=require(_0x9b96('0x9'));var csv=require(_0x9b96('0xa'));var ejs=require(_0x9b96('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9b96('0xc'));var squel=require(_0x9b96('0xd'));var crypto=require(_0x9b96('0xe'));var jsforce=require(_0x9b96('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x9b96('0xa'));var querystring=require(_0x9b96('0x10'));var Papa=require(_0x9b96('0x11'));var Redis=require(_0x9b96('0x12'));var authService=require(_0x9b96('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x9b96('0x14'));var hardwareService=require(_0x9b96('0x15'));var logger=require('../../config/logger')(_0x9b96('0x16'));var utils=require(_0x9b96('0x17'));var config=require(_0x9b96('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5ac26a,_0x5c1de9){_0x5c1de9=_0x5c1de9||0xcc;return function(_0x4018df){if(_0x4018df){return _0x5ac26a[_0x9b96('0x19')](_0x5c1de9);}return _0x5ac26a[_0x9b96('0x1a')](_0x5c1de9)[_0x9b96('0x1b')]();};}function respondWithResult(_0x5cb659,_0x18d2d3){_0x18d2d3=_0x18d2d3||0xc8;return function(_0x124f76){if(_0x124f76){return _0x5cb659[_0x9b96('0x1a')](_0x18d2d3)[_0x9b96('0x1c')](_0x124f76);}};}function respondWithFilteredResult(_0x220e72,_0x37211b){return function(_0xa0281a){if(_0xa0281a){var _0x2ce51f=typeof _0x37211b[_0x9b96('0x1d')]==='undefined'&&typeof _0x37211b['limit']===_0x9b96('0x1e');var _0x351aed=_0xa0281a[_0x9b96('0x1f')];var _0x5d9278=_0x2ce51f?0x0:_0x37211b[_0x9b96('0x1d')];var _0x10a41f=_0x2ce51f?_0xa0281a[_0x9b96('0x1f')]:_0x37211b[_0x9b96('0x1d')]+_0x37211b['limit'];var _0x373628;if(_0x10a41f>=_0x351aed){_0x10a41f=_0x351aed;_0x373628=0xc8;}else{_0x373628=0xce;}_0x220e72['status'](_0x373628);return _0x220e72[_0x9b96('0x20')](_0x9b96('0x21'),_0x5d9278+'-'+_0x10a41f+'/'+_0x351aed)[_0x9b96('0x1c')](_0xa0281a);}return null;};}function patchUpdates(_0x12158d){return function(_0x4f39af){try{jsonpatch[_0x9b96('0x22')](_0x4f39af,_0x12158d,!![]);}catch(_0x4a7c3){return BPromise[_0x9b96('0x23')](_0x4a7c3);}return _0x4f39af['save']();};}function saveUpdates(_0x4b969e,_0x2a4283){return function(_0x72a049){if(_0x72a049){return _0x72a049[_0x9b96('0x24')](_0x4b969e)[_0x9b96('0x25')](function(_0x2d442d){return _0x2d442d;});}return null;};}function removeEntity(_0x72ad7f,_0xd6e5e){return function(_0xfc0e9d){if(_0xfc0e9d){return _0xfc0e9d['destroy']()['then'](function(){_0x72ad7f['status'](0xcc)[_0x9b96('0x1b')]();});}};}function handleEntityNotFound(_0x12451b,_0x52b7f6){return function(_0x38cc27){if(!_0x38cc27){_0x12451b[_0x9b96('0x19')](0x194);}return _0x38cc27;};}function handleError(_0x29c92b,_0x2c14a3){_0x2c14a3=_0x2c14a3||0x1f4;return function(_0x1167bc){logger[_0x9b96('0x26')](_0x1167bc[_0x9b96('0x27')]);if(_0x1167bc[_0x9b96('0x28')]){delete _0x1167bc[_0x9b96('0x28')];}_0x29c92b['status'](_0x2c14a3)[_0x9b96('0x29')](_0x1167bc);};}exports[_0x9b96('0x2a')]=function(_0x2c849d,_0xab89d7){var _0x2ceac3={},_0x3bcad4={},_0x3a8383={'count':0x0,'rows':[]};var _0x5c826d=_['map'](db[_0x9b96('0x2b')][_0x9b96('0x2c')],function(_0x4de347){return{'name':_0x4de347['fieldName'],'type':_0x4de347[_0x9b96('0x2d')][_0x9b96('0x2e')]};});_0x3bcad4[_0x9b96('0x2f')]=_[_0x9b96('0x30')](_0x5c826d,_0x9b96('0x28'));_0x3bcad4[_0x9b96('0x31')]=_[_0x9b96('0x32')](_0x2c849d[_0x9b96('0x31')]);_0x3bcad4[_0x9b96('0x33')]=_[_0x9b96('0x34')](_0x3bcad4[_0x9b96('0x2f')],_0x3bcad4[_0x9b96('0x31')]);_0x2ceac3['attributes']=_[_0x9b96('0x34')](_0x3bcad4[_0x9b96('0x2f')],qs['fields'](_0x2c849d[_0x9b96('0x31')][_0x9b96('0x35')]));_0x2ceac3[_0x9b96('0x36')]=_0x2ceac3[_0x9b96('0x36')][_0x9b96('0x37')]?_0x2ceac3[_0x9b96('0x36')]:_0x3bcad4[_0x9b96('0x2f')];if(!_0x2c849d[_0x9b96('0x31')][_0x9b96('0x38')]('nolimit')){_0x2ceac3[_0x9b96('0x39')]=qs[_0x9b96('0x39')](_0x2c849d[_0x9b96('0x31')][_0x9b96('0x39')]);_0x2ceac3[_0x9b96('0x1d')]=qs['offset'](_0x2c849d[_0x9b96('0x31')][_0x9b96('0x1d')]);}_0x2ceac3['order']=qs['sort'](_0x2c849d['query']['sort']);_0x2ceac3['where']=qs[_0x9b96('0x33')](_[_0x9b96('0x3a')](_0x2c849d[_0x9b96('0x31')],_0x3bcad4[_0x9b96('0x33')]),_0x5c826d);if(_0x2c849d['query'][_0x9b96('0x3b')]){_0x2ceac3[_0x9b96('0x3c')]=_['merge'](_0x2ceac3[_0x9b96('0x3c')],{'$or':_[_0x9b96('0x30')](_0x5c826d,function(_0x36e09d){if(_0x36e09d[_0x9b96('0x2d')]!=='VIRTUAL'){var _0x19e2ce={};_0x19e2ce[_0x36e09d['name']]={'$like':'%'+_0x2c849d[_0x9b96('0x31')][_0x9b96('0x3b')]+'%'};return _0x19e2ce;}})});}_0x2ceac3=_[_0x9b96('0x3d')]({},_0x2ceac3,_0x2c849d[_0x9b96('0x3e')]);var _0x45c75a={'where':_0x2ceac3[_0x9b96('0x3c')]};return db['CmHopperHistory']['count'](_0x45c75a)[_0x9b96('0x25')](function(_0x356a29){_0x3a8383[_0x9b96('0x1f')]=_0x356a29;if(_0x2c849d['query'][_0x9b96('0x3f')]){_0x2ceac3['include']=[{'all':!![]}];}return db['CmHopperHistory'][_0x9b96('0x40')](_0x2ceac3);})[_0x9b96('0x25')](function(_0x2896f9){_0x3a8383[_0x9b96('0x41')]=_0x2896f9;return _0x3a8383;})[_0x9b96('0x25')](respondWithFilteredResult(_0xab89d7,_0x2ceac3))[_0x9b96('0x42')](handleError(_0xab89d7,null));};exports[_0x9b96('0x43')]=function(_0x337fb0,_0x16e79d){var _0xc8959f={'raw':!![],'where':{'id':_0x337fb0[_0x9b96('0x44')]['id']}},_0x52d0ad={};_0x52d0ad['model']=_[_0x9b96('0x32')](db[_0x9b96('0x2b')][_0x9b96('0x2c')]);_0x52d0ad[_0x9b96('0x31')]=_[_0x9b96('0x32')](_0x337fb0['query']);_0x52d0ad[_0x9b96('0x33')]=_[_0x9b96('0x34')](_0x52d0ad[_0x9b96('0x2f')],_0x52d0ad[_0x9b96('0x31')]);_0xc8959f[_0x9b96('0x36')]=_[_0x9b96('0x34')](_0x52d0ad[_0x9b96('0x2f')],qs[_0x9b96('0x35')](_0x337fb0['query'][_0x9b96('0x35')]));_0xc8959f[_0x9b96('0x36')]=_0xc8959f['attributes'][_0x9b96('0x37')]?_0xc8959f['attributes']:_0x52d0ad[_0x9b96('0x2f')];if(_0x337fb0[_0x9b96('0x31')]['includeAll']){_0xc8959f[_0x9b96('0x45')]=[{'all':!![]}];}_0xc8959f=_[_0x9b96('0x3d')]({},_0xc8959f,_0x337fb0['options']);return db[_0x9b96('0x2b')][_0x9b96('0x46')](_0xc8959f)['then'](handleEntityNotFound(_0x16e79d,null))[_0x9b96('0x25')](respondWithResult(_0x16e79d,null))[_0x9b96('0x42')](handleError(_0x16e79d,null));};exports[_0x9b96('0x47')]=function(_0x5e6a28,_0x343202){return db[_0x9b96('0x2b')][_0x9b96('0x47')](_0x5e6a28[_0x9b96('0x48')],{})[_0x9b96('0x25')](respondWithResult(_0x343202,0xc9))[_0x9b96('0x42')](handleError(_0x343202,null));};exports[_0x9b96('0x49')]=function(_0x549a9f,_0x509bf2){return db[_0x9b96('0x2b')][_0x9b96('0x49')]()['then'](respondWithResult(_0x509bf2,null))[_0x9b96('0x42')](handleError(_0x509bf2,null));};exports[_0x9b96('0x24')]=function(_0x4583c5,_0x2ab112){if(_0x4583c5[_0x9b96('0x48')][_0x9b96('0x4a')]){delete _0x4583c5[_0x9b96('0x48')]['uniqueid'];}return db[_0x9b96('0x2b')]['find']({'where':{'uniqueid':_0x4583c5[_0x9b96('0x44')]['id']}})['then'](handleEntityNotFound(_0x2ab112,null))[_0x9b96('0x25')](saveUpdates(_0x4583c5[_0x9b96('0x48')],null))[_0x9b96('0x25')](respondWithResult(_0x2ab112,null))['catch'](handleError(_0x2ab112,null));};