Built motion from commit 19a84241.|2.5.34
[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 _0x77cd=['json','offset','undefined','limit','count','set','Content-Range','then','destroy','error','stack','send','index','ChatTransferReport','fieldName','type','model','map','name','query','keys','filters','attributes','fields','nolimit','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','intersection','length','find','create','update','body','describe','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x2c91e9,_0x2fb965){var _0x13f0ff=function(_0xb39edf){while(--_0xb39edf){_0x2c91e9['push'](_0x2c91e9['shift']());}};_0x13f0ff(++_0x2fb965);}(_0x77cd,0x103));var _0xd77c=function(_0x6a8441,_0x154c7b){_0x6a8441=_0x6a8441-0x0;var _0x1076e3=_0x77cd[_0x6a8441];return _0x1076e3;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd77c('0x0'));var zipdir=require(_0xd77c('0x1'));var jsonpatch=require(_0xd77c('0x2'));var rp=require('request-promise');var moment=require(_0xd77c('0x3'));var BPromise=require(_0xd77c('0x4'));var Mustache=require(_0xd77c('0x5'));var util=require(_0xd77c('0x6'));var path=require('path');var sox=require(_0xd77c('0x7'));var csv=require('to-csv');var ejs=require(_0xd77c('0x8'));var fs=require('fs');var fs_extra=require(_0xd77c('0x9'));var _=require('lodash');var squel=require(_0xd77c('0xa'));var crypto=require(_0xd77c('0xb'));var jsforce=require(_0xd77c('0xc'));var deskjs=require(_0xd77c('0xd'));var toCsv=require(_0xd77c('0xe'));var querystring=require(_0xd77c('0xf'));var Papa=require('papaparse');var Redis=require(_0xd77c('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xd77c('0x11'));var as=require(_0xd77c('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xd77c('0x13'));var licenseUtil=require(_0xd77c('0x14'));var db=require(_0xd77c('0x15'))['db'];function respondWithStatusCode(_0x2a1f8f,_0x469da4){_0x469da4=_0x469da4||0xcc;return function(_0x32b1ff){if(_0x32b1ff){return _0x2a1f8f[_0xd77c('0x16')](_0x469da4);}return _0x2a1f8f[_0xd77c('0x17')](_0x469da4)[_0xd77c('0x18')]();};}function respondWithResult(_0x2b696b,_0x5d67e9){_0x5d67e9=_0x5d67e9||0xc8;return function(_0x31a797){if(_0x31a797){return _0x2b696b[_0xd77c('0x17')](_0x5d67e9)[_0xd77c('0x19')](_0x31a797);}};}function respondWithFilteredResult(_0x384376,_0x5de8b2){return function(_0x3132b1){if(_0x3132b1){var _0x1504ed=typeof _0x5de8b2[_0xd77c('0x1a')]===_0xd77c('0x1b')&&typeof _0x5de8b2[_0xd77c('0x1c')]===_0xd77c('0x1b');var _0x4272d2=_0x3132b1[_0xd77c('0x1d')];var _0x5b0db3=_0x1504ed?0x0:_0x5de8b2[_0xd77c('0x1a')];var _0x29eb14=_0x1504ed?_0x3132b1[_0xd77c('0x1d')]:_0x5de8b2[_0xd77c('0x1a')]+_0x5de8b2[_0xd77c('0x1c')];var _0x32f155;if(_0x29eb14>=_0x4272d2){_0x29eb14=_0x4272d2;_0x32f155=0xc8;}else{_0x32f155=0xce;}_0x384376['status'](_0x32f155);return _0x384376[_0xd77c('0x1e')](_0xd77c('0x1f'),_0x5b0db3+'-'+_0x29eb14+'/'+_0x4272d2)[_0xd77c('0x19')](_0x3132b1);}return null;};}function patchUpdates(_0x136ea5){return function(_0x56733a){try{jsonpatch['apply'](_0x56733a,_0x136ea5,!![]);}catch(_0x3dcf3c){return BPromise['reject'](_0x3dcf3c);}return _0x56733a['save']();};}function saveUpdates(_0x4e53fb,_0x47602e){return function(_0x471ee9){if(_0x471ee9){return _0x471ee9['update'](_0x4e53fb)[_0xd77c('0x20')](function(_0x1c15e8){return _0x1c15e8;});}return null;};}function removeEntity(_0x1c5d73,_0x571e7f){return function(_0x1a1c86){if(_0x1a1c86){return _0x1a1c86[_0xd77c('0x21')]()[_0xd77c('0x20')](function(){_0x1c5d73[_0xd77c('0x17')](0xcc)[_0xd77c('0x18')]();});}};}function handleEntityNotFound(_0x6ea678,_0x2bb3de){return function(_0x596811){if(!_0x596811){_0x6ea678[_0xd77c('0x16')](0x194);}return _0x596811;};}function handleError(_0x294534,_0x2689b4){_0x2689b4=_0x2689b4||0x1f4;return function(_0x27d2c8){logger[_0xd77c('0x22')](_0x27d2c8[_0xd77c('0x23')]);if(_0x27d2c8['name']){delete _0x27d2c8['name'];}_0x294534[_0xd77c('0x17')](_0x2689b4)[_0xd77c('0x24')](_0x27d2c8);};}exports[_0xd77c('0x25')]=function(_0xb36f96,_0x6b4461){var _0x5b9f02={},_0x1ff28d={},_0x190026={'count':0x0,'rows':[]};var _0x26ca71=_['map'](db[_0xd77c('0x26')]['rawAttributes'],function(_0x231936){return{'name':_0x231936[_0xd77c('0x27')],'type':_0x231936[_0xd77c('0x28')]['key']};});_0x1ff28d[_0xd77c('0x29')]=_[_0xd77c('0x2a')](_0x26ca71,_0xd77c('0x2b'));_0x1ff28d[_0xd77c('0x2c')]=_[_0xd77c('0x2d')](_0xb36f96['query']);_0x1ff28d[_0xd77c('0x2e')]=_['intersection'](_0x1ff28d['model'],_0x1ff28d[_0xd77c('0x2c')]);_0x5b9f02[_0xd77c('0x2f')]=_['intersection'](_0x1ff28d[_0xd77c('0x29')],qs['fields'](_0xb36f96[_0xd77c('0x2c')][_0xd77c('0x30')]));_0x5b9f02[_0xd77c('0x2f')]=_0x5b9f02[_0xd77c('0x2f')]['length']?_0x5b9f02['attributes']:_0x1ff28d[_0xd77c('0x29')];if(!_0xb36f96['query']['hasOwnProperty'](_0xd77c('0x31'))){_0x5b9f02['limit']=qs[_0xd77c('0x1c')](_0xb36f96[_0xd77c('0x2c')][_0xd77c('0x1c')]);_0x5b9f02[_0xd77c('0x1a')]=qs['offset'](_0xb36f96[_0xd77c('0x2c')][_0xd77c('0x1a')]);}_0x5b9f02['order']=qs['sort'](_0xb36f96[_0xd77c('0x2c')]['sort']);_0x5b9f02[_0xd77c('0x32')]=qs[_0xd77c('0x2e')](_[_0xd77c('0x33')](_0xb36f96['query'],_0x1ff28d['filters']),_0x26ca71);if(_0xb36f96[_0xd77c('0x2c')][_0xd77c('0x34')]){_0x5b9f02[_0xd77c('0x32')]=_[_0xd77c('0x35')](_0x5b9f02['where'],{'$or':_[_0xd77c('0x2a')](_0x26ca71,function(_0x5ec84a){if(_0x5ec84a['type']!==_0xd77c('0x36')){var _0x224fe8={};_0x224fe8[_0x5ec84a[_0xd77c('0x2b')]]={'$like':'%'+_0xb36f96[_0xd77c('0x2c')]['filter']+'%'};return _0x224fe8;}})});}_0x5b9f02=_[_0xd77c('0x35')]({},_0x5b9f02,_0xb36f96[_0xd77c('0x37')]);var _0x4d1a8e={'where':_0x5b9f02[_0xd77c('0x32')]};return db[_0xd77c('0x26')][_0xd77c('0x1d')](_0x4d1a8e)[_0xd77c('0x20')](function(_0x3cb493){_0x190026['count']=_0x3cb493;if(_0xb36f96[_0xd77c('0x2c')][_0xd77c('0x38')]){_0x5b9f02[_0xd77c('0x39')]=[{'all':!![]}];}return db[_0xd77c('0x26')][_0xd77c('0x3a')](_0x5b9f02);})['then'](function(_0x101ad4){_0x190026[_0xd77c('0x3b')]=_0x101ad4;return _0x190026;})[_0xd77c('0x20')](respondWithFilteredResult(_0x6b4461,_0x5b9f02))[_0xd77c('0x3c')](handleError(_0x6b4461,null));};exports[_0xd77c('0x3d')]=function(_0x519040,_0x2b1f5f){var _0x196b37={'raw':!![],'where':{'id':_0x519040[_0xd77c('0x3e')]['id']}},_0x3e4997={};_0x3e4997[_0xd77c('0x29')]=_[_0xd77c('0x2d')](db[_0xd77c('0x26')][_0xd77c('0x3f')]);_0x3e4997['query']=_[_0xd77c('0x2d')](_0x519040[_0xd77c('0x2c')]);_0x3e4997[_0xd77c('0x2e')]=_[_0xd77c('0x40')](_0x3e4997[_0xd77c('0x29')],_0x3e4997[_0xd77c('0x2c')]);_0x196b37[_0xd77c('0x2f')]=_[_0xd77c('0x40')](_0x3e4997[_0xd77c('0x29')],qs[_0xd77c('0x30')](_0x519040[_0xd77c('0x2c')]['fields']));_0x196b37[_0xd77c('0x2f')]=_0x196b37[_0xd77c('0x2f')][_0xd77c('0x41')]?_0x196b37['attributes']:_0x3e4997[_0xd77c('0x29')];if(_0x519040[_0xd77c('0x2c')][_0xd77c('0x38')]){_0x196b37[_0xd77c('0x39')]=[{'all':!![]}];}_0x196b37=_[_0xd77c('0x35')]({},_0x196b37,_0x519040[_0xd77c('0x37')]);return db[_0xd77c('0x26')][_0xd77c('0x42')](_0x196b37)[_0xd77c('0x20')](handleEntityNotFound(_0x2b1f5f,null))[_0xd77c('0x20')](respondWithResult(_0x2b1f5f,null))[_0xd77c('0x3c')](handleError(_0x2b1f5f,null));};exports[_0xd77c('0x43')]=function(_0x184e81,_0x29157f){return db[_0xd77c('0x26')]['create'](_0x184e81['body'],{})['then'](respondWithResult(_0x29157f,0xc9))['catch'](handleError(_0x29157f,null));};exports[_0xd77c('0x44')]=function(_0x2557a4,_0x4ea60a){if(_0x2557a4[_0xd77c('0x45')]['id']){delete _0x2557a4['body']['id'];}return db[_0xd77c('0x26')][_0xd77c('0x42')]({'where':{'id':_0x2557a4[_0xd77c('0x3e')]['id']}})[_0xd77c('0x20')](handleEntityNotFound(_0x4ea60a,null))[_0xd77c('0x20')](saveUpdates(_0x2557a4[_0xd77c('0x45')],null))[_0xd77c('0x20')](respondWithResult(_0x4ea60a,null))['catch'](handleError(_0x4ea60a,null));};exports[_0xd77c('0x21')]=function(_0x4aad76,_0x3ac887){return db['ChatTransferReport'][_0xd77c('0x42')]({'where':{'id':_0x4aad76[_0xd77c('0x3e')]['id']}})[_0xd77c('0x20')](handleEntityNotFound(_0x3ac887,null))[_0xd77c('0x20')](removeEntity(_0x3ac887,null))[_0xd77c('0x3c')](handleError(_0x3ac887,null));};exports['describe']=function(_0x4d2a9e,_0x5577b2){return db[_0xd77c('0x26')][_0xd77c('0x46')]()[_0xd77c('0x20')](respondWithResult(_0x5577b2,null))['catch'](handleError(_0x5577b2,null));};