071ea56d77dceae48fc4398eaaa3d78d3c079c37
[motion2.git] / server / api / mailTransferReport / mailTransferReport.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 _0x29e4=['papaparse','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','json','offset','limit','undefined','count','status','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','map','MailTransferReport','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','params','includeAll','find','create','body','describe','request-promise','moment','bluebird','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring'];(function(_0x53b199,_0x38ff21){var _0x1ba42d=function(_0x35dc53){while(--_0x35dc53){_0x53b199['push'](_0x53b199['shift']());}};_0x1ba42d(++_0x38ff21);}(_0x29e4,0x88));var _0x429e=function(_0x2bb9ac,_0x557e7d){_0x2bb9ac=_0x2bb9ac-0x0;var _0x2b897b=_0x29e4[_0x2bb9ac];return _0x2b897b;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x429e('0x0'));var moment=require(_0x429e('0x1'));var BPromise=require(_0x429e('0x2'));var Mustache=require('mustache');var util=require('util');var path=require(_0x429e('0x3'));var sox=require('sox');var csv=require(_0x429e('0x4'));var ejs=require(_0x429e('0x5'));var fs=require('fs');var fs_extra=require(_0x429e('0x6'));var _=require(_0x429e('0x7'));var squel=require(_0x429e('0x8'));var crypto=require(_0x429e('0x9'));var jsforce=require(_0x429e('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x429e('0x4'));var querystring=require(_0x429e('0xb'));var Papa=require(_0x429e('0xc'));var Redis=require('ioredis');var authService=require(_0x429e('0xd'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x429e('0xe'))(_0x429e('0xf'));var utils=require(_0x429e('0x10'));var config=require(_0x429e('0x11'));var licenseUtil=require(_0x429e('0x12'));var db=require(_0x429e('0x13'))['db'];function respondWithStatusCode(_0x17c286,_0x540f55){_0x540f55=_0x540f55||0xcc;return function(_0x28f0b6){if(_0x28f0b6){return _0x17c286[_0x429e('0x14')](_0x540f55);}return _0x17c286['status'](_0x540f55)['end']();};}function respondWithResult(_0x2c4fe2,_0x2c15f5){_0x2c15f5=_0x2c15f5||0xc8;return function(_0x350da5){if(_0x350da5){return _0x2c4fe2['status'](_0x2c15f5)[_0x429e('0x15')](_0x350da5);}};}function respondWithFilteredResult(_0x5da781,_0x54d102){return function(_0x4b1dde){if(_0x4b1dde){var _0x3f099d=typeof _0x54d102[_0x429e('0x16')]==='undefined'&&typeof _0x54d102[_0x429e('0x17')]===_0x429e('0x18');var _0x1ed8ff=_0x4b1dde[_0x429e('0x19')];var _0x3ec2ff=_0x3f099d?0x0:_0x54d102[_0x429e('0x16')];var _0x45770f=_0x3f099d?_0x4b1dde[_0x429e('0x19')]:_0x54d102[_0x429e('0x16')]+_0x54d102[_0x429e('0x17')];var _0x5b80fb;if(_0x45770f>=_0x1ed8ff){_0x45770f=_0x1ed8ff;_0x5b80fb=0xc8;}else{_0x5b80fb=0xce;}_0x5da781[_0x429e('0x1a')](_0x5b80fb);return _0x5da781['set'](_0x429e('0x1b'),_0x3ec2ff+'-'+_0x45770f+'/'+_0x1ed8ff)[_0x429e('0x15')](_0x4b1dde);}return null;};}function patchUpdates(_0x9d7ea2){return function(_0x4a8ec9){try{jsonpatch[_0x429e('0x1c')](_0x4a8ec9,_0x9d7ea2,!![]);}catch(_0x145248){return BPromise[_0x429e('0x1d')](_0x145248);}return _0x4a8ec9[_0x429e('0x1e')]();};}function saveUpdates(_0x267a49,_0x3011e3){return function(_0x379a6f){if(_0x379a6f){return _0x379a6f[_0x429e('0x1f')](_0x267a49)[_0x429e('0x20')](function(_0x11869a){return _0x11869a;});}return null;};}function removeEntity(_0x19c3e8,_0x3b4cec){return function(_0x306534){if(_0x306534){return _0x306534[_0x429e('0x21')]()[_0x429e('0x20')](function(){_0x19c3e8['status'](0xcc)[_0x429e('0x22')]();});}};}function handleEntityNotFound(_0x4a50b6,_0x263972){return function(_0x44617b){if(!_0x44617b){_0x4a50b6[_0x429e('0x14')](0x194);}return _0x44617b;};}function handleError(_0x550b8e,_0xbf295f){_0xbf295f=_0xbf295f||0x1f4;return function(_0x1e1279){logger[_0x429e('0x23')](_0x1e1279[_0x429e('0x24')]);if(_0x1e1279[_0x429e('0x25')]){delete _0x1e1279[_0x429e('0x25')];}_0x550b8e[_0x429e('0x1a')](_0xbf295f)[_0x429e('0x26')](_0x1e1279);};}exports[_0x429e('0x27')]=function(_0x512d4b,_0x127569){var _0x235e31={},_0x3905de={},_0x1c36de={'count':0x0,'rows':[]};var _0x20e04c=_[_0x429e('0x28')](db[_0x429e('0x29')][_0x429e('0x2a')],function(_0x96af74){return{'name':_0x96af74[_0x429e('0x2b')],'type':_0x96af74[_0x429e('0x2c')][_0x429e('0x2d')]};});_0x3905de['model']=_[_0x429e('0x28')](_0x20e04c,_0x429e('0x25'));_0x3905de[_0x429e('0x2e')]=_[_0x429e('0x2f')](_0x512d4b[_0x429e('0x2e')]);_0x3905de[_0x429e('0x30')]=_[_0x429e('0x31')](_0x3905de['model'],_0x3905de[_0x429e('0x2e')]);_0x235e31['attributes']=_['intersection'](_0x3905de[_0x429e('0x32')],qs[_0x429e('0x33')](_0x512d4b[_0x429e('0x2e')][_0x429e('0x33')]));_0x235e31['attributes']=_0x235e31[_0x429e('0x34')][_0x429e('0x35')]?_0x235e31['attributes']:_0x3905de[_0x429e('0x32')];if(!_0x512d4b[_0x429e('0x2e')][_0x429e('0x36')](_0x429e('0x37'))){_0x235e31['limit']=qs[_0x429e('0x17')](_0x512d4b[_0x429e('0x2e')]['limit']);_0x235e31[_0x429e('0x16')]=qs['offset'](_0x512d4b[_0x429e('0x2e')]['offset']);}_0x235e31[_0x429e('0x38')]=qs['sort'](_0x512d4b[_0x429e('0x2e')][_0x429e('0x39')]);_0x235e31[_0x429e('0x3a')]=qs[_0x429e('0x30')](_[_0x429e('0x3b')](_0x512d4b[_0x429e('0x2e')],_0x3905de['filters']),_0x20e04c);if(_0x512d4b[_0x429e('0x2e')][_0x429e('0x3c')]){_0x235e31[_0x429e('0x3a')]=_[_0x429e('0x3d')](_0x235e31[_0x429e('0x3a')],{'$or':_[_0x429e('0x28')](_0x20e04c,function(_0x3c7a1a){if(_0x3c7a1a[_0x429e('0x2c')]!==_0x429e('0x3e')){var _0x327969={};_0x327969[_0x3c7a1a[_0x429e('0x25')]]={'$like':'%'+_0x512d4b[_0x429e('0x2e')][_0x429e('0x3c')]+'%'};return _0x327969;}})});}_0x235e31=_[_0x429e('0x3d')]({},_0x235e31,_0x512d4b[_0x429e('0x3f')]);var _0x339afa={'where':_0x235e31[_0x429e('0x3a')]};return db[_0x429e('0x29')][_0x429e('0x19')](_0x339afa)[_0x429e('0x20')](function(_0xe1350f){_0x1c36de[_0x429e('0x19')]=_0xe1350f;if(_0x512d4b[_0x429e('0x2e')]['includeAll']){_0x235e31[_0x429e('0x40')]=[{'all':!![]}];}return db[_0x429e('0x29')][_0x429e('0x41')](_0x235e31);})[_0x429e('0x20')](function(_0x1b4c61){_0x1c36de[_0x429e('0x42')]=_0x1b4c61;return _0x1c36de;})[_0x429e('0x20')](respondWithFilteredResult(_0x127569,_0x235e31))[_0x429e('0x43')](handleError(_0x127569,null));};exports['show']=function(_0x529004,_0x43429f){var _0xc16fb2={'raw':!![],'where':{'id':_0x529004[_0x429e('0x44')]['id']}},_0x281497={};_0x281497[_0x429e('0x32')]=_['keys'](db[_0x429e('0x29')]['rawAttributes']);_0x281497['query']=_[_0x429e('0x2f')](_0x529004['query']);_0x281497[_0x429e('0x30')]=_[_0x429e('0x31')](_0x281497[_0x429e('0x32')],_0x281497['query']);_0xc16fb2[_0x429e('0x34')]=_[_0x429e('0x31')](_0x281497[_0x429e('0x32')],qs[_0x429e('0x33')](_0x529004[_0x429e('0x2e')][_0x429e('0x33')]));_0xc16fb2[_0x429e('0x34')]=_0xc16fb2[_0x429e('0x34')][_0x429e('0x35')]?_0xc16fb2[_0x429e('0x34')]:_0x281497['model'];if(_0x529004[_0x429e('0x2e')][_0x429e('0x45')]){_0xc16fb2[_0x429e('0x40')]=[{'all':!![]}];}_0xc16fb2=_[_0x429e('0x3d')]({},_0xc16fb2,_0x529004['options']);return db[_0x429e('0x29')][_0x429e('0x46')](_0xc16fb2)[_0x429e('0x20')](handleEntityNotFound(_0x43429f,null))[_0x429e('0x20')](respondWithResult(_0x43429f,null))[_0x429e('0x43')](handleError(_0x43429f,null));};exports['create']=function(_0x5ca238,_0x2f5749){return db[_0x429e('0x29')][_0x429e('0x47')](_0x5ca238[_0x429e('0x48')],{})[_0x429e('0x20')](respondWithResult(_0x2f5749,0xc9))['catch'](handleError(_0x2f5749,null));};exports['update']=function(_0x1a8e40,_0x341474){if(_0x1a8e40[_0x429e('0x48')]['id']){delete _0x1a8e40['body']['id'];}return db[_0x429e('0x29')][_0x429e('0x46')]({'where':{'id':_0x1a8e40[_0x429e('0x44')]['id']}})[_0x429e('0x20')](handleEntityNotFound(_0x341474,null))[_0x429e('0x20')](saveUpdates(_0x1a8e40[_0x429e('0x48')],null))[_0x429e('0x20')](respondWithResult(_0x341474,null))['catch'](handleError(_0x341474,null));};exports[_0x429e('0x21')]=function(_0x10b263,_0x5322a7){return db[_0x429e('0x29')]['find']({'where':{'id':_0x10b263[_0x429e('0x44')]['id']}})[_0x429e('0x20')](handleEntityNotFound(_0x5322a7,null))[_0x429e('0x20')](removeEntity(_0x5322a7,null))['catch'](handleError(_0x5322a7,null));};exports['describe']=function(_0x577a74,_0x1d3d51){return db[_0x429e('0x29')][_0x429e('0x49')]()[_0x429e('0x20')](respondWithResult(_0x1d3d51,null))[_0x429e('0x43')](handleError(_0x1d3d51,null));};