Built motion from commit da617fac.|2.6.6
[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 _0xa797=['fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','json','apply','save','update','then','destroy','error','name','index','map','ChatTransferReport','rawAttributes','fieldName','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','merge','type','filter','options','includeAll','include','findAll','rows','catch','params','find','create','body','describe','rimraf','zip-dir'];(function(_0x364f8e,_0x5def7b){var _0xe226d8=function(_0x2e9889){while(--_0x2e9889){_0x364f8e['push'](_0x364f8e['shift']());}};_0xe226d8(++_0x5def7b);}(_0xa797,0x90));var _0x7a79=function(_0x1406ae,_0x292395){_0x1406ae=_0x1406ae-0x0;var _0x23a076=_0xa797[_0x1406ae];return _0x23a076;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7a79('0x0'));var zipdir=require(_0x7a79('0x1'));var jsonpatch=require(_0x7a79('0x2'));var rp=require(_0x7a79('0x3'));var moment=require(_0x7a79('0x4'));var BPromise=require(_0x7a79('0x5'));var Mustache=require(_0x7a79('0x6'));var util=require(_0x7a79('0x7'));var path=require(_0x7a79('0x8'));var sox=require(_0x7a79('0x9'));var csv=require(_0x7a79('0xa'));var ejs=require(_0x7a79('0xb'));var fs=require('fs');var fs_extra=require(_0x7a79('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7a79('0xd'));var deskjs=require(_0x7a79('0xe'));var toCsv=require(_0x7a79('0xa'));var querystring=require('querystring');var Papa=require(_0x7a79('0xf'));var Redis=require(_0x7a79('0x10'));var authService=require(_0x7a79('0x11'));var qs=require(_0x7a79('0x12'));var as=require(_0x7a79('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x7a79('0x14'));var utils=require(_0x7a79('0x15'));var config=require(_0x7a79('0x16'));var licenseUtil=require(_0x7a79('0x17'));var db=require(_0x7a79('0x18'))['db'];function respondWithStatusCode(_0x2e0ed0,_0x4887a3){_0x4887a3=_0x4887a3||0xcc;return function(_0x37f795){if(_0x37f795){return _0x2e0ed0[_0x7a79('0x19')](_0x4887a3);}return _0x2e0ed0[_0x7a79('0x1a')](_0x4887a3)[_0x7a79('0x1b')]();};}function respondWithResult(_0x4c1960,_0x33292d){_0x33292d=_0x33292d||0xc8;return function(_0x5bce9c){if(_0x5bce9c){return _0x4c1960[_0x7a79('0x1a')](_0x33292d)['json'](_0x5bce9c);}};}function respondWithFilteredResult(_0x3498cc,_0x3539df){return function(_0x44fa17){if(_0x44fa17){var _0x38ab21=typeof _0x3539df[_0x7a79('0x1c')]===_0x7a79('0x1d')&&typeof _0x3539df[_0x7a79('0x1e')]===_0x7a79('0x1d');var _0x4c81f7=_0x44fa17['count'];var _0x506a2d=_0x38ab21?0x0:_0x3539df[_0x7a79('0x1c')];var _0xa13c26=_0x38ab21?_0x44fa17[_0x7a79('0x1f')]:_0x3539df[_0x7a79('0x1c')]+_0x3539df[_0x7a79('0x1e')];var _0x53bcbf;if(_0xa13c26>=_0x4c81f7){_0xa13c26=_0x4c81f7;_0x53bcbf=0xc8;}else{_0x53bcbf=0xce;}_0x3498cc[_0x7a79('0x1a')](_0x53bcbf);return _0x3498cc['set']('Content-Range',_0x506a2d+'-'+_0xa13c26+'/'+_0x4c81f7)[_0x7a79('0x20')](_0x44fa17);}return null;};}function patchUpdates(_0x4c77d8){return function(_0x1aebe7){try{jsonpatch[_0x7a79('0x21')](_0x1aebe7,_0x4c77d8,!![]);}catch(_0x1a0f40){return BPromise['reject'](_0x1a0f40);}return _0x1aebe7[_0x7a79('0x22')]();};}function saveUpdates(_0x222845,_0x6e6917){return function(_0x129660){if(_0x129660){return _0x129660[_0x7a79('0x23')](_0x222845)[_0x7a79('0x24')](function(_0x3617f1){return _0x3617f1;});}return null;};}function removeEntity(_0x50c6c6,_0x424ef3){return function(_0x43b447){if(_0x43b447){return _0x43b447[_0x7a79('0x25')]()['then'](function(){_0x50c6c6[_0x7a79('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x655492,_0x2fb100){return function(_0xd17c08){if(!_0xd17c08){_0x655492[_0x7a79('0x19')](0x194);}return _0xd17c08;};}function handleError(_0x12b58e,_0x51d137){_0x51d137=_0x51d137||0x1f4;return function(_0x3b8c7e){logger[_0x7a79('0x26')](_0x3b8c7e['stack']);if(_0x3b8c7e[_0x7a79('0x27')]){delete _0x3b8c7e[_0x7a79('0x27')];}_0x12b58e[_0x7a79('0x1a')](_0x51d137)['send'](_0x3b8c7e);};}exports[_0x7a79('0x28')]=function(_0x23a14b,_0x5ecf2d){var _0x5dff39={},_0x5b9a6e={},_0x22e896={'count':0x0,'rows':[]};var _0xa317fa=_[_0x7a79('0x29')](db[_0x7a79('0x2a')][_0x7a79('0x2b')],function(_0x3676c6){return{'name':_0x3676c6[_0x7a79('0x2c')],'type':_0x3676c6['type'][_0x7a79('0x2d')]};});_0x5b9a6e[_0x7a79('0x2e')]=_[_0x7a79('0x29')](_0xa317fa,_0x7a79('0x27'));_0x5b9a6e['query']=_[_0x7a79('0x2f')](_0x23a14b[_0x7a79('0x30')]);_0x5b9a6e[_0x7a79('0x31')]=_[_0x7a79('0x32')](_0x5b9a6e[_0x7a79('0x2e')],_0x5b9a6e[_0x7a79('0x30')]);_0x5dff39['attributes']=_[_0x7a79('0x32')](_0x5b9a6e[_0x7a79('0x2e')],qs['fields'](_0x23a14b['query'][_0x7a79('0x33')]));_0x5dff39[_0x7a79('0x34')]=_0x5dff39[_0x7a79('0x34')][_0x7a79('0x35')]?_0x5dff39['attributes']:_0x5b9a6e['model'];if(!_0x23a14b[_0x7a79('0x30')][_0x7a79('0x36')](_0x7a79('0x37'))){_0x5dff39[_0x7a79('0x1e')]=qs[_0x7a79('0x1e')](_0x23a14b[_0x7a79('0x30')]['limit']);_0x5dff39[_0x7a79('0x1c')]=qs[_0x7a79('0x1c')](_0x23a14b[_0x7a79('0x30')]['offset']);}_0x5dff39['order']=qs['sort'](_0x23a14b[_0x7a79('0x30')][_0x7a79('0x38')]);_0x5dff39[_0x7a79('0x39')]=qs[_0x7a79('0x31')](_[_0x7a79('0x3a')](_0x23a14b['query'],_0x5b9a6e[_0x7a79('0x31')]),_0xa317fa);if(_0x23a14b[_0x7a79('0x30')]['filter']){_0x5dff39['where']=_[_0x7a79('0x3b')](_0x5dff39['where'],{'$or':_['map'](_0xa317fa,function(_0xdd1826){if(_0xdd1826[_0x7a79('0x3c')]!=='VIRTUAL'){var _0xac42c4={};_0xac42c4[_0xdd1826[_0x7a79('0x27')]]={'$like':'%'+_0x23a14b[_0x7a79('0x30')][_0x7a79('0x3d')]+'%'};return _0xac42c4;}})});}_0x5dff39=_['merge']({},_0x5dff39,_0x23a14b[_0x7a79('0x3e')]);var _0x19964e={'where':_0x5dff39[_0x7a79('0x39')]};return db[_0x7a79('0x2a')][_0x7a79('0x1f')](_0x19964e)[_0x7a79('0x24')](function(_0xee5b1a){_0x22e896['count']=_0xee5b1a;if(_0x23a14b[_0x7a79('0x30')][_0x7a79('0x3f')]){_0x5dff39[_0x7a79('0x40')]=[{'all':!![]}];}return db[_0x7a79('0x2a')][_0x7a79('0x41')](_0x5dff39);})[_0x7a79('0x24')](function(_0x4d3757){_0x22e896[_0x7a79('0x42')]=_0x4d3757;return _0x22e896;})[_0x7a79('0x24')](respondWithFilteredResult(_0x5ecf2d,_0x5dff39))[_0x7a79('0x43')](handleError(_0x5ecf2d,null));};exports['show']=function(_0x352d11,_0x5d0775){var _0x519977={'raw':!![],'where':{'id':_0x352d11[_0x7a79('0x44')]['id']}},_0x26cc31={};_0x26cc31[_0x7a79('0x2e')]=_[_0x7a79('0x2f')](db[_0x7a79('0x2a')][_0x7a79('0x2b')]);_0x26cc31[_0x7a79('0x30')]=_[_0x7a79('0x2f')](_0x352d11['query']);_0x26cc31[_0x7a79('0x31')]=_[_0x7a79('0x32')](_0x26cc31[_0x7a79('0x2e')],_0x26cc31[_0x7a79('0x30')]);_0x519977['attributes']=_[_0x7a79('0x32')](_0x26cc31[_0x7a79('0x2e')],qs['fields'](_0x352d11['query'][_0x7a79('0x33')]));_0x519977[_0x7a79('0x34')]=_0x519977[_0x7a79('0x34')][_0x7a79('0x35')]?_0x519977[_0x7a79('0x34')]:_0x26cc31[_0x7a79('0x2e')];if(_0x352d11['query']['includeAll']){_0x519977[_0x7a79('0x40')]=[{'all':!![]}];}_0x519977=_[_0x7a79('0x3b')]({},_0x519977,_0x352d11[_0x7a79('0x3e')]);return db[_0x7a79('0x2a')][_0x7a79('0x45')](_0x519977)['then'](handleEntityNotFound(_0x5d0775,null))[_0x7a79('0x24')](respondWithResult(_0x5d0775,null))[_0x7a79('0x43')](handleError(_0x5d0775,null));};exports[_0x7a79('0x46')]=function(_0x2a5eb4,_0x3a7265){return db[_0x7a79('0x2a')][_0x7a79('0x46')](_0x2a5eb4[_0x7a79('0x47')],{})[_0x7a79('0x24')](respondWithResult(_0x3a7265,0xc9))[_0x7a79('0x43')](handleError(_0x3a7265,null));};exports[_0x7a79('0x23')]=function(_0x5088ff,_0x54f289){if(_0x5088ff['body']['id']){delete _0x5088ff['body']['id'];}return db[_0x7a79('0x2a')]['find']({'where':{'id':_0x5088ff['params']['id']}})['then'](handleEntityNotFound(_0x54f289,null))[_0x7a79('0x24')](saveUpdates(_0x5088ff[_0x7a79('0x47')],null))['then'](respondWithResult(_0x54f289,null))[_0x7a79('0x43')](handleError(_0x54f289,null));};exports[_0x7a79('0x25')]=function(_0x5b36e8,_0x4fe009){return db[_0x7a79('0x2a')][_0x7a79('0x45')]({'where':{'id':_0x5b36e8['params']['id']}})[_0x7a79('0x24')](handleEntityNotFound(_0x4fe009,null))[_0x7a79('0x24')](removeEntity(_0x4fe009,null))[_0x7a79('0x43')](handleError(_0x4fe009,null));};exports[_0x7a79('0x48')]=function(_0x426aa5,_0xfbbd96){return db[_0x7a79('0x2a')][_0x7a79('0x48')]()['then'](respondWithResult(_0xfbbd96,null))[_0x7a79('0x43')](handleError(_0xfbbd96,null));};