Built motion from commit ab870f9e.|2.5.44
[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 _0xe9c3=['../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','reject','update','then','error','stack','name','index','map','MailTransferReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','pick','where','merge','options','includeAll','include','findAll','rows','catch','show','length','find','create','body','params','destroy','describe','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','ioredis'];(function(_0xf174bf,_0x1003c3){var _0xf5a82a=function(_0x300cc7){while(--_0x300cc7){_0xf174bf['push'](_0xf174bf['shift']());}};_0xf5a82a(++_0x1003c3);}(_0xe9c3,0x19c));var _0x3e9c=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xe9c3[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x3e9c('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3e9c('0x1'));var rp=require(_0x3e9c('0x2'));var moment=require(_0x3e9c('0x3'));var BPromise=require(_0x3e9c('0x4'));var Mustache=require(_0x3e9c('0x5'));var util=require(_0x3e9c('0x6'));var path=require(_0x3e9c('0x7'));var sox=require(_0x3e9c('0x8'));var csv=require(_0x3e9c('0x9'));var ejs=require(_0x3e9c('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3e9c('0xb'));var squel=require('squel');var crypto=require(_0x3e9c('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x3e9c('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x3e9c('0xd'));var authService=require(_0x3e9c('0xe'));var qs=require(_0x3e9c('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3e9c('0x10'))(_0x3e9c('0x11'));var utils=require(_0x3e9c('0x12'));var config=require(_0x3e9c('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x3e9c('0x14'))['db'];function respondWithStatusCode(_0x17caf5,_0x224f70){_0x224f70=_0x224f70||0xcc;return function(_0x24c3f6){if(_0x24c3f6){return _0x17caf5[_0x3e9c('0x15')](_0x224f70);}return _0x17caf5[_0x3e9c('0x16')](_0x224f70)[_0x3e9c('0x17')]();};}function respondWithResult(_0x49ca7a,_0x4f58de){_0x4f58de=_0x4f58de||0xc8;return function(_0x52fa4a){if(_0x52fa4a){return _0x49ca7a[_0x3e9c('0x16')](_0x4f58de)[_0x3e9c('0x18')](_0x52fa4a);}};}function respondWithFilteredResult(_0x43f69e,_0x42f8de){return function(_0x11d508){if(_0x11d508){var _0x53af96=typeof _0x42f8de['offset']===_0x3e9c('0x19')&&typeof _0x42f8de[_0x3e9c('0x1a')]==='undefined';var _0x5c8a08=_0x11d508[_0x3e9c('0x1b')];var _0x31f266=_0x53af96?0x0:_0x42f8de[_0x3e9c('0x1c')];var _0xf982c7=_0x53af96?_0x11d508[_0x3e9c('0x1b')]:_0x42f8de['offset']+_0x42f8de[_0x3e9c('0x1a')];var _0x27ffe6;if(_0xf982c7>=_0x5c8a08){_0xf982c7=_0x5c8a08;_0x27ffe6=0xc8;}else{_0x27ffe6=0xce;}_0x43f69e[_0x3e9c('0x16')](_0x27ffe6);return _0x43f69e[_0x3e9c('0x1d')](_0x3e9c('0x1e'),_0x31f266+'-'+_0xf982c7+'/'+_0x5c8a08)['json'](_0x11d508);}return null;};}function patchUpdates(_0x3c5473){return function(_0xa827da){try{jsonpatch['apply'](_0xa827da,_0x3c5473,!![]);}catch(_0x33c133){return BPromise[_0x3e9c('0x1f')](_0x33c133);}return _0xa827da['save']();};}function saveUpdates(_0x24457a,_0x1fe305){return function(_0x4954ff){if(_0x4954ff){return _0x4954ff[_0x3e9c('0x20')](_0x24457a)[_0x3e9c('0x21')](function(_0x3a5d20){return _0x3a5d20;});}return null;};}function removeEntity(_0x52d10f,_0x24f3b0){return function(_0x387cbb){if(_0x387cbb){return _0x387cbb['destroy']()[_0x3e9c('0x21')](function(){_0x52d10f[_0x3e9c('0x16')](0xcc)[_0x3e9c('0x17')]();});}};}function handleEntityNotFound(_0x16ff50,_0x461cdc){return function(_0x507027){if(!_0x507027){_0x16ff50[_0x3e9c('0x15')](0x194);}return _0x507027;};}function handleError(_0x5d8a8b,_0x45fcbc){_0x45fcbc=_0x45fcbc||0x1f4;return function(_0x3bb954){logger[_0x3e9c('0x22')](_0x3bb954[_0x3e9c('0x23')]);if(_0x3bb954[_0x3e9c('0x24')]){delete _0x3bb954['name'];}_0x5d8a8b[_0x3e9c('0x16')](_0x45fcbc)['send'](_0x3bb954);};}exports[_0x3e9c('0x25')]=function(_0xcc0610,_0x42581b){var _0x1e7327={},_0x1baf0e={},_0x126174={'count':0x0,'rows':[]};var _0x34e545=_[_0x3e9c('0x26')](db[_0x3e9c('0x27')][_0x3e9c('0x28')],function(_0x20bcb8){return{'name':_0x20bcb8[_0x3e9c('0x29')],'type':_0x20bcb8[_0x3e9c('0x2a')][_0x3e9c('0x2b')]};});_0x1baf0e[_0x3e9c('0x2c')]=_['map'](_0x34e545,_0x3e9c('0x24'));_0x1baf0e[_0x3e9c('0x2d')]=_[_0x3e9c('0x2e')](_0xcc0610[_0x3e9c('0x2d')]);_0x1baf0e[_0x3e9c('0x2f')]=_[_0x3e9c('0x30')](_0x1baf0e[_0x3e9c('0x2c')],_0x1baf0e[_0x3e9c('0x2d')]);_0x1e7327[_0x3e9c('0x31')]=_[_0x3e9c('0x30')](_0x1baf0e[_0x3e9c('0x2c')],qs[_0x3e9c('0x32')](_0xcc0610[_0x3e9c('0x2d')]['fields']));_0x1e7327[_0x3e9c('0x31')]=_0x1e7327[_0x3e9c('0x31')]['length']?_0x1e7327['attributes']:_0x1baf0e[_0x3e9c('0x2c')];if(!_0xcc0610['query'][_0x3e9c('0x33')]('nolimit')){_0x1e7327[_0x3e9c('0x1a')]=qs[_0x3e9c('0x1a')](_0xcc0610['query'][_0x3e9c('0x1a')]);_0x1e7327[_0x3e9c('0x1c')]=qs[_0x3e9c('0x1c')](_0xcc0610[_0x3e9c('0x2d')][_0x3e9c('0x1c')]);}_0x1e7327[_0x3e9c('0x34')]=qs[_0x3e9c('0x35')](_0xcc0610[_0x3e9c('0x2d')][_0x3e9c('0x35')]);_0x1e7327['where']=qs[_0x3e9c('0x2f')](_[_0x3e9c('0x36')](_0xcc0610[_0x3e9c('0x2d')],_0x1baf0e[_0x3e9c('0x2f')]),_0x34e545);if(_0xcc0610[_0x3e9c('0x2d')]['filter']){_0x1e7327[_0x3e9c('0x37')]=_[_0x3e9c('0x38')](_0x1e7327['where'],{'$or':_['map'](_0x34e545,function(_0x43a6ef){if(_0x43a6ef[_0x3e9c('0x2a')]!=='VIRTUAL'){var _0x46f4c8={};_0x46f4c8[_0x43a6ef[_0x3e9c('0x24')]]={'$like':'%'+_0xcc0610[_0x3e9c('0x2d')]['filter']+'%'};return _0x46f4c8;}})});}_0x1e7327=_[_0x3e9c('0x38')]({},_0x1e7327,_0xcc0610[_0x3e9c('0x39')]);var _0x539e79={'where':_0x1e7327[_0x3e9c('0x37')]};return db[_0x3e9c('0x27')][_0x3e9c('0x1b')](_0x539e79)[_0x3e9c('0x21')](function(_0xf3f0de){_0x126174[_0x3e9c('0x1b')]=_0xf3f0de;if(_0xcc0610[_0x3e9c('0x2d')][_0x3e9c('0x3a')]){_0x1e7327[_0x3e9c('0x3b')]=[{'all':!![]}];}return db[_0x3e9c('0x27')][_0x3e9c('0x3c')](_0x1e7327);})[_0x3e9c('0x21')](function(_0x1486db){_0x126174[_0x3e9c('0x3d')]=_0x1486db;return _0x126174;})[_0x3e9c('0x21')](respondWithFilteredResult(_0x42581b,_0x1e7327))[_0x3e9c('0x3e')](handleError(_0x42581b,null));};exports[_0x3e9c('0x3f')]=function(_0x5365fa,_0x11bd6f){var _0x4d1559={'raw':!![],'where':{'id':_0x5365fa['params']['id']}},_0x57dd0e={};_0x57dd0e[_0x3e9c('0x2c')]=_[_0x3e9c('0x2e')](db[_0x3e9c('0x27')][_0x3e9c('0x28')]);_0x57dd0e[_0x3e9c('0x2d')]=_['keys'](_0x5365fa[_0x3e9c('0x2d')]);_0x57dd0e[_0x3e9c('0x2f')]=_[_0x3e9c('0x30')](_0x57dd0e[_0x3e9c('0x2c')],_0x57dd0e[_0x3e9c('0x2d')]);_0x4d1559['attributes']=_[_0x3e9c('0x30')](_0x57dd0e[_0x3e9c('0x2c')],qs[_0x3e9c('0x32')](_0x5365fa['query'][_0x3e9c('0x32')]));_0x4d1559[_0x3e9c('0x31')]=_0x4d1559[_0x3e9c('0x31')][_0x3e9c('0x40')]?_0x4d1559[_0x3e9c('0x31')]:_0x57dd0e[_0x3e9c('0x2c')];if(_0x5365fa['query'][_0x3e9c('0x3a')]){_0x4d1559[_0x3e9c('0x3b')]=[{'all':!![]}];}_0x4d1559=_[_0x3e9c('0x38')]({},_0x4d1559,_0x5365fa['options']);return db['MailTransferReport'][_0x3e9c('0x41')](_0x4d1559)['then'](handleEntityNotFound(_0x11bd6f,null))[_0x3e9c('0x21')](respondWithResult(_0x11bd6f,null))[_0x3e9c('0x3e')](handleError(_0x11bd6f,null));};exports[_0x3e9c('0x42')]=function(_0x401f9e,_0x2e4cd3){return db[_0x3e9c('0x27')]['create'](_0x401f9e[_0x3e9c('0x43')],{})['then'](respondWithResult(_0x2e4cd3,0xc9))[_0x3e9c('0x3e')](handleError(_0x2e4cd3,null));};exports[_0x3e9c('0x20')]=function(_0x5c2ccc,_0x1cccca){if(_0x5c2ccc['body']['id']){delete _0x5c2ccc['body']['id'];}return db[_0x3e9c('0x27')][_0x3e9c('0x41')]({'where':{'id':_0x5c2ccc[_0x3e9c('0x44')]['id']}})[_0x3e9c('0x21')](handleEntityNotFound(_0x1cccca,null))[_0x3e9c('0x21')](saveUpdates(_0x5c2ccc[_0x3e9c('0x43')],null))[_0x3e9c('0x21')](respondWithResult(_0x1cccca,null))[_0x3e9c('0x3e')](handleError(_0x1cccca,null));};exports[_0x3e9c('0x45')]=function(_0x3a0ff3,_0xf9323){return db[_0x3e9c('0x27')][_0x3e9c('0x41')]({'where':{'id':_0x3a0ff3['params']['id']}})[_0x3e9c('0x21')](handleEntityNotFound(_0xf9323,null))[_0x3e9c('0x21')](removeEntity(_0xf9323,null))[_0x3e9c('0x3e')](handleError(_0xf9323,null));};exports[_0x3e9c('0x46')]=function(_0x20f827,_0x5bde56){return db['MailTransferReport']['describe']()[_0x3e9c('0x21')](respondWithResult(_0x5bde56,null))[_0x3e9c('0x3e')](handleError(_0x5bde56,null));};