1c3ee25ce9b1e4e72a82d44ec14ef1b3e34983cc
[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 _0xf0cc=['rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','offset','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','count','limit','set','Content-Range','apply','reject','update','then','destroy','error','name','index','MailTransferReport'];(function(_0x1e05c8,_0x34eaa6){var _0x1e9ad6=function(_0x2402c2){while(--_0x2402c2){_0x1e05c8['push'](_0x1e05c8['shift']());}};_0x1e9ad6(++_0x34eaa6);}(_0xf0cc,0xaa));var _0xcf0c=function(_0x406195,_0x50c01e){_0x406195=_0x406195-0x0;var _0x4c1a26=_0xf0cc[_0x406195];return _0x4c1a26;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xcf0c('0x0'));var rimraf=require(_0xcf0c('0x1'));var zipdir=require(_0xcf0c('0x2'));var jsonpatch=require(_0xcf0c('0x3'));var rp=require('request-promise');var moment=require(_0xcf0c('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xcf0c('0x5'));var path=require(_0xcf0c('0x6'));var sox=require(_0xcf0c('0x7'));var csv=require(_0xcf0c('0x8'));var ejs=require(_0xcf0c('0x9'));var fs=require('fs');var _=require(_0xcf0c('0xa'));var squel=require(_0xcf0c('0xb'));var crypto=require(_0xcf0c('0xc'));var jsforce=require(_0xcf0c('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xcf0c('0x8'));var querystring=require('querystring');var Papa=require(_0xcf0c('0xe'));var Redis=require(_0xcf0c('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xcf0c('0x10'));var as=require(_0xcf0c('0x11'));var hardwareService=require(_0xcf0c('0x12'));var logger=require(_0xcf0c('0x13'))(_0xcf0c('0x14'));var utils=require(_0xcf0c('0x15'));var config=require(_0xcf0c('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3ffca2,_0x300103){_0x300103=_0x300103||0xcc;return function(_0x7db74d){if(_0x7db74d){return _0x3ffca2[_0xcf0c('0x17')](_0x300103);}return _0x3ffca2[_0xcf0c('0x18')](_0x300103)[_0xcf0c('0x19')]();};}function respondWithResult(_0x3f2269,_0x22d805){_0x22d805=_0x22d805||0xc8;return function(_0x1041f1){if(_0x1041f1){return _0x3f2269[_0xcf0c('0x18')](_0x22d805)[_0xcf0c('0x1a')](_0x1041f1);}};}function respondWithFilteredResult(_0x163f2b,_0x2c1926){return function(_0x213825){if(_0x213825){var _0x13e7fa=_0x213825[_0xcf0c('0x1b')],_0x331f62=_0x2c1926['offset'],_0x2237cc=_0x2c1926['offset']+_0x2c1926[_0xcf0c('0x1c')],_0xe7584;if(_0x2237cc>=_0x13e7fa){_0x2237cc=_0x13e7fa;_0xe7584=0xc8;}else{_0xe7584=0xce;}_0x163f2b['status'](_0xe7584);return _0x163f2b[_0xcf0c('0x1d')](_0xcf0c('0x1e'),_0x331f62+'-'+_0x2237cc+'/'+_0x13e7fa)[_0xcf0c('0x1a')](_0x213825);}return null;};}function patchUpdates(_0x50ca15){return function(_0x371ab4){try{jsonpatch[_0xcf0c('0x1f')](_0x371ab4,_0x50ca15,!![]);}catch(_0x1790c7){return BPromise[_0xcf0c('0x20')](_0x1790c7);}return _0x371ab4['save']();};}function saveUpdates(_0xd24470,_0x35e6a8){return function(_0x4a5248){if(_0x4a5248){return _0x4a5248[_0xcf0c('0x21')](_0xd24470)[_0xcf0c('0x22')](function(_0x36c781){return _0x36c781;});}return null;};}function removeEntity(_0xa143ea,_0x2dd269){return function(_0x365a2c){if(_0x365a2c){return _0x365a2c[_0xcf0c('0x23')]()['then'](function(){_0xa143ea[_0xcf0c('0x18')](0xcc)[_0xcf0c('0x19')]();});}};}function handleEntityNotFound(_0x3a2f46,_0xb5fe4c){return function(_0x210f2e){if(!_0x210f2e){_0x3a2f46[_0xcf0c('0x17')](0x194);}return _0x210f2e;};}function handleError(_0x57470f,_0x823daf){_0x823daf=_0x823daf||0x1f4;return function(_0x43a3ad){logger[_0xcf0c('0x24')](_0x43a3ad['stack']);if(_0x43a3ad[_0xcf0c('0x25')]){delete _0x43a3ad[_0xcf0c('0x25')];}_0x57470f[_0xcf0c('0x18')](_0x823daf)['send'](_0x43a3ad);};}exports[_0xcf0c('0x26')]=function(_0x1323a1,_0x21f94d){var _0x51c22e={},_0x167350={},_0x5d7200={'count':0x0,'rows':[]};var _0x19f996=_['map'](db[_0xcf0c('0x27')][_0xcf0c('0x28')],function(_0x5d1140){return{'name':_0x5d1140[_0xcf0c('0x29')],'type':_0x5d1140[_0xcf0c('0x2a')][_0xcf0c('0x2b')]};});_0x167350[_0xcf0c('0x2c')]=_[_0xcf0c('0x2d')](_0x19f996,_0xcf0c('0x25'));_0x167350[_0xcf0c('0x2e')]=_[_0xcf0c('0x2f')](_0x1323a1[_0xcf0c('0x2e')]);_0x167350['filters']=_[_0xcf0c('0x30')](_0x167350[_0xcf0c('0x2c')],_0x167350['query']);_0x51c22e[_0xcf0c('0x31')]=_['intersection'](_0x167350['model'],qs[_0xcf0c('0x32')](_0x1323a1['query'][_0xcf0c('0x32')]));_0x51c22e[_0xcf0c('0x31')]=_0x51c22e[_0xcf0c('0x31')][_0xcf0c('0x33')]?_0x51c22e[_0xcf0c('0x31')]:_0x167350[_0xcf0c('0x2c')];if(!_0x1323a1[_0xcf0c('0x2e')]['hasOwnProperty']('nolimit')){_0x51c22e[_0xcf0c('0x1c')]=qs[_0xcf0c('0x1c')](_0x1323a1[_0xcf0c('0x2e')]['limit']);_0x51c22e['offset']=qs[_0xcf0c('0x34')](_0x1323a1['query'][_0xcf0c('0x34')]);}_0x51c22e['order']=qs['sort'](_0x1323a1['query'][_0xcf0c('0x35')]);_0x51c22e[_0xcf0c('0x36')]=qs[_0xcf0c('0x37')](_[_0xcf0c('0x38')](_0x1323a1[_0xcf0c('0x2e')],_0x167350['filters']),_0x19f996);if(_0x1323a1[_0xcf0c('0x2e')]['filter']){_0x51c22e[_0xcf0c('0x36')]=_[_0xcf0c('0x39')](_0x51c22e[_0xcf0c('0x36')],{'$or':_['map'](_0x19f996,function(_0x53f20f){if(_0x53f20f['type']!==_0xcf0c('0x3a')){var _0x5ee8e2={};_0x5ee8e2[_0x53f20f['name']]={'$like':'%'+_0x1323a1[_0xcf0c('0x2e')][_0xcf0c('0x3b')]+'%'};return _0x5ee8e2;}})});}_0x51c22e=_['merge']({},_0x51c22e,_0x1323a1[_0xcf0c('0x3c')]);var _0x448585={'where':_0x51c22e[_0xcf0c('0x36')]};return db[_0xcf0c('0x27')][_0xcf0c('0x1b')](_0x448585)['then'](function(_0x211f9c){_0x5d7200['count']=_0x211f9c;if(_0x1323a1[_0xcf0c('0x2e')][_0xcf0c('0x3d')]){_0x51c22e[_0xcf0c('0x3e')]=[{'all':!![]}];}return db[_0xcf0c('0x27')][_0xcf0c('0x3f')](_0x51c22e);})['then'](function(_0x485ab0){_0x5d7200['rows']=_0x485ab0;return _0x5d7200;})[_0xcf0c('0x22')](respondWithFilteredResult(_0x21f94d,_0x51c22e))[_0xcf0c('0x40')](handleError(_0x21f94d,null));};exports[_0xcf0c('0x41')]=function(_0x440d87,_0x2d306d){var _0x5d3757={'raw':!![],'where':{'id':_0x440d87[_0xcf0c('0x42')]['id']}},_0x4f7861={};_0x4f7861[_0xcf0c('0x2c')]=_[_0xcf0c('0x2f')](db[_0xcf0c('0x27')]['rawAttributes']);_0x4f7861[_0xcf0c('0x2e')]=_['keys'](_0x440d87['query']);_0x4f7861['filters']=_[_0xcf0c('0x30')](_0x4f7861[_0xcf0c('0x2c')],_0x4f7861['query']);_0x5d3757[_0xcf0c('0x31')]=_[_0xcf0c('0x30')](_0x4f7861[_0xcf0c('0x2c')],qs[_0xcf0c('0x32')](_0x440d87[_0xcf0c('0x2e')][_0xcf0c('0x32')]));_0x5d3757[_0xcf0c('0x31')]=_0x5d3757['attributes']['length']?_0x5d3757[_0xcf0c('0x31')]:_0x4f7861['model'];if(_0x440d87[_0xcf0c('0x2e')][_0xcf0c('0x3d')]){_0x5d3757['include']=[{'all':!![]}];}_0x5d3757=_[_0xcf0c('0x39')]({},_0x5d3757,_0x440d87['options']);return db[_0xcf0c('0x27')]['find'](_0x5d3757)[_0xcf0c('0x22')](handleEntityNotFound(_0x2d306d,null))['then'](respondWithResult(_0x2d306d,null))[_0xcf0c('0x40')](handleError(_0x2d306d,null));};exports[_0xcf0c('0x43')]=function(_0x5cb4bf,_0x3f5b86){return db[_0xcf0c('0x27')][_0xcf0c('0x43')](_0x5cb4bf[_0xcf0c('0x44')],{})[_0xcf0c('0x22')](respondWithResult(_0x3f5b86,0xc9))['catch'](handleError(_0x3f5b86,null));};exports[_0xcf0c('0x21')]=function(_0x7418d6,_0x43d928){if(_0x7418d6[_0xcf0c('0x44')]['id']){delete _0x7418d6[_0xcf0c('0x44')]['id'];}return db['MailTransferReport'][_0xcf0c('0x45')]({'where':{'id':_0x7418d6[_0xcf0c('0x42')]['id']}})[_0xcf0c('0x22')](handleEntityNotFound(_0x43d928,null))['then'](saveUpdates(_0x7418d6[_0xcf0c('0x44')],null))[_0xcf0c('0x22')](respondWithResult(_0x43d928,null))[_0xcf0c('0x40')](handleError(_0x43d928,null));};exports[_0xcf0c('0x23')]=function(_0x4bd0d1,_0x1e2c1f){return db[_0xcf0c('0x27')][_0xcf0c('0x45')]({'where':{'id':_0x4bd0d1[_0xcf0c('0x42')]['id']}})[_0xcf0c('0x22')](handleEntityNotFound(_0x1e2c1f,null))[_0xcf0c('0x22')](removeEntity(_0x1e2c1f,null))['catch'](handleError(_0x1e2c1f,null));};exports['describe']=function(_0x470f33,_0x3fe9c5){return db[_0xcf0c('0x27')]['describe']()[_0xcf0c('0x22')](respondWithResult(_0x3fe9c5,null))[_0xcf0c('0x40')](handleError(_0x3fe9c5,null));};