76a4e1512da01713c1ed15e5c1d248caa577f261
[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 _0xba47=['jsforce','desk.js','papaparse','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','limit','set','Content-Range','apply','save','update','then','error','stack','index','map','ChatTransferReport','fieldName','type','name','keys','query','filters','intersection','model','fields','attributes','hasOwnProperty','sort','where','pick','merge','VIRTUAL','filter','options','count','includeAll','include','show','params','rawAttributes','length','find','catch','create','body','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','fs-extra','lodash','crypto'];(function(_0x5a79e2,_0x319b1a){var _0x266c45=function(_0x172478){while(--_0x172478){_0x5a79e2['push'](_0x5a79e2['shift']());}};_0x266c45(++_0x319b1a);}(_0xba47,0x79));var _0x7ba4=function(_0x2875c6,_0x348d9b){_0x2875c6=_0x2875c6-0x0;var _0xd51333=_0xba47[_0x2875c6];return _0xd51333;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7ba4('0x0'));var zipdir=require(_0x7ba4('0x1'));var jsonpatch=require(_0x7ba4('0x2'));var rp=require(_0x7ba4('0x3'));var moment=require(_0x7ba4('0x4'));var BPromise=require(_0x7ba4('0x5'));var Mustache=require(_0x7ba4('0x6'));var util=require('util');var path=require(_0x7ba4('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7ba4('0x8'));var _=require(_0x7ba4('0x9'));var squel=require('squel');var crypto=require(_0x7ba4('0xa'));var jsforce=require(_0x7ba4('0xb'));var deskjs=require(_0x7ba4('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x7ba4('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x7ba4('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x7ba4('0xf'));var utils=require(_0x7ba4('0x10'));var config=require(_0x7ba4('0x11'));var licenseUtil=require('../../config/license/util');var db=require(_0x7ba4('0x12'))['db'];function respondWithStatusCode(_0x7b0ef4,_0xc6e5cc){_0xc6e5cc=_0xc6e5cc||0xcc;return function(_0x67e330){if(_0x67e330){return _0x7b0ef4[_0x7ba4('0x13')](_0xc6e5cc);}return _0x7b0ef4['status'](_0xc6e5cc)[_0x7ba4('0x14')]();};}function respondWithResult(_0x1b1002,_0x3c98a2){_0x3c98a2=_0x3c98a2||0xc8;return function(_0x1ad37b){if(_0x1ad37b){return _0x1b1002[_0x7ba4('0x15')](_0x3c98a2)[_0x7ba4('0x16')](_0x1ad37b);}};}function respondWithFilteredResult(_0x391060,_0x3ceb8e){return function(_0x3d1f88){if(_0x3d1f88){var _0x680402=typeof _0x3ceb8e[_0x7ba4('0x17')]==='undefined'&&typeof _0x3ceb8e[_0x7ba4('0x18')]==='undefined';var _0x49732e=_0x3d1f88['count'];var _0x3b6752=_0x680402?0x0:_0x3ceb8e[_0x7ba4('0x17')];var _0x5dfa42=_0x680402?_0x3d1f88['count']:_0x3ceb8e[_0x7ba4('0x17')]+_0x3ceb8e[_0x7ba4('0x18')];var _0x20ccf4;if(_0x5dfa42>=_0x49732e){_0x5dfa42=_0x49732e;_0x20ccf4=0xc8;}else{_0x20ccf4=0xce;}_0x391060[_0x7ba4('0x15')](_0x20ccf4);return _0x391060[_0x7ba4('0x19')](_0x7ba4('0x1a'),_0x3b6752+'-'+_0x5dfa42+'/'+_0x49732e)['json'](_0x3d1f88);}return null;};}function patchUpdates(_0x4669de){return function(_0x193aea){try{jsonpatch[_0x7ba4('0x1b')](_0x193aea,_0x4669de,!![]);}catch(_0x163eed){return BPromise['reject'](_0x163eed);}return _0x193aea[_0x7ba4('0x1c')]();};}function saveUpdates(_0x49763d,_0x1b4791){return function(_0x18e928){if(_0x18e928){return _0x18e928[_0x7ba4('0x1d')](_0x49763d)[_0x7ba4('0x1e')](function(_0x1a1154){return _0x1a1154;});}return null;};}function removeEntity(_0x3eb140,_0x52c470){return function(_0x2431c9){if(_0x2431c9){return _0x2431c9['destroy']()[_0x7ba4('0x1e')](function(){_0x3eb140[_0x7ba4('0x15')](0xcc)[_0x7ba4('0x14')]();});}};}function handleEntityNotFound(_0x3525dc,_0x334235){return function(_0x8064b2){if(!_0x8064b2){_0x3525dc[_0x7ba4('0x13')](0x194);}return _0x8064b2;};}function handleError(_0x2bab21,_0x46cab1){_0x46cab1=_0x46cab1||0x1f4;return function(_0x2d741d){logger[_0x7ba4('0x1f')](_0x2d741d[_0x7ba4('0x20')]);if(_0x2d741d['name']){delete _0x2d741d['name'];}_0x2bab21[_0x7ba4('0x15')](_0x46cab1)['send'](_0x2d741d);};}exports[_0x7ba4('0x21')]=function(_0x17a1a1,_0xcb6fa9){var _0x2c635b={},_0x333960={},_0x581dba={'count':0x0,'rows':[]};var _0x25959b=_[_0x7ba4('0x22')](db[_0x7ba4('0x23')]['rawAttributes'],function(_0x41a1be){return{'name':_0x41a1be[_0x7ba4('0x24')],'type':_0x41a1be[_0x7ba4('0x25')]['key']};});_0x333960['model']=_[_0x7ba4('0x22')](_0x25959b,_0x7ba4('0x26'));_0x333960['query']=_[_0x7ba4('0x27')](_0x17a1a1[_0x7ba4('0x28')]);_0x333960[_0x7ba4('0x29')]=_[_0x7ba4('0x2a')](_0x333960[_0x7ba4('0x2b')],_0x333960[_0x7ba4('0x28')]);_0x2c635b['attributes']=_[_0x7ba4('0x2a')](_0x333960[_0x7ba4('0x2b')],qs[_0x7ba4('0x2c')](_0x17a1a1['query'][_0x7ba4('0x2c')]));_0x2c635b[_0x7ba4('0x2d')]=_0x2c635b[_0x7ba4('0x2d')]['length']?_0x2c635b[_0x7ba4('0x2d')]:_0x333960[_0x7ba4('0x2b')];if(!_0x17a1a1['query'][_0x7ba4('0x2e')]('nolimit')){_0x2c635b[_0x7ba4('0x18')]=qs[_0x7ba4('0x18')](_0x17a1a1[_0x7ba4('0x28')]['limit']);_0x2c635b[_0x7ba4('0x17')]=qs[_0x7ba4('0x17')](_0x17a1a1[_0x7ba4('0x28')]['offset']);}_0x2c635b['order']=qs[_0x7ba4('0x2f')](_0x17a1a1[_0x7ba4('0x28')][_0x7ba4('0x2f')]);_0x2c635b[_0x7ba4('0x30')]=qs[_0x7ba4('0x29')](_[_0x7ba4('0x31')](_0x17a1a1[_0x7ba4('0x28')],_0x333960['filters']),_0x25959b);if(_0x17a1a1[_0x7ba4('0x28')]['filter']){_0x2c635b[_0x7ba4('0x30')]=_[_0x7ba4('0x32')](_0x2c635b[_0x7ba4('0x30')],{'$or':_['map'](_0x25959b,function(_0x48192b){if(_0x48192b['type']!==_0x7ba4('0x33')){var _0x34cd0a={};_0x34cd0a[_0x48192b['name']]={'$like':'%'+_0x17a1a1[_0x7ba4('0x28')][_0x7ba4('0x34')]+'%'};return _0x34cd0a;}})});}_0x2c635b=_[_0x7ba4('0x32')]({},_0x2c635b,_0x17a1a1[_0x7ba4('0x35')]);var _0x16bb8f={'where':_0x2c635b[_0x7ba4('0x30')]};return db['ChatTransferReport'][_0x7ba4('0x36')](_0x16bb8f)['then'](function(_0x273370){_0x581dba['count']=_0x273370;if(_0x17a1a1[_0x7ba4('0x28')][_0x7ba4('0x37')]){_0x2c635b[_0x7ba4('0x38')]=[{'all':!![]}];}return db[_0x7ba4('0x23')]['findAll'](_0x2c635b);})['then'](function(_0x1a18f4){_0x581dba['rows']=_0x1a18f4;return _0x581dba;})[_0x7ba4('0x1e')](respondWithFilteredResult(_0xcb6fa9,_0x2c635b))['catch'](handleError(_0xcb6fa9,null));};exports[_0x7ba4('0x39')]=function(_0x38f51b,_0x264912){var _0x130a46={'raw':!![],'where':{'id':_0x38f51b[_0x7ba4('0x3a')]['id']}},_0x47b441={};_0x47b441[_0x7ba4('0x2b')]=_[_0x7ba4('0x27')](db[_0x7ba4('0x23')][_0x7ba4('0x3b')]);_0x47b441[_0x7ba4('0x28')]=_['keys'](_0x38f51b[_0x7ba4('0x28')]);_0x47b441[_0x7ba4('0x29')]=_[_0x7ba4('0x2a')](_0x47b441[_0x7ba4('0x2b')],_0x47b441['query']);_0x130a46[_0x7ba4('0x2d')]=_[_0x7ba4('0x2a')](_0x47b441[_0x7ba4('0x2b')],qs[_0x7ba4('0x2c')](_0x38f51b[_0x7ba4('0x28')][_0x7ba4('0x2c')]));_0x130a46[_0x7ba4('0x2d')]=_0x130a46[_0x7ba4('0x2d')][_0x7ba4('0x3c')]?_0x130a46[_0x7ba4('0x2d')]:_0x47b441['model'];if(_0x38f51b['query'][_0x7ba4('0x37')]){_0x130a46[_0x7ba4('0x38')]=[{'all':!![]}];}_0x130a46=_[_0x7ba4('0x32')]({},_0x130a46,_0x38f51b['options']);return db[_0x7ba4('0x23')][_0x7ba4('0x3d')](_0x130a46)[_0x7ba4('0x1e')](handleEntityNotFound(_0x264912,null))[_0x7ba4('0x1e')](respondWithResult(_0x264912,null))[_0x7ba4('0x3e')](handleError(_0x264912,null));};exports[_0x7ba4('0x3f')]=function(_0x3216b5,_0x3491fb){return db[_0x7ba4('0x23')][_0x7ba4('0x3f')](_0x3216b5['body'],{})[_0x7ba4('0x1e')](respondWithResult(_0x3491fb,0xc9))[_0x7ba4('0x3e')](handleError(_0x3491fb,null));};exports['update']=function(_0x1d06d4,_0xae4622){if(_0x1d06d4[_0x7ba4('0x40')]['id']){delete _0x1d06d4[_0x7ba4('0x40')]['id'];}return db[_0x7ba4('0x23')][_0x7ba4('0x3d')]({'where':{'id':_0x1d06d4[_0x7ba4('0x3a')]['id']}})['then'](handleEntityNotFound(_0xae4622,null))[_0x7ba4('0x1e')](saveUpdates(_0x1d06d4[_0x7ba4('0x40')],null))['then'](respondWithResult(_0xae4622,null))[_0x7ba4('0x3e')](handleError(_0xae4622,null));};exports['destroy']=function(_0x553d1f,_0x22d470){return db[_0x7ba4('0x23')][_0x7ba4('0x3d')]({'where':{'id':_0x553d1f[_0x7ba4('0x3a')]['id']}})[_0x7ba4('0x1e')](handleEntityNotFound(_0x22d470,null))[_0x7ba4('0x1e')](removeEntity(_0x22d470,null))['catch'](handleError(_0x22d470,null));};exports[_0x7ba4('0x41')]=function(_0x551773,_0x1dbdc9){return db['ChatTransferReport']['describe']()[_0x7ba4('0x1e')](respondWithResult(_0x1dbdc9,null))[_0x7ba4('0x3e')](handleError(_0x1dbdc9,null));};