a939e8bbf5185c12d93d428028d87ac4b5353411
[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 _0xde6c=['../../mysqldb','status','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','destroy','end','name','send','map','MailTransferReport','rawAttributes','fieldName','query','keys','filters','model','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','include','rows','catch','params','options','find','create','body','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0xde6c,0xc9));var _0xcde6=function(_0x485b5a,_0x2b289b){_0x485b5a=_0x485b5a-0x0;var _0xd2b34d=_0xde6c[_0x485b5a];return _0xd2b34d;};'use strict';var emlformat=require(_0xcde6('0x0'));var rimraf=require(_0xcde6('0x1'));var zipdir=require(_0xcde6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcde6('0x3'));var moment=require(_0xcde6('0x4'));var BPromise=require(_0xcde6('0x5'));var Mustache=require(_0xcde6('0x6'));var util=require(_0xcde6('0x7'));var path=require(_0xcde6('0x8'));var sox=require(_0xcde6('0x9'));var csv=require(_0xcde6('0xa'));var ejs=require(_0xcde6('0xb'));var fs=require('fs');var fs_extra=require(_0xcde6('0xc'));var _=require(_0xcde6('0xd'));var squel=require(_0xcde6('0xe'));var crypto=require(_0xcde6('0xf'));var jsforce=require(_0xcde6('0x10'));var deskjs=require(_0xcde6('0x11'));var toCsv=require(_0xcde6('0xa'));var querystring=require(_0xcde6('0x12'));var Papa=require(_0xcde6('0x13'));var Redis=require('ioredis');var authService=require(_0xcde6('0x14'));var qs=require(_0xcde6('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcde6('0x16'));var logger=require('../../config/logger')(_0xcde6('0x17'));var utils=require(_0xcde6('0x18'));var config=require(_0xcde6('0x19'));var licenseUtil=require(_0xcde6('0x1a'));var db=require(_0xcde6('0x1b'))['db'];function respondWithStatusCode(_0x155adc,_0x55deb8){_0x55deb8=_0x55deb8||0xcc;return function(_0x39ae1c){if(_0x39ae1c){return _0x155adc['sendStatus'](_0x55deb8);}return _0x155adc[_0xcde6('0x1c')](_0x55deb8)['end']();};}function respondWithResult(_0x2e4b72,_0x1d1547){_0x1d1547=_0x1d1547||0xc8;return function(_0x21bd06){if(_0x21bd06){return _0x2e4b72[_0xcde6('0x1c')](_0x1d1547)[_0xcde6('0x1d')](_0x21bd06);}};}function respondWithFilteredResult(_0x38944,_0x329c9e){return function(_0x1a377f){if(_0x1a377f){var _0x331f76=typeof _0x329c9e[_0xcde6('0x1e')]==='undefined'&&typeof _0x329c9e[_0xcde6('0x1f')]===_0xcde6('0x20');var _0xb92abb=_0x1a377f[_0xcde6('0x21')];var _0x138ba4=_0x331f76?0x0:_0x329c9e[_0xcde6('0x1e')];var _0x5243f4=_0x331f76?_0x1a377f['count']:_0x329c9e[_0xcde6('0x1e')]+_0x329c9e[_0xcde6('0x1f')];var _0xb49b92;if(_0x5243f4>=_0xb92abb){_0x5243f4=_0xb92abb;_0xb49b92=0xc8;}else{_0xb49b92=0xce;}_0x38944[_0xcde6('0x1c')](_0xb49b92);return _0x38944['set'](_0xcde6('0x22'),_0x138ba4+'-'+_0x5243f4+'/'+_0xb92abb)[_0xcde6('0x1d')](_0x1a377f);}return null;};}function patchUpdates(_0xa23b95){return function(_0x35920b){try{jsonpatch[_0xcde6('0x23')](_0x35920b,_0xa23b95,!![]);}catch(_0x3e2b87){return BPromise[_0xcde6('0x24')](_0x3e2b87);}return _0x35920b[_0xcde6('0x25')]();};}function saveUpdates(_0x5c5e36,_0x27c774){return function(_0x460861){if(_0x460861){return _0x460861[_0xcde6('0x26')](_0x5c5e36)[_0xcde6('0x27')](function(_0x3d2a30){return _0x3d2a30;});}return null;};}function removeEntity(_0x5ec11f,_0x312cd5){return function(_0x4659c9){if(_0x4659c9){return _0x4659c9[_0xcde6('0x28')]()[_0xcde6('0x27')](function(){_0x5ec11f[_0xcde6('0x1c')](0xcc)[_0xcde6('0x29')]();});}};}function handleEntityNotFound(_0x3424a6,_0x4e3fb0){return function(_0x5c3b35){if(!_0x5c3b35){_0x3424a6['sendStatus'](0x194);}return _0x5c3b35;};}function handleError(_0x5cf84e,_0x5eba0b){_0x5eba0b=_0x5eba0b||0x1f4;return function(_0x213df9){logger['error'](_0x213df9['stack']);if(_0x213df9[_0xcde6('0x2a')]){delete _0x213df9[_0xcde6('0x2a')];}_0x5cf84e[_0xcde6('0x1c')](_0x5eba0b)[_0xcde6('0x2b')](_0x213df9);};}exports['index']=function(_0x37a651,_0x1c0ea1){var _0x52b132={},_0x8fc2e1={},_0x15a33d={'count':0x0,'rows':[]};var _0x8d73dd=_[_0xcde6('0x2c')](db[_0xcde6('0x2d')][_0xcde6('0x2e')],function(_0x453406){return{'name':_0x453406[_0xcde6('0x2f')],'type':_0x453406['type']['key']};});_0x8fc2e1['model']=_[_0xcde6('0x2c')](_0x8d73dd,'name');_0x8fc2e1[_0xcde6('0x30')]=_[_0xcde6('0x31')](_0x37a651[_0xcde6('0x30')]);_0x8fc2e1[_0xcde6('0x32')]=_['intersection'](_0x8fc2e1[_0xcde6('0x33')],_0x8fc2e1[_0xcde6('0x30')]);_0x52b132['attributes']=_[_0xcde6('0x34')](_0x8fc2e1[_0xcde6('0x33')],qs['fields'](_0x37a651[_0xcde6('0x30')][_0xcde6('0x35')]));_0x52b132[_0xcde6('0x36')]=_0x52b132['attributes'][_0xcde6('0x37')]?_0x52b132['attributes']:_0x8fc2e1[_0xcde6('0x33')];if(!_0x37a651[_0xcde6('0x30')][_0xcde6('0x38')](_0xcde6('0x39'))){_0x52b132[_0xcde6('0x1f')]=qs[_0xcde6('0x1f')](_0x37a651[_0xcde6('0x30')]['limit']);_0x52b132[_0xcde6('0x1e')]=qs[_0xcde6('0x1e')](_0x37a651['query'][_0xcde6('0x1e')]);}_0x52b132[_0xcde6('0x3a')]=qs[_0xcde6('0x3b')](_0x37a651['query'][_0xcde6('0x3b')]);_0x52b132[_0xcde6('0x3c')]=qs[_0xcde6('0x32')](_[_0xcde6('0x3d')](_0x37a651[_0xcde6('0x30')],_0x8fc2e1[_0xcde6('0x32')]),_0x8d73dd);if(_0x37a651[_0xcde6('0x30')][_0xcde6('0x3e')]){_0x52b132[_0xcde6('0x3c')]=_[_0xcde6('0x3f')](_0x52b132[_0xcde6('0x3c')],{'$or':_['map'](_0x8d73dd,function(_0x560f54){if(_0x560f54[_0xcde6('0x40')]!==_0xcde6('0x41')){var _0x452fb3={};_0x452fb3[_0x560f54[_0xcde6('0x2a')]]={'$like':'%'+_0x37a651['query'][_0xcde6('0x3e')]+'%'};return _0x452fb3;}})});}_0x52b132=_['merge']({},_0x52b132,_0x37a651['options']);var _0x3dc9bd={'where':_0x52b132['where']};return db[_0xcde6('0x2d')][_0xcde6('0x21')](_0x3dc9bd)[_0xcde6('0x27')](function(_0x218477){_0x15a33d[_0xcde6('0x21')]=_0x218477;if(_0x37a651[_0xcde6('0x30')][_0xcde6('0x42')]){_0x52b132[_0xcde6('0x43')]=[{'all':!![]}];}return db[_0xcde6('0x2d')]['findAll'](_0x52b132);})[_0xcde6('0x27')](function(_0x1f4e73){_0x15a33d[_0xcde6('0x44')]=_0x1f4e73;return _0x15a33d;})[_0xcde6('0x27')](respondWithFilteredResult(_0x1c0ea1,_0x52b132))[_0xcde6('0x45')](handleError(_0x1c0ea1,null));};exports['show']=function(_0x26e4bd,_0x319984){var _0xdf9601={'raw':!![],'where':{'id':_0x26e4bd[_0xcde6('0x46')]['id']}},_0x520cea={};_0x520cea[_0xcde6('0x33')]=_[_0xcde6('0x31')](db[_0xcde6('0x2d')][_0xcde6('0x2e')]);_0x520cea[_0xcde6('0x30')]=_[_0xcde6('0x31')](_0x26e4bd[_0xcde6('0x30')]);_0x520cea[_0xcde6('0x32')]=_['intersection'](_0x520cea[_0xcde6('0x33')],_0x520cea[_0xcde6('0x30')]);_0xdf9601['attributes']=_['intersection'](_0x520cea[_0xcde6('0x33')],qs[_0xcde6('0x35')](_0x26e4bd[_0xcde6('0x30')]['fields']));_0xdf9601[_0xcde6('0x36')]=_0xdf9601[_0xcde6('0x36')][_0xcde6('0x37')]?_0xdf9601[_0xcde6('0x36')]:_0x520cea[_0xcde6('0x33')];if(_0x26e4bd[_0xcde6('0x30')]['includeAll']){_0xdf9601['include']=[{'all':!![]}];}_0xdf9601=_[_0xcde6('0x3f')]({},_0xdf9601,_0x26e4bd[_0xcde6('0x47')]);return db[_0xcde6('0x2d')][_0xcde6('0x48')](_0xdf9601)[_0xcde6('0x27')](handleEntityNotFound(_0x319984,null))[_0xcde6('0x27')](respondWithResult(_0x319984,null))[_0xcde6('0x45')](handleError(_0x319984,null));};exports[_0xcde6('0x49')]=function(_0x7c7536,_0x305569){return db[_0xcde6('0x2d')][_0xcde6('0x49')](_0x7c7536[_0xcde6('0x4a')],{})[_0xcde6('0x27')](respondWithResult(_0x305569,0xc9))[_0xcde6('0x45')](handleError(_0x305569,null));};exports[_0xcde6('0x26')]=function(_0x34588e,_0x5b744e){if(_0x34588e['body']['id']){delete _0x34588e[_0xcde6('0x4a')]['id'];}return db[_0xcde6('0x2d')]['find']({'where':{'id':_0x34588e[_0xcde6('0x46')]['id']}})['then'](handleEntityNotFound(_0x5b744e,null))[_0xcde6('0x27')](saveUpdates(_0x34588e['body'],null))[_0xcde6('0x27')](respondWithResult(_0x5b744e,null))[_0xcde6('0x45')](handleError(_0x5b744e,null));};exports[_0xcde6('0x28')]=function(_0x16258b,_0x3027c4){return db[_0xcde6('0x2d')][_0xcde6('0x48')]({'where':{'id':_0x16258b[_0xcde6('0x46')]['id']}})['then'](handleEntityNotFound(_0x3027c4,null))[_0xcde6('0x27')](removeEntity(_0x3027c4,null))['catch'](handleError(_0x3027c4,null));};exports[_0xcde6('0x4b')]=function(_0x26902a,_0x2edc18){return db[_0xcde6('0x2d')][_0xcde6('0x4b')]()[_0xcde6('0x27')](respondWithResult(_0x2edc18,null))[_0xcde6('0x45')](handleError(_0x2edc18,null));};