70045addaf0dcf59ce2fcd3b26a5f97c293ed571
[motion2.git] / server / api / chatTransferReport / chatTransferReport.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 _0xd25d=['moment','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','ChatTransferReport','fieldName','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filters','filter','where','merge','type','options','includeAll','include','findAll','rows','show','params','keys','rawAttributes','find','catch','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x67455f,_0x5930fb){var _0x1201b7=function(_0xe6bf5a){while(--_0xe6bf5a){_0x67455f['push'](_0x67455f['shift']());}};_0x1201b7(++_0x5930fb);}(_0xd25d,0x19f));var _0xdd25=function(_0xeb4ca4,_0x5736d5){_0xeb4ca4=_0xeb4ca4-0x0;var _0x495b68=_0xd25d[_0xeb4ca4];return _0x495b68;};'use strict';var emlformat=require(_0xdd25('0x0'));var rimraf=require(_0xdd25('0x1'));var zipdir=require(_0xdd25('0x2'));var jsonpatch=require(_0xdd25('0x3'));var rp=require(_0xdd25('0x4'));var moment=require(_0xdd25('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xdd25('0x6'));var util=require(_0xdd25('0x7'));var path=require(_0xdd25('0x8'));var sox=require(_0xdd25('0x9'));var csv=require(_0xdd25('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xdd25('0xb'));var _=require(_0xdd25('0xc'));var squel=require('squel');var crypto=require(_0xdd25('0xd'));var jsforce=require(_0xdd25('0xe'));var deskjs=require(_0xdd25('0xf'));var toCsv=require(_0xdd25('0xa'));var querystring=require(_0xdd25('0x10'));var Papa=require(_0xdd25('0x11'));var Redis=require(_0xdd25('0x12'));var authService=require(_0xdd25('0x13'));var qs=require(_0xdd25('0x14'));var as=require(_0xdd25('0x15'));var hardwareService=require(_0xdd25('0x16'));var logger=require(_0xdd25('0x17'))(_0xdd25('0x18'));var utils=require(_0xdd25('0x19'));var config=require(_0xdd25('0x1a'));var licenseUtil=require(_0xdd25('0x1b'));var db=require(_0xdd25('0x1c'))['db'];function respondWithStatusCode(_0x288df4,_0x3512e3){_0x3512e3=_0x3512e3||0xcc;return function(_0x17893a){if(_0x17893a){return _0x288df4[_0xdd25('0x1d')](_0x3512e3);}return _0x288df4['status'](_0x3512e3)[_0xdd25('0x1e')]();};}function respondWithResult(_0x5bd45d,_0x1d05bf){_0x1d05bf=_0x1d05bf||0xc8;return function(_0x1a3575){if(_0x1a3575){return _0x5bd45d[_0xdd25('0x1f')](_0x1d05bf)[_0xdd25('0x20')](_0x1a3575);}};}function respondWithFilteredResult(_0x333627,_0x596bd5){return function(_0x1bf2b1){if(_0x1bf2b1){var _0x5d31e0=typeof _0x596bd5[_0xdd25('0x21')]===_0xdd25('0x22')&&typeof _0x596bd5[_0xdd25('0x23')]===_0xdd25('0x22');var _0x4c0036=_0x1bf2b1[_0xdd25('0x24')];var _0x4b4d8f=_0x5d31e0?0x0:_0x596bd5[_0xdd25('0x21')];var _0x50f9e9=_0x5d31e0?_0x1bf2b1[_0xdd25('0x24')]:_0x596bd5['offset']+_0x596bd5[_0xdd25('0x23')];var _0x181904;if(_0x50f9e9>=_0x4c0036){_0x50f9e9=_0x4c0036;_0x181904=0xc8;}else{_0x181904=0xce;}_0x333627['status'](_0x181904);return _0x333627[_0xdd25('0x25')](_0xdd25('0x26'),_0x4b4d8f+'-'+_0x50f9e9+'/'+_0x4c0036)[_0xdd25('0x20')](_0x1bf2b1);}return null;};}function patchUpdates(_0x190a45){return function(_0x2f0f06){try{jsonpatch[_0xdd25('0x27')](_0x2f0f06,_0x190a45,!![]);}catch(_0x5563c0){return BPromise[_0xdd25('0x28')](_0x5563c0);}return _0x2f0f06[_0xdd25('0x29')]();};}function saveUpdates(_0x3dab01,_0x5642b6){return function(_0x323df2){if(_0x323df2){return _0x323df2[_0xdd25('0x2a')](_0x3dab01)[_0xdd25('0x2b')](function(_0x599bdd){return _0x599bdd;});}return null;};}function removeEntity(_0x25835a,_0x2b3047){return function(_0x354bcf){if(_0x354bcf){return _0x354bcf[_0xdd25('0x2c')]()[_0xdd25('0x2b')](function(){_0x25835a[_0xdd25('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5af086,_0x3fd611){return function(_0x4a980c){if(!_0x4a980c){_0x5af086[_0xdd25('0x1d')](0x194);}return _0x4a980c;};}function handleError(_0x1f0fd8,_0x2557cc){_0x2557cc=_0x2557cc||0x1f4;return function(_0x1866cb){logger[_0xdd25('0x2d')](_0x1866cb[_0xdd25('0x2e')]);if(_0x1866cb[_0xdd25('0x2f')]){delete _0x1866cb['name'];}_0x1f0fd8[_0xdd25('0x1f')](_0x2557cc)[_0xdd25('0x30')](_0x1866cb);};}exports[_0xdd25('0x31')]=function(_0x4a3298,_0x3be342){var _0x28edcf={},_0x19dc18={},_0xb9a760={'count':0x0,'rows':[]};var _0xe15ac3=_[_0xdd25('0x32')](db[_0xdd25('0x33')]['rawAttributes'],function(_0x14cfa0){return{'name':_0x14cfa0[_0xdd25('0x34')],'type':_0x14cfa0['type'][_0xdd25('0x35')]};});_0x19dc18[_0xdd25('0x36')]=_[_0xdd25('0x32')](_0xe15ac3,_0xdd25('0x2f'));_0x19dc18[_0xdd25('0x37')]=_['keys'](_0x4a3298[_0xdd25('0x37')]);_0x19dc18['filters']=_[_0xdd25('0x38')](_0x19dc18[_0xdd25('0x36')],_0x19dc18['query']);_0x28edcf[_0xdd25('0x39')]=_[_0xdd25('0x38')](_0x19dc18[_0xdd25('0x36')],qs[_0xdd25('0x3a')](_0x4a3298['query'][_0xdd25('0x3a')]));_0x28edcf[_0xdd25('0x39')]=_0x28edcf[_0xdd25('0x39')][_0xdd25('0x3b')]?_0x28edcf[_0xdd25('0x39')]:_0x19dc18[_0xdd25('0x36')];if(!_0x4a3298[_0xdd25('0x37')][_0xdd25('0x3c')](_0xdd25('0x3d'))){_0x28edcf[_0xdd25('0x23')]=qs[_0xdd25('0x23')](_0x4a3298[_0xdd25('0x37')][_0xdd25('0x23')]);_0x28edcf[_0xdd25('0x21')]=qs[_0xdd25('0x21')](_0x4a3298['query'][_0xdd25('0x21')]);}_0x28edcf[_0xdd25('0x3e')]=qs[_0xdd25('0x3f')](_0x4a3298[_0xdd25('0x37')][_0xdd25('0x3f')]);_0x28edcf['where']=qs['filters'](_[_0xdd25('0x40')](_0x4a3298[_0xdd25('0x37')],_0x19dc18[_0xdd25('0x41')]),_0xe15ac3);if(_0x4a3298[_0xdd25('0x37')][_0xdd25('0x42')]){_0x28edcf[_0xdd25('0x43')]=_[_0xdd25('0x44')](_0x28edcf[_0xdd25('0x43')],{'$or':_[_0xdd25('0x32')](_0xe15ac3,function(_0x1e8a0c){if(_0x1e8a0c[_0xdd25('0x45')]!=='VIRTUAL'){var _0x300718={};_0x300718[_0x1e8a0c['name']]={'$like':'%'+_0x4a3298['query']['filter']+'%'};return _0x300718;}})});}_0x28edcf=_[_0xdd25('0x44')]({},_0x28edcf,_0x4a3298[_0xdd25('0x46')]);var _0x560272={'where':_0x28edcf[_0xdd25('0x43')]};return db[_0xdd25('0x33')][_0xdd25('0x24')](_0x560272)[_0xdd25('0x2b')](function(_0x5ce32e){_0xb9a760[_0xdd25('0x24')]=_0x5ce32e;if(_0x4a3298[_0xdd25('0x37')][_0xdd25('0x47')]){_0x28edcf[_0xdd25('0x48')]=[{'all':!![]}];}return db[_0xdd25('0x33')][_0xdd25('0x49')](_0x28edcf);})[_0xdd25('0x2b')](function(_0x2e0b2c){_0xb9a760[_0xdd25('0x4a')]=_0x2e0b2c;return _0xb9a760;})[_0xdd25('0x2b')](respondWithFilteredResult(_0x3be342,_0x28edcf))['catch'](handleError(_0x3be342,null));};exports[_0xdd25('0x4b')]=function(_0x3b7a1a,_0x2e0e26){var _0x628637={'raw':!![],'where':{'id':_0x3b7a1a[_0xdd25('0x4c')]['id']}},_0x5084ea={};_0x5084ea[_0xdd25('0x36')]=_[_0xdd25('0x4d')](db[_0xdd25('0x33')][_0xdd25('0x4e')]);_0x5084ea['query']=_['keys'](_0x3b7a1a[_0xdd25('0x37')]);_0x5084ea[_0xdd25('0x41')]=_[_0xdd25('0x38')](_0x5084ea[_0xdd25('0x36')],_0x5084ea['query']);_0x628637[_0xdd25('0x39')]=_[_0xdd25('0x38')](_0x5084ea[_0xdd25('0x36')],qs[_0xdd25('0x3a')](_0x3b7a1a[_0xdd25('0x37')]['fields']));_0x628637[_0xdd25('0x39')]=_0x628637[_0xdd25('0x39')][_0xdd25('0x3b')]?_0x628637[_0xdd25('0x39')]:_0x5084ea[_0xdd25('0x36')];if(_0x3b7a1a[_0xdd25('0x37')][_0xdd25('0x47')]){_0x628637[_0xdd25('0x48')]=[{'all':!![]}];}_0x628637=_[_0xdd25('0x44')]({},_0x628637,_0x3b7a1a[_0xdd25('0x46')]);return db[_0xdd25('0x33')][_0xdd25('0x4f')](_0x628637)[_0xdd25('0x2b')](handleEntityNotFound(_0x2e0e26,null))[_0xdd25('0x2b')](respondWithResult(_0x2e0e26,null))[_0xdd25('0x50')](handleError(_0x2e0e26,null));};exports[_0xdd25('0x51')]=function(_0x280b73,_0xcba1fb){return db[_0xdd25('0x33')][_0xdd25('0x51')](_0x280b73['body'],{})[_0xdd25('0x2b')](respondWithResult(_0xcba1fb,0xc9))['catch'](handleError(_0xcba1fb,null));};exports['update']=function(_0x359e20,_0x1aaa1c){if(_0x359e20[_0xdd25('0x52')]['id']){delete _0x359e20[_0xdd25('0x52')]['id'];}return db[_0xdd25('0x33')][_0xdd25('0x4f')]({'where':{'id':_0x359e20[_0xdd25('0x4c')]['id']}})[_0xdd25('0x2b')](handleEntityNotFound(_0x1aaa1c,null))['then'](saveUpdates(_0x359e20['body'],null))[_0xdd25('0x2b')](respondWithResult(_0x1aaa1c,null))[_0xdd25('0x50')](handleError(_0x1aaa1c,null));};exports['destroy']=function(_0x23bb79,_0x424a35){return db['ChatTransferReport']['find']({'where':{'id':_0x23bb79['params']['id']}})[_0xdd25('0x2b')](handleEntityNotFound(_0x424a35,null))[_0xdd25('0x2b')](removeEntity(_0x424a35,null))[_0xdd25('0x50')](handleError(_0x424a35,null));};exports[_0xdd25('0x53')]=function(_0xcb8ab3,_0x5ad339){return db['ChatTransferReport'][_0xdd25('0x53')]()[_0xdd25('0x2b')](respondWithResult(_0x5ad339,null))[_0xdd25('0x50')](handleError(_0x5ad339,null));};