Built motion from commit 4c579f6b.|2.5.32
[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 _0x624d=['VIRTUAL','includeAll','include','rows','catch','show','options','find','create','body','update','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','save','then','destroy','error','stack','name','send','index','map','ChatTransferReport','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge'];(function(_0x3cd3e3,_0x465985){var _0x241695=function(_0x5067fc){while(--_0x5067fc){_0x3cd3e3['push'](_0x3cd3e3['shift']());}};_0x241695(++_0x465985);}(_0x624d,0x1ed));var _0xd624=function(_0x21ecc8,_0x2bdead){_0x21ecc8=_0x21ecc8-0x0;var _0x510c1d=_0x624d[_0x21ecc8];return _0x510c1d;};'use strict';var emlformat=require(_0xd624('0x0'));var rimraf=require(_0xd624('0x1'));var zipdir=require(_0xd624('0x2'));var jsonpatch=require(_0xd624('0x3'));var rp=require(_0xd624('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xd624('0x5'));var path=require(_0xd624('0x6'));var sox=require(_0xd624('0x7'));var csv=require(_0xd624('0x8'));var ejs=require(_0xd624('0x9'));var fs=require('fs');var fs_extra=require(_0xd624('0xa'));var _=require(_0xd624('0xb'));var squel=require(_0xd624('0xc'));var crypto=require(_0xd624('0xd'));var jsforce=require(_0xd624('0xe'));var deskjs=require(_0xd624('0xf'));var toCsv=require(_0xd624('0x8'));var querystring=require(_0xd624('0x10'));var Papa=require(_0xd624('0x11'));var Redis=require(_0xd624('0x12'));var authService=require(_0xd624('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd624('0x14'));var logger=require(_0xd624('0x15'))(_0xd624('0x16'));var utils=require(_0xd624('0x17'));var config=require(_0xd624('0x18'));var licenseUtil=require(_0xd624('0x19'));var db=require(_0xd624('0x1a'))['db'];function respondWithStatusCode(_0x549fc4,_0x2f4d55){_0x2f4d55=_0x2f4d55||0xcc;return function(_0x4fdce1){if(_0x4fdce1){return _0x549fc4[_0xd624('0x1b')](_0x2f4d55);}return _0x549fc4['status'](_0x2f4d55)[_0xd624('0x1c')]();};}function respondWithResult(_0x3aac0c,_0x4bac7a){_0x4bac7a=_0x4bac7a||0xc8;return function(_0xdb05f3){if(_0xdb05f3){return _0x3aac0c['status'](_0x4bac7a)[_0xd624('0x1d')](_0xdb05f3);}};}function respondWithFilteredResult(_0x3517e3,_0x5a6ca7){return function(_0xbbd253){if(_0xbbd253){var _0x406fb3=typeof _0x5a6ca7[_0xd624('0x1e')]===_0xd624('0x1f')&&typeof _0x5a6ca7[_0xd624('0x20')]===_0xd624('0x1f');var _0x4f4f14=_0xbbd253['count'];var _0x111a68=_0x406fb3?0x0:_0x5a6ca7[_0xd624('0x1e')];var _0x1d3b38=_0x406fb3?_0xbbd253[_0xd624('0x21')]:_0x5a6ca7[_0xd624('0x1e')]+_0x5a6ca7[_0xd624('0x20')];var _0x1cb78a;if(_0x1d3b38>=_0x4f4f14){_0x1d3b38=_0x4f4f14;_0x1cb78a=0xc8;}else{_0x1cb78a=0xce;}_0x3517e3[_0xd624('0x22')](_0x1cb78a);return _0x3517e3[_0xd624('0x23')](_0xd624('0x24'),_0x111a68+'-'+_0x1d3b38+'/'+_0x4f4f14)[_0xd624('0x1d')](_0xbbd253);}return null;};}function patchUpdates(_0x33647f){return function(_0x4894c2){try{jsonpatch[_0xd624('0x25')](_0x4894c2,_0x33647f,!![]);}catch(_0x3dc966){return BPromise['reject'](_0x3dc966);}return _0x4894c2[_0xd624('0x26')]();};}function saveUpdates(_0x367692,_0x2a8d7d){return function(_0x3c6cd9){if(_0x3c6cd9){return _0x3c6cd9['update'](_0x367692)[_0xd624('0x27')](function(_0x1d9ad9){return _0x1d9ad9;});}return null;};}function removeEntity(_0x47e196,_0x543522){return function(_0x305cd5){if(_0x305cd5){return _0x305cd5[_0xd624('0x28')]()[_0xd624('0x27')](function(){_0x47e196['status'](0xcc)[_0xd624('0x1c')]();});}};}function handleEntityNotFound(_0x561f7b,_0x5a5726){return function(_0xd21a7b){if(!_0xd21a7b){_0x561f7b[_0xd624('0x1b')](0x194);}return _0xd21a7b;};}function handleError(_0x4d5211,_0x44fb03){_0x44fb03=_0x44fb03||0x1f4;return function(_0x3c14d2){logger[_0xd624('0x29')](_0x3c14d2[_0xd624('0x2a')]);if(_0x3c14d2[_0xd624('0x2b')]){delete _0x3c14d2[_0xd624('0x2b')];}_0x4d5211[_0xd624('0x22')](_0x44fb03)[_0xd624('0x2c')](_0x3c14d2);};}exports[_0xd624('0x2d')]=function(_0x2f0bd7,_0x57c0e4){var _0x4a0622={},_0x340838={},_0x3ee54a={'count':0x0,'rows':[]};var _0x637ed0=_[_0xd624('0x2e')](db[_0xd624('0x2f')][_0xd624('0x30')],function(_0x192e3f){return{'name':_0x192e3f[_0xd624('0x31')],'type':_0x192e3f[_0xd624('0x32')]['key']};});_0x340838[_0xd624('0x33')]=_['map'](_0x637ed0,_0xd624('0x2b'));_0x340838[_0xd624('0x34')]=_[_0xd624('0x35')](_0x2f0bd7['query']);_0x340838[_0xd624('0x36')]=_['intersection'](_0x340838[_0xd624('0x33')],_0x340838['query']);_0x4a0622['attributes']=_[_0xd624('0x37')](_0x340838[_0xd624('0x33')],qs['fields'](_0x2f0bd7[_0xd624('0x34')][_0xd624('0x38')]));_0x4a0622[_0xd624('0x39')]=_0x4a0622['attributes'][_0xd624('0x3a')]?_0x4a0622[_0xd624('0x39')]:_0x340838[_0xd624('0x33')];if(!_0x2f0bd7[_0xd624('0x34')][_0xd624('0x3b')](_0xd624('0x3c'))){_0x4a0622[_0xd624('0x20')]=qs[_0xd624('0x20')](_0x2f0bd7[_0xd624('0x34')][_0xd624('0x20')]);_0x4a0622[_0xd624('0x1e')]=qs['offset'](_0x2f0bd7[_0xd624('0x34')]['offset']);}_0x4a0622[_0xd624('0x3d')]=qs['sort'](_0x2f0bd7[_0xd624('0x34')][_0xd624('0x3e')]);_0x4a0622[_0xd624('0x3f')]=qs[_0xd624('0x36')](_[_0xd624('0x40')](_0x2f0bd7[_0xd624('0x34')],_0x340838[_0xd624('0x36')]),_0x637ed0);if(_0x2f0bd7[_0xd624('0x34')][_0xd624('0x41')]){_0x4a0622['where']=_[_0xd624('0x42')](_0x4a0622['where'],{'$or':_[_0xd624('0x2e')](_0x637ed0,function(_0x76d1a8){if(_0x76d1a8[_0xd624('0x32')]!==_0xd624('0x43')){var _0x144d41={};_0x144d41[_0x76d1a8[_0xd624('0x2b')]]={'$like':'%'+_0x2f0bd7[_0xd624('0x34')][_0xd624('0x41')]+'%'};return _0x144d41;}})});}_0x4a0622=_[_0xd624('0x42')]({},_0x4a0622,_0x2f0bd7['options']);var _0x35f07a={'where':_0x4a0622[_0xd624('0x3f')]};return db[_0xd624('0x2f')][_0xd624('0x21')](_0x35f07a)[_0xd624('0x27')](function(_0x52a524){_0x3ee54a[_0xd624('0x21')]=_0x52a524;if(_0x2f0bd7['query'][_0xd624('0x44')]){_0x4a0622[_0xd624('0x45')]=[{'all':!![]}];}return db[_0xd624('0x2f')]['findAll'](_0x4a0622);})[_0xd624('0x27')](function(_0x3052eb){_0x3ee54a[_0xd624('0x46')]=_0x3052eb;return _0x3ee54a;})['then'](respondWithFilteredResult(_0x57c0e4,_0x4a0622))[_0xd624('0x47')](handleError(_0x57c0e4,null));};exports[_0xd624('0x48')]=function(_0x2b32d6,_0x3c14c9){var _0x311ca3={'raw':!![],'where':{'id':_0x2b32d6['params']['id']}},_0x47a79f={};_0x47a79f[_0xd624('0x33')]=_[_0xd624('0x35')](db[_0xd624('0x2f')][_0xd624('0x30')]);_0x47a79f[_0xd624('0x34')]=_['keys'](_0x2b32d6[_0xd624('0x34')]);_0x47a79f[_0xd624('0x36')]=_[_0xd624('0x37')](_0x47a79f['model'],_0x47a79f[_0xd624('0x34')]);_0x311ca3[_0xd624('0x39')]=_[_0xd624('0x37')](_0x47a79f[_0xd624('0x33')],qs[_0xd624('0x38')](_0x2b32d6[_0xd624('0x34')][_0xd624('0x38')]));_0x311ca3['attributes']=_0x311ca3[_0xd624('0x39')]['length']?_0x311ca3['attributes']:_0x47a79f['model'];if(_0x2b32d6[_0xd624('0x34')][_0xd624('0x44')]){_0x311ca3[_0xd624('0x45')]=[{'all':!![]}];}_0x311ca3=_[_0xd624('0x42')]({},_0x311ca3,_0x2b32d6[_0xd624('0x49')]);return db['ChatTransferReport'][_0xd624('0x4a')](_0x311ca3)[_0xd624('0x27')](handleEntityNotFound(_0x3c14c9,null))[_0xd624('0x27')](respondWithResult(_0x3c14c9,null))[_0xd624('0x47')](handleError(_0x3c14c9,null));};exports[_0xd624('0x4b')]=function(_0x1549c6,_0x9373d3){return db[_0xd624('0x2f')]['create'](_0x1549c6[_0xd624('0x4c')],{})[_0xd624('0x27')](respondWithResult(_0x9373d3,0xc9))['catch'](handleError(_0x9373d3,null));};exports[_0xd624('0x4d')]=function(_0x3c01e2,_0x516101){if(_0x3c01e2[_0xd624('0x4c')]['id']){delete _0x3c01e2[_0xd624('0x4c')]['id'];}return db[_0xd624('0x2f')]['find']({'where':{'id':_0x3c01e2[_0xd624('0x4e')]['id']}})['then'](handleEntityNotFound(_0x516101,null))[_0xd624('0x27')](saveUpdates(_0x3c01e2['body'],null))[_0xd624('0x27')](respondWithResult(_0x516101,null))['catch'](handleError(_0x516101,null));};exports[_0xd624('0x28')]=function(_0x1bde64,_0x141f92){return db[_0xd624('0x2f')][_0xd624('0x4a')]({'where':{'id':_0x1bde64[_0xd624('0x4e')]['id']}})[_0xd624('0x27')](handleEntityNotFound(_0x141f92,null))['then'](removeEntity(_0x141f92,null))[_0xd624('0x47')](handleError(_0x141f92,null));};exports[_0xd624('0x4f')]=function(_0x42f440,_0x43c175){return db[_0xd624('0x2f')]['describe']()['then'](respondWithResult(_0x43c175,null))[_0xd624('0x47')](handleError(_0x43c175,null));};