31cbf157158136610d003f608359c0b06db9322d
[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 _0x0bde=['map','CmHopperHistory','rawAttributes','fieldName','type','key','query','keys','filters','attributes','intersection','model','fields','length','hasOwnProperty','limit','order','sort','where','filter','options','include','findAll','rows','catch','params','includeAll','find','create','describe','update','uniqueid','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','reject','save','then','stack','name','render','merge','body','contact','message','agent','account','index'];(function(_0x3899d1,_0x4aa04c){var _0xeb4a7d=function(_0x3ea5ee){while(--_0x3ea5ee){_0x3899d1['push'](_0x3899d1['shift']());}};_0xeb4a7d(++_0x4aa04c);}(_0x0bde,0x110));var _0xe0bd=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x0bde[_0x2641f9];return _0x585741;};'use strict';var emlformat=require(_0xe0bd('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe0bd('0x1'));var jsonpatch=require(_0xe0bd('0x2'));var rp=require('request-promise');var moment=require(_0xe0bd('0x3'));var BPromise=require(_0xe0bd('0x4'));var Mustache=require(_0xe0bd('0x5'));var util=require('util');var path=require(_0xe0bd('0x6'));var sox=require(_0xe0bd('0x7'));var csv=require(_0xe0bd('0x8'));var ejs=require(_0xe0bd('0x9'));var fs=require('fs');var fs_extra=require(_0xe0bd('0xa'));var _=require(_0xe0bd('0xb'));var squel=require(_0xe0bd('0xc'));var crypto=require(_0xe0bd('0xd'));var jsforce=require(_0xe0bd('0xe'));var deskjs=require(_0xe0bd('0xf'));var toCsv=require(_0xe0bd('0x8'));var querystring=require(_0xe0bd('0x10'));var Papa=require(_0xe0bd('0x11'));var Redis=require('ioredis');var authService=require(_0xe0bd('0x12'));var qs=require(_0xe0bd('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe0bd('0x14'));var logger=require('../../config/logger')(_0xe0bd('0x15'));var utils=require(_0xe0bd('0x16'));var config=require(_0xe0bd('0x17'));var licenseUtil=require(_0xe0bd('0x18'));var db=require(_0xe0bd('0x19'))['db'];function respondWithStatusCode(_0x16c3a9,_0x1905b2){_0x1905b2=_0x1905b2||0xcc;return function(_0x500a9e){if(_0x500a9e){return _0x16c3a9[_0xe0bd('0x1a')](_0x1905b2);}return _0x16c3a9[_0xe0bd('0x1b')](_0x1905b2)[_0xe0bd('0x1c')]();};}function respondWithResult(_0x5c76f1,_0x479438){_0x479438=_0x479438||0xc8;return function(_0x48afde){if(_0x48afde){return _0x5c76f1[_0xe0bd('0x1b')](_0x479438)[_0xe0bd('0x1d')](_0x48afde);}};}function respondWithFilteredResult(_0x3f5ef7,_0x3042e1){return function(_0x361429){if(_0x361429){var _0x302f5f=typeof _0x3042e1[_0xe0bd('0x1e')]===_0xe0bd('0x1f')&&typeof _0x3042e1['limit']==='undefined';var _0x2d2ba3=_0x361429[_0xe0bd('0x20')];var _0x1c4533=_0x302f5f?0x0:_0x3042e1[_0xe0bd('0x1e')];var _0xa6be32=_0x302f5f?_0x361429[_0xe0bd('0x20')]:_0x3042e1['offset']+_0x3042e1['limit'];var _0x29bd21;if(_0xa6be32>=_0x2d2ba3){_0xa6be32=_0x2d2ba3;_0x29bd21=0xc8;}else{_0x29bd21=0xce;}_0x3f5ef7[_0xe0bd('0x1b')](_0x29bd21);return _0x3f5ef7[_0xe0bd('0x21')](_0xe0bd('0x22'),_0x1c4533+'-'+_0xa6be32+'/'+_0x2d2ba3)[_0xe0bd('0x1d')](_0x361429);}return null;};}function patchUpdates(_0x154480){return function(_0x3dbd98){try{jsonpatch['apply'](_0x3dbd98,_0x154480,!![]);}catch(_0x5ad8bf){return BPromise[_0xe0bd('0x23')](_0x5ad8bf);}return _0x3dbd98[_0xe0bd('0x24')]();};}function saveUpdates(_0x3927ab,_0xdcb789){return function(_0x290c1e){if(_0x290c1e){return _0x290c1e['update'](_0x3927ab)[_0xe0bd('0x25')](function(_0x4795ac){return _0x4795ac;});}return null;};}function removeEntity(_0x242cbe,_0x296f64){return function(_0x3f24b6){if(_0x3f24b6){return _0x3f24b6['destroy']()[_0xe0bd('0x25')](function(){_0x242cbe[_0xe0bd('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x41ca10,_0x5e6496){return function(_0x2debcb){if(!_0x2debcb){_0x41ca10['sendStatus'](0x194);}return _0x2debcb;};}function handleError(_0x198a1c,_0x72e284){_0x72e284=_0x72e284||0x1f4;return function(_0x3c851d){logger['error'](_0x3c851d[_0xe0bd('0x26')]);if(_0x3c851d['name']){delete _0x3c851d[_0xe0bd('0x27')];}_0x198a1c[_0xe0bd('0x1b')](_0x72e284)['send'](_0x3c851d);};}function getMustacheRender(_0x54bc12,_0x273b95){return Mustache[_0xe0bd('0x28')](_0x54bc12,_[_0xe0bd('0x29')](_0x273b95[_0xe0bd('0x2a')],{'contact':_0x273b95[_0xe0bd('0x2b')],'message':_0x273b95[_0xe0bd('0x2c')],'agent':_0x273b95[_0xe0bd('0x2d')],'interaction':_0x273b95['interaction'],'account':_0x273b95[_0xe0bd('0x2e')]}))||'';}exports[_0xe0bd('0x2f')]=function(_0x52329b,_0x3dba6a){var _0x2287ba={},_0x1aced9={},_0x553919={'count':0x0,'rows':[]};var _0x1c396f=_[_0xe0bd('0x30')](db[_0xe0bd('0x31')][_0xe0bd('0x32')],function(_0x3d8ec4){return{'name':_0x3d8ec4[_0xe0bd('0x33')],'type':_0x3d8ec4[_0xe0bd('0x34')][_0xe0bd('0x35')]};});_0x1aced9['model']=_['map'](_0x1c396f,_0xe0bd('0x27'));_0x1aced9[_0xe0bd('0x36')]=_[_0xe0bd('0x37')](_0x52329b[_0xe0bd('0x36')]);_0x1aced9[_0xe0bd('0x38')]=_['intersection'](_0x1aced9['model'],_0x1aced9['query']);_0x2287ba[_0xe0bd('0x39')]=_[_0xe0bd('0x3a')](_0x1aced9[_0xe0bd('0x3b')],qs[_0xe0bd('0x3c')](_0x52329b[_0xe0bd('0x36')][_0xe0bd('0x3c')]));_0x2287ba['attributes']=_0x2287ba[_0xe0bd('0x39')][_0xe0bd('0x3d')]?_0x2287ba[_0xe0bd('0x39')]:_0x1aced9['model'];if(!_0x52329b[_0xe0bd('0x36')][_0xe0bd('0x3e')]('nolimit')){_0x2287ba[_0xe0bd('0x3f')]=qs[_0xe0bd('0x3f')](_0x52329b[_0xe0bd('0x36')]['limit']);_0x2287ba[_0xe0bd('0x1e')]=qs['offset'](_0x52329b[_0xe0bd('0x36')][_0xe0bd('0x1e')]);}_0x2287ba[_0xe0bd('0x40')]=qs[_0xe0bd('0x41')](_0x52329b['query'][_0xe0bd('0x41')]);_0x2287ba[_0xe0bd('0x42')]=qs[_0xe0bd('0x38')](_['pick'](_0x52329b['query'],_0x1aced9[_0xe0bd('0x38')]),_0x1c396f);if(_0x52329b[_0xe0bd('0x36')][_0xe0bd('0x43')]){_0x2287ba['where']=_['merge'](_0x2287ba[_0xe0bd('0x42')],{'$or':_[_0xe0bd('0x30')](_0x1c396f,function(_0x324bb2){if(_0x324bb2[_0xe0bd('0x34')]!=='VIRTUAL'){var _0x276ed3={};_0x276ed3[_0x324bb2[_0xe0bd('0x27')]]={'$like':'%'+_0x52329b[_0xe0bd('0x36')]['filter']+'%'};return _0x276ed3;}})});}_0x2287ba=_['merge']({},_0x2287ba,_0x52329b[_0xe0bd('0x44')]);var _0x414bd2={'where':_0x2287ba[_0xe0bd('0x42')]};return db[_0xe0bd('0x31')]['count'](_0x414bd2)[_0xe0bd('0x25')](function(_0x41597a){_0x553919[_0xe0bd('0x20')]=_0x41597a;if(_0x52329b['query']['includeAll']){_0x2287ba[_0xe0bd('0x45')]=[{'all':!![]}];}return db['CmHopperHistory'][_0xe0bd('0x46')](_0x2287ba);})[_0xe0bd('0x25')](function(_0x4a5ecc){_0x553919[_0xe0bd('0x47')]=_0x4a5ecc;return _0x553919;})[_0xe0bd('0x25')](respondWithFilteredResult(_0x3dba6a,_0x2287ba))[_0xe0bd('0x48')](handleError(_0x3dba6a,null));};exports['show']=function(_0x340e81,_0x461be2){var _0x3eb213={'raw':!![],'where':{'id':_0x340e81[_0xe0bd('0x49')]['id']}},_0x3ba66c={};_0x3ba66c[_0xe0bd('0x3b')]=_[_0xe0bd('0x37')](db[_0xe0bd('0x31')]['rawAttributes']);_0x3ba66c[_0xe0bd('0x36')]=_[_0xe0bd('0x37')](_0x340e81[_0xe0bd('0x36')]);_0x3ba66c[_0xe0bd('0x38')]=_[_0xe0bd('0x3a')](_0x3ba66c[_0xe0bd('0x3b')],_0x3ba66c[_0xe0bd('0x36')]);_0x3eb213[_0xe0bd('0x39')]=_['intersection'](_0x3ba66c[_0xe0bd('0x3b')],qs[_0xe0bd('0x3c')](_0x340e81[_0xe0bd('0x36')][_0xe0bd('0x3c')]));_0x3eb213[_0xe0bd('0x39')]=_0x3eb213['attributes'][_0xe0bd('0x3d')]?_0x3eb213['attributes']:_0x3ba66c['model'];if(_0x340e81['query'][_0xe0bd('0x4a')]){_0x3eb213['include']=[{'all':!![]}];}_0x3eb213=_['merge']({},_0x3eb213,_0x340e81[_0xe0bd('0x44')]);return db[_0xe0bd('0x31')][_0xe0bd('0x4b')](_0x3eb213)[_0xe0bd('0x25')](handleEntityNotFound(_0x461be2,null))[_0xe0bd('0x25')](respondWithResult(_0x461be2,null))[_0xe0bd('0x48')](handleError(_0x461be2,null));};exports[_0xe0bd('0x4c')]=function(_0x1c4464,_0x137bed){return db[_0xe0bd('0x31')]['create'](_0x1c4464[_0xe0bd('0x2a')],{})['then'](respondWithResult(_0x137bed,0xc9))['catch'](handleError(_0x137bed,null));};exports[_0xe0bd('0x4d')]=function(_0x292296,_0xbe9db7){return db['CmHopperHistory'][_0xe0bd('0x4d')]()[_0xe0bd('0x25')](respondWithResult(_0xbe9db7,null))[_0xe0bd('0x48')](handleError(_0xbe9db7,null));};exports[_0xe0bd('0x4e')]=function(_0x1e4698,_0x3ae70c){if(_0x1e4698[_0xe0bd('0x2a')][_0xe0bd('0x4f')]){delete _0x1e4698[_0xe0bd('0x2a')][_0xe0bd('0x4f')];}return db[_0xe0bd('0x31')][_0xe0bd('0x4b')]({'where':{'uniqueid':_0x1e4698['params']['id']}})[_0xe0bd('0x25')](handleEntityNotFound(_0x3ae70c,null))[_0xe0bd('0x25')](saveUpdates(_0x1e4698['body'],null))['then'](respondWithResult(_0x3ae70c,null))['catch'](handleError(_0x3ae70c,null));};