58f3593c3980974cbda645f45a918460f5706b0d
[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 _0xb127=['querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','set','apply','update','then','destroy','end','error','stack','name','send','index','rawAttributes','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','options','MailTransferReport','count','include','catch','show','keys','create','body','find','params','describe','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel'];(function(_0x19e35c,_0x29cd1e){var _0x3e1fe8=function(_0x17258b){while(--_0x17258b){_0x19e35c['push'](_0x19e35c['shift']());}};_0x3e1fe8(++_0x29cd1e);}(_0xb127,0x7a));var _0x7b12=function(_0x1fba13,_0x4ab373){_0x1fba13=_0x1fba13-0x0;var _0xd4c7a=_0xb127[_0x1fba13];return _0xd4c7a;};'use strict';var emlformat=require(_0x7b12('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7b12('0x1'));var jsonpatch=require(_0x7b12('0x2'));var rp=require(_0x7b12('0x3'));var moment=require('moment');var BPromise=require(_0x7b12('0x4'));var Mustache=require(_0x7b12('0x5'));var util=require(_0x7b12('0x6'));var path=require(_0x7b12('0x7'));var sox=require(_0x7b12('0x8'));var csv=require(_0x7b12('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7b12('0xa'));var _=require('lodash');var squel=require(_0x7b12('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x7b12('0xc'));var Papa=require(_0x7b12('0xd'));var Redis=require(_0x7b12('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x7b12('0xf'));var as=require(_0x7b12('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7b12('0x11'))('api');var utils=require(_0x7b12('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x7b12('0x13'));var db=require(_0x7b12('0x14'))['db'];function respondWithStatusCode(_0x5c3e4b,_0x561a8d){_0x561a8d=_0x561a8d||0xcc;return function(_0x17aac6){if(_0x17aac6){return _0x5c3e4b[_0x7b12('0x15')](_0x561a8d);}return _0x5c3e4b[_0x7b12('0x16')](_0x561a8d)['end']();};}function respondWithResult(_0x4ebebb,_0x1adf26){_0x1adf26=_0x1adf26||0xc8;return function(_0x40be61){if(_0x40be61){return _0x4ebebb[_0x7b12('0x16')](_0x1adf26)[_0x7b12('0x17')](_0x40be61);}};}function respondWithFilteredResult(_0x337555,_0x37395b){return function(_0x40eb66){if(_0x40eb66){var _0x5794b4=typeof _0x37395b[_0x7b12('0x18')]===_0x7b12('0x19')&&typeof _0x37395b[_0x7b12('0x1a')]===_0x7b12('0x19');var _0x1c351f=_0x40eb66['count'];var _0x21e61a=_0x5794b4?0x0:_0x37395b[_0x7b12('0x18')];var _0x26008f=_0x5794b4?_0x40eb66['count']:_0x37395b[_0x7b12('0x18')]+_0x37395b[_0x7b12('0x1a')];var _0x2aee5d;if(_0x26008f>=_0x1c351f){_0x26008f=_0x1c351f;_0x2aee5d=0xc8;}else{_0x2aee5d=0xce;}_0x337555[_0x7b12('0x16')](_0x2aee5d);return _0x337555[_0x7b12('0x1b')]('Content-Range',_0x21e61a+'-'+_0x26008f+'/'+_0x1c351f)[_0x7b12('0x17')](_0x40eb66);}return null;};}function patchUpdates(_0x312c40){return function(_0x2bfc59){try{jsonpatch[_0x7b12('0x1c')](_0x2bfc59,_0x312c40,!![]);}catch(_0x3b2ee0){return BPromise['reject'](_0x3b2ee0);}return _0x2bfc59['save']();};}function saveUpdates(_0x419c8c,_0x470779){return function(_0x38ad81){if(_0x38ad81){return _0x38ad81[_0x7b12('0x1d')](_0x419c8c)[_0x7b12('0x1e')](function(_0x3a75b3){return _0x3a75b3;});}return null;};}function removeEntity(_0x49da0e,_0x2700ac){return function(_0x3c3ae4){if(_0x3c3ae4){return _0x3c3ae4[_0x7b12('0x1f')]()[_0x7b12('0x1e')](function(){_0x49da0e[_0x7b12('0x16')](0xcc)[_0x7b12('0x20')]();});}};}function handleEntityNotFound(_0x3b2efd,_0x2df24f){return function(_0x7052ef){if(!_0x7052ef){_0x3b2efd[_0x7b12('0x15')](0x194);}return _0x7052ef;};}function handleError(_0x472c02,_0x701733){_0x701733=_0x701733||0x1f4;return function(_0x4124ea){logger[_0x7b12('0x21')](_0x4124ea[_0x7b12('0x22')]);if(_0x4124ea[_0x7b12('0x23')]){delete _0x4124ea['name'];}_0x472c02[_0x7b12('0x16')](_0x701733)[_0x7b12('0x24')](_0x4124ea);};}exports[_0x7b12('0x25')]=function(_0x1e11ff,_0x212b0d){var _0x4049c9={},_0x1c81df={},_0xf54408={'count':0x0,'rows':[]};var _0x357a27=_['map'](db['MailTransferReport'][_0x7b12('0x26')],function(_0x4e4218){return{'name':_0x4e4218['fieldName'],'type':_0x4e4218[_0x7b12('0x27')][_0x7b12('0x28')]};});_0x1c81df[_0x7b12('0x29')]=_[_0x7b12('0x2a')](_0x357a27,_0x7b12('0x23'));_0x1c81df[_0x7b12('0x2b')]=_['keys'](_0x1e11ff['query']);_0x1c81df[_0x7b12('0x2c')]=_[_0x7b12('0x2d')](_0x1c81df['model'],_0x1c81df[_0x7b12('0x2b')]);_0x4049c9[_0x7b12('0x2e')]=_[_0x7b12('0x2d')](_0x1c81df[_0x7b12('0x29')],qs[_0x7b12('0x2f')](_0x1e11ff[_0x7b12('0x2b')][_0x7b12('0x2f')]));_0x4049c9[_0x7b12('0x2e')]=_0x4049c9[_0x7b12('0x2e')][_0x7b12('0x30')]?_0x4049c9[_0x7b12('0x2e')]:_0x1c81df[_0x7b12('0x29')];if(!_0x1e11ff[_0x7b12('0x2b')][_0x7b12('0x31')](_0x7b12('0x32'))){_0x4049c9[_0x7b12('0x1a')]=qs['limit'](_0x1e11ff[_0x7b12('0x2b')][_0x7b12('0x1a')]);_0x4049c9[_0x7b12('0x18')]=qs[_0x7b12('0x18')](_0x1e11ff['query'][_0x7b12('0x18')]);}_0x4049c9['order']=qs[_0x7b12('0x33')](_0x1e11ff[_0x7b12('0x2b')][_0x7b12('0x33')]);_0x4049c9[_0x7b12('0x34')]=qs[_0x7b12('0x2c')](_['pick'](_0x1e11ff[_0x7b12('0x2b')],_0x1c81df[_0x7b12('0x2c')]),_0x357a27);if(_0x1e11ff[_0x7b12('0x2b')][_0x7b12('0x35')]){_0x4049c9[_0x7b12('0x34')]=_[_0x7b12('0x36')](_0x4049c9[_0x7b12('0x34')],{'$or':_[_0x7b12('0x2a')](_0x357a27,function(_0xa612b3){if(_0xa612b3[_0x7b12('0x27')]!=='VIRTUAL'){var _0x5e9f58={};_0x5e9f58[_0xa612b3[_0x7b12('0x23')]]={'$like':'%'+_0x1e11ff[_0x7b12('0x2b')]['filter']+'%'};return _0x5e9f58;}})});}_0x4049c9=_[_0x7b12('0x36')]({},_0x4049c9,_0x1e11ff[_0x7b12('0x37')]);var _0x2dcebd={'where':_0x4049c9[_0x7b12('0x34')]};return db[_0x7b12('0x38')][_0x7b12('0x39')](_0x2dcebd)[_0x7b12('0x1e')](function(_0x10b651){_0xf54408[_0x7b12('0x39')]=_0x10b651;if(_0x1e11ff[_0x7b12('0x2b')]['includeAll']){_0x4049c9[_0x7b12('0x3a')]=[{'all':!![]}];}return db[_0x7b12('0x38')]['findAll'](_0x4049c9);})[_0x7b12('0x1e')](function(_0x3d1820){_0xf54408['rows']=_0x3d1820;return _0xf54408;})[_0x7b12('0x1e')](respondWithFilteredResult(_0x212b0d,_0x4049c9))[_0x7b12('0x3b')](handleError(_0x212b0d,null));};exports[_0x7b12('0x3c')]=function(_0x102877,_0x98d2d9){var _0x157240={'raw':!![],'where':{'id':_0x102877['params']['id']}},_0x4c0c0e={};_0x4c0c0e[_0x7b12('0x29')]=_[_0x7b12('0x3d')](db[_0x7b12('0x38')][_0x7b12('0x26')]);_0x4c0c0e[_0x7b12('0x2b')]=_[_0x7b12('0x3d')](_0x102877[_0x7b12('0x2b')]);_0x4c0c0e[_0x7b12('0x2c')]=_[_0x7b12('0x2d')](_0x4c0c0e[_0x7b12('0x29')],_0x4c0c0e[_0x7b12('0x2b')]);_0x157240[_0x7b12('0x2e')]=_[_0x7b12('0x2d')](_0x4c0c0e['model'],qs[_0x7b12('0x2f')](_0x102877[_0x7b12('0x2b')][_0x7b12('0x2f')]));_0x157240['attributes']=_0x157240[_0x7b12('0x2e')]['length']?_0x157240[_0x7b12('0x2e')]:_0x4c0c0e[_0x7b12('0x29')];if(_0x102877['query']['includeAll']){_0x157240['include']=[{'all':!![]}];}_0x157240=_['merge']({},_0x157240,_0x102877[_0x7b12('0x37')]);return db['MailTransferReport']['find'](_0x157240)[_0x7b12('0x1e')](handleEntityNotFound(_0x98d2d9,null))[_0x7b12('0x1e')](respondWithResult(_0x98d2d9,null))[_0x7b12('0x3b')](handleError(_0x98d2d9,null));};exports[_0x7b12('0x3e')]=function(_0x53999d,_0x1f31ed){return db[_0x7b12('0x38')][_0x7b12('0x3e')](_0x53999d[_0x7b12('0x3f')],{})[_0x7b12('0x1e')](respondWithResult(_0x1f31ed,0xc9))[_0x7b12('0x3b')](handleError(_0x1f31ed,null));};exports[_0x7b12('0x1d')]=function(_0x5ce924,_0x5a19b6){if(_0x5ce924[_0x7b12('0x3f')]['id']){delete _0x5ce924[_0x7b12('0x3f')]['id'];}return db[_0x7b12('0x38')][_0x7b12('0x40')]({'where':{'id':_0x5ce924['params']['id']}})['then'](handleEntityNotFound(_0x5a19b6,null))[_0x7b12('0x1e')](saveUpdates(_0x5ce924[_0x7b12('0x3f')],null))[_0x7b12('0x1e')](respondWithResult(_0x5a19b6,null))[_0x7b12('0x3b')](handleError(_0x5a19b6,null));};exports[_0x7b12('0x1f')]=function(_0x77fe18,_0x5314eb){return db[_0x7b12('0x38')][_0x7b12('0x40')]({'where':{'id':_0x77fe18[_0x7b12('0x41')]['id']}})[_0x7b12('0x1e')](handleEntityNotFound(_0x5314eb,null))['then'](removeEntity(_0x5314eb,null))[_0x7b12('0x3b')](handleError(_0x5314eb,null));};exports[_0x7b12('0x42')]=function(_0x598c10,_0x280eff){return db[_0x7b12('0x38')]['describe']()[_0x7b12('0x1e')](respondWithResult(_0x280eff,null))[_0x7b12('0x3b')](handleError(_0x280eff,null));};