Built motion from commit 449495f6.|2.6.27
[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 _0x7af3=['status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','stack','name','send','index','ChatTransferReport','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','length','create','body','find','destroy','describe','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x557b44,_0x12aba8){var _0x311a77=function(_0x329c2d){while(--_0x329c2d){_0x557b44['push'](_0x557b44['shift']());}};_0x311a77(++_0x12aba8);}(_0x7af3,0x1c0));var _0x37af=function(_0x1d1779,_0x284147){_0x1d1779=_0x1d1779-0x0;var _0x2377e9=_0x7af3[_0x1d1779];return _0x2377e9;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x37af('0x0'));var zipdir=require(_0x37af('0x1'));var jsonpatch=require(_0x37af('0x2'));var rp=require('request-promise');var moment=require(_0x37af('0x3'));var BPromise=require(_0x37af('0x4'));var Mustache=require(_0x37af('0x5'));var util=require(_0x37af('0x6'));var path=require(_0x37af('0x7'));var sox=require('sox');var csv=require(_0x37af('0x8'));var ejs=require(_0x37af('0x9'));var fs=require('fs');var fs_extra=require(_0x37af('0xa'));var _=require('lodash');var squel=require(_0x37af('0xb'));var crypto=require(_0x37af('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x37af('0xd'));var toCsv=require(_0x37af('0x8'));var querystring=require('querystring');var Papa=require(_0x37af('0xe'));var Redis=require('ioredis');var authService=require(_0x37af('0xf'));var qs=require(_0x37af('0x10'));var as=require(_0x37af('0x11'));var hardwareService=require(_0x37af('0x12'));var logger=require(_0x37af('0x13'))(_0x37af('0x14'));var utils=require(_0x37af('0x15'));var config=require(_0x37af('0x16'));var licenseUtil=require(_0x37af('0x17'));var db=require(_0x37af('0x18'))['db'];function respondWithStatusCode(_0x53f45c,_0x2b6f3c){_0x2b6f3c=_0x2b6f3c||0xcc;return function(_0x3f3e87){if(_0x3f3e87){return _0x53f45c[_0x37af('0x19')](_0x2b6f3c);}return _0x53f45c[_0x37af('0x1a')](_0x2b6f3c)['end']();};}function respondWithResult(_0x551323,_0x4894d4){_0x4894d4=_0x4894d4||0xc8;return function(_0x338ca9){if(_0x338ca9){return _0x551323[_0x37af('0x1a')](_0x4894d4)[_0x37af('0x1b')](_0x338ca9);}};}function respondWithFilteredResult(_0x13bd26,_0x387c68){return function(_0x1c195d){if(_0x1c195d){var _0x2523f0=typeof _0x387c68[_0x37af('0x1c')]==='undefined'&&typeof _0x387c68['limit']===_0x37af('0x1d');var _0x988316=_0x1c195d[_0x37af('0x1e')];var _0x3ec1d0=_0x2523f0?0x0:_0x387c68['offset'];var _0x54573f=_0x2523f0?_0x1c195d[_0x37af('0x1e')]:_0x387c68[_0x37af('0x1c')]+_0x387c68[_0x37af('0x1f')];var _0x4b4a45;if(_0x54573f>=_0x988316){_0x54573f=_0x988316;_0x4b4a45=0xc8;}else{_0x4b4a45=0xce;}_0x13bd26['status'](_0x4b4a45);return _0x13bd26[_0x37af('0x20')](_0x37af('0x21'),_0x3ec1d0+'-'+_0x54573f+'/'+_0x988316)[_0x37af('0x1b')](_0x1c195d);}return null;};}function patchUpdates(_0x54e430){return function(_0xdf9df6){try{jsonpatch[_0x37af('0x22')](_0xdf9df6,_0x54e430,!![]);}catch(_0x3c9d4c){return BPromise[_0x37af('0x23')](_0x3c9d4c);}return _0xdf9df6[_0x37af('0x24')]();};}function saveUpdates(_0x2548c0,_0x42a952){return function(_0x4b1517){if(_0x4b1517){return _0x4b1517[_0x37af('0x25')](_0x2548c0)[_0x37af('0x26')](function(_0x1bdb64){return _0x1bdb64;});}return null;};}function removeEntity(_0x40c1b0,_0x492a9e){return function(_0x111419){if(_0x111419){return _0x111419['destroy']()['then'](function(){_0x40c1b0['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x116e8a,_0x1cf5bf){return function(_0x4b4aa6){if(!_0x4b4aa6){_0x116e8a[_0x37af('0x19')](0x194);}return _0x4b4aa6;};}function handleError(_0x2f5dcb,_0x4b69e4){_0x4b69e4=_0x4b69e4||0x1f4;return function(_0x4a9c36){logger['error'](_0x4a9c36[_0x37af('0x27')]);if(_0x4a9c36[_0x37af('0x28')]){delete _0x4a9c36['name'];}_0x2f5dcb['status'](_0x4b69e4)[_0x37af('0x29')](_0x4a9c36);};}exports[_0x37af('0x2a')]=function(_0x5a3529,_0x498d96){var _0xa3fa70={},_0x495ac2={},_0x48fbab={'count':0x0,'rows':[]};var _0x414eca=_['map'](db[_0x37af('0x2b')][_0x37af('0x2c')],function(_0x3884ef){return{'name':_0x3884ef[_0x37af('0x2d')],'type':_0x3884ef[_0x37af('0x2e')][_0x37af('0x2f')]};});_0x495ac2[_0x37af('0x30')]=_[_0x37af('0x31')](_0x414eca,_0x37af('0x28'));_0x495ac2[_0x37af('0x32')]=_[_0x37af('0x33')](_0x5a3529[_0x37af('0x32')]);_0x495ac2[_0x37af('0x34')]=_[_0x37af('0x35')](_0x495ac2[_0x37af('0x30')],_0x495ac2[_0x37af('0x32')]);_0xa3fa70['attributes']=_[_0x37af('0x35')](_0x495ac2[_0x37af('0x30')],qs[_0x37af('0x36')](_0x5a3529[_0x37af('0x32')][_0x37af('0x36')]));_0xa3fa70['attributes']=_0xa3fa70[_0x37af('0x37')]['length']?_0xa3fa70[_0x37af('0x37')]:_0x495ac2[_0x37af('0x30')];if(!_0x5a3529[_0x37af('0x32')][_0x37af('0x38')](_0x37af('0x39'))){_0xa3fa70[_0x37af('0x1f')]=qs[_0x37af('0x1f')](_0x5a3529[_0x37af('0x32')][_0x37af('0x1f')]);_0xa3fa70[_0x37af('0x1c')]=qs[_0x37af('0x1c')](_0x5a3529[_0x37af('0x32')]['offset']);}_0xa3fa70[_0x37af('0x3a')]=qs[_0x37af('0x3b')](_0x5a3529[_0x37af('0x32')][_0x37af('0x3b')]);_0xa3fa70[_0x37af('0x3c')]=qs[_0x37af('0x34')](_[_0x37af('0x3d')](_0x5a3529[_0x37af('0x32')],_0x495ac2['filters']),_0x414eca);if(_0x5a3529[_0x37af('0x32')][_0x37af('0x3e')]){_0xa3fa70[_0x37af('0x3c')]=_[_0x37af('0x3f')](_0xa3fa70['where'],{'$or':_[_0x37af('0x31')](_0x414eca,function(_0x5f019c){if(_0x5f019c['type']!==_0x37af('0x40')){var _0xf88016={};_0xf88016[_0x5f019c[_0x37af('0x28')]]={'$like':'%'+_0x5a3529[_0x37af('0x32')][_0x37af('0x3e')]+'%'};return _0xf88016;}})});}_0xa3fa70=_[_0x37af('0x3f')]({},_0xa3fa70,_0x5a3529[_0x37af('0x41')]);var _0x44180d={'where':_0xa3fa70[_0x37af('0x3c')]};return db[_0x37af('0x2b')][_0x37af('0x1e')](_0x44180d)['then'](function(_0x112c6b){_0x48fbab[_0x37af('0x1e')]=_0x112c6b;if(_0x5a3529['query'][_0x37af('0x42')]){_0xa3fa70[_0x37af('0x43')]=[{'all':!![]}];}return db[_0x37af('0x2b')][_0x37af('0x44')](_0xa3fa70);})[_0x37af('0x26')](function(_0x3b3ad7){_0x48fbab[_0x37af('0x45')]=_0x3b3ad7;return _0x48fbab;})['then'](respondWithFilteredResult(_0x498d96,_0xa3fa70))[_0x37af('0x46')](handleError(_0x498d96,null));};exports[_0x37af('0x47')]=function(_0x564ddc,_0x4d051d){var _0x507dba={'raw':!![],'where':{'id':_0x564ddc[_0x37af('0x48')]['id']}},_0x35caea={};_0x35caea[_0x37af('0x30')]=_['keys'](db[_0x37af('0x2b')][_0x37af('0x2c')]);_0x35caea[_0x37af('0x32')]=_[_0x37af('0x33')](_0x564ddc[_0x37af('0x32')]);_0x35caea[_0x37af('0x34')]=_['intersection'](_0x35caea[_0x37af('0x30')],_0x35caea['query']);_0x507dba['attributes']=_[_0x37af('0x35')](_0x35caea[_0x37af('0x30')],qs[_0x37af('0x36')](_0x564ddc[_0x37af('0x32')]['fields']));_0x507dba[_0x37af('0x37')]=_0x507dba[_0x37af('0x37')][_0x37af('0x49')]?_0x507dba[_0x37af('0x37')]:_0x35caea[_0x37af('0x30')];if(_0x564ddc[_0x37af('0x32')]['includeAll']){_0x507dba[_0x37af('0x43')]=[{'all':!![]}];}_0x507dba=_['merge']({},_0x507dba,_0x564ddc[_0x37af('0x41')]);return db[_0x37af('0x2b')]['find'](_0x507dba)[_0x37af('0x26')](handleEntityNotFound(_0x4d051d,null))['then'](respondWithResult(_0x4d051d,null))[_0x37af('0x46')](handleError(_0x4d051d,null));};exports[_0x37af('0x4a')]=function(_0x229107,_0x55d359){return db[_0x37af('0x2b')]['create'](_0x229107[_0x37af('0x4b')],{})[_0x37af('0x26')](respondWithResult(_0x55d359,0xc9))[_0x37af('0x46')](handleError(_0x55d359,null));};exports[_0x37af('0x25')]=function(_0x45306e,_0x5a913f){if(_0x45306e[_0x37af('0x4b')]['id']){delete _0x45306e[_0x37af('0x4b')]['id'];}return db['ChatTransferReport'][_0x37af('0x4c')]({'where':{'id':_0x45306e[_0x37af('0x48')]['id']}})[_0x37af('0x26')](handleEntityNotFound(_0x5a913f,null))[_0x37af('0x26')](saveUpdates(_0x45306e[_0x37af('0x4b')],null))[_0x37af('0x26')](respondWithResult(_0x5a913f,null))[_0x37af('0x46')](handleError(_0x5a913f,null));};exports[_0x37af('0x4d')]=function(_0x5df5ef,_0x85c0e){return db['ChatTransferReport'][_0x37af('0x4c')]({'where':{'id':_0x5df5ef[_0x37af('0x48')]['id']}})['then'](handleEntityNotFound(_0x85c0e,null))[_0x37af('0x26')](removeEntity(_0x85c0e,null))[_0x37af('0x46')](handleError(_0x85c0e,null));};exports[_0x37af('0x4e')]=function(_0x768acc,_0x3de6b2){return db[_0x37af('0x2b')][_0x37af('0x4e')]()[_0x37af('0x26')](respondWithResult(_0x3de6b2,null))[_0x37af('0x46')](handleError(_0x3de6b2,null));};