671d6b90632380e11c41c6435f9f01f64c36dd43
[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 _0x25f2=['json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','end','error','name','index','map','MailTransferReport','rawAttributes','fieldName','type','key','query','keys','filters','attributes','intersection','model','fields','length','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','catch','params','include','find','create','body','destroy','describe','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status'];(function(_0x410f43,_0x3a9368){var _0x45a382=function(_0x27e315){while(--_0x27e315){_0x410f43['push'](_0x410f43['shift']());}};_0x45a382(++_0x3a9368);}(_0x25f2,0x1e4));var _0x225f=function(_0x569140,_0x21d041){_0x569140=_0x569140-0x0;var _0x1dae5f=_0x25f2[_0x569140];return _0x1dae5f;};'use strict';var emlformat=require(_0x225f('0x0'));var rimraf=require(_0x225f('0x1'));var zipdir=require(_0x225f('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x225f('0x3'));var BPromise=require(_0x225f('0x4'));var Mustache=require(_0x225f('0x5'));var util=require(_0x225f('0x6'));var path=require('path');var sox=require(_0x225f('0x7'));var csv=require(_0x225f('0x8'));var ejs=require(_0x225f('0x9'));var fs=require('fs');var fs_extra=require(_0x225f('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x225f('0xb'));var deskjs=require(_0x225f('0xc'));var toCsv=require(_0x225f('0x8'));var querystring=require(_0x225f('0xd'));var Papa=require(_0x225f('0xe'));var Redis=require(_0x225f('0xf'));var authService=require(_0x225f('0x10'));var qs=require(_0x225f('0x11'));var as=require(_0x225f('0x12'));var hardwareService=require(_0x225f('0x13'));var logger=require(_0x225f('0x14'))(_0x225f('0x15'));var utils=require(_0x225f('0x16'));var config=require(_0x225f('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x225f('0x18'))['db'];function respondWithStatusCode(_0x5887bd,_0x56416c){_0x56416c=_0x56416c||0xcc;return function(_0x1db762){if(_0x1db762){return _0x5887bd[_0x225f('0x19')](_0x56416c);}return _0x5887bd[_0x225f('0x1a')](_0x56416c)['end']();};}function respondWithResult(_0x23e124,_0x457358){_0x457358=_0x457358||0xc8;return function(_0x4fdb0f){if(_0x4fdb0f){return _0x23e124['status'](_0x457358)[_0x225f('0x1b')](_0x4fdb0f);}};}function respondWithFilteredResult(_0x25c671,_0x154ccf){return function(_0xa559e){if(_0xa559e){var _0x2ffe37=typeof _0x154ccf[_0x225f('0x1c')]===_0x225f('0x1d')&&typeof _0x154ccf[_0x225f('0x1e')]===_0x225f('0x1d');var _0x531cc9=_0xa559e[_0x225f('0x1f')];var _0x383b3c=_0x2ffe37?0x0:_0x154ccf[_0x225f('0x1c')];var _0x42e092=_0x2ffe37?_0xa559e['count']:_0x154ccf[_0x225f('0x1c')]+_0x154ccf[_0x225f('0x1e')];var _0x8cae33;if(_0x42e092>=_0x531cc9){_0x42e092=_0x531cc9;_0x8cae33=0xc8;}else{_0x8cae33=0xce;}_0x25c671['status'](_0x8cae33);return _0x25c671[_0x225f('0x20')](_0x225f('0x21'),_0x383b3c+'-'+_0x42e092+'/'+_0x531cc9)[_0x225f('0x1b')](_0xa559e);}return null;};}function patchUpdates(_0x2a6cff){return function(_0x4c33bf){try{jsonpatch[_0x225f('0x22')](_0x4c33bf,_0x2a6cff,!![]);}catch(_0x1a652e){return BPromise[_0x225f('0x23')](_0x1a652e);}return _0x4c33bf['save']();};}function saveUpdates(_0x2aa324,_0x575b09){return function(_0x193c4d){if(_0x193c4d){return _0x193c4d[_0x225f('0x24')](_0x2aa324)[_0x225f('0x25')](function(_0x590a83){return _0x590a83;});}return null;};}function removeEntity(_0x629e28,_0x2eb0df){return function(_0x3b79de){if(_0x3b79de){return _0x3b79de['destroy']()[_0x225f('0x25')](function(){_0x629e28[_0x225f('0x1a')](0xcc)[_0x225f('0x26')]();});}};}function handleEntityNotFound(_0xad576f,_0x11c372){return function(_0x51e37a){if(!_0x51e37a){_0xad576f['sendStatus'](0x194);}return _0x51e37a;};}function handleError(_0x3a4467,_0x2a3de7){_0x2a3de7=_0x2a3de7||0x1f4;return function(_0x3b26ac){logger[_0x225f('0x27')](_0x3b26ac['stack']);if(_0x3b26ac['name']){delete _0x3b26ac[_0x225f('0x28')];}_0x3a4467[_0x225f('0x1a')](_0x2a3de7)['send'](_0x3b26ac);};}exports[_0x225f('0x29')]=function(_0x23a28b,_0x277030){var _0x4907eb={},_0x113847={},_0x49d293={'count':0x0,'rows':[]};var _0x440e6f=_[_0x225f('0x2a')](db[_0x225f('0x2b')][_0x225f('0x2c')],function(_0x3d1aa3){return{'name':_0x3d1aa3[_0x225f('0x2d')],'type':_0x3d1aa3[_0x225f('0x2e')][_0x225f('0x2f')]};});_0x113847['model']=_[_0x225f('0x2a')](_0x440e6f,'name');_0x113847[_0x225f('0x30')]=_[_0x225f('0x31')](_0x23a28b[_0x225f('0x30')]);_0x113847[_0x225f('0x32')]=_['intersection'](_0x113847['model'],_0x113847[_0x225f('0x30')]);_0x4907eb[_0x225f('0x33')]=_[_0x225f('0x34')](_0x113847[_0x225f('0x35')],qs['fields'](_0x23a28b[_0x225f('0x30')][_0x225f('0x36')]));_0x4907eb[_0x225f('0x33')]=_0x4907eb['attributes'][_0x225f('0x37')]?_0x4907eb[_0x225f('0x33')]:_0x113847[_0x225f('0x35')];if(!_0x23a28b[_0x225f('0x30')]['hasOwnProperty']('nolimit')){_0x4907eb[_0x225f('0x1e')]=qs[_0x225f('0x1e')](_0x23a28b['query'][_0x225f('0x1e')]);_0x4907eb[_0x225f('0x1c')]=qs[_0x225f('0x1c')](_0x23a28b[_0x225f('0x30')][_0x225f('0x1c')]);}_0x4907eb[_0x225f('0x38')]=qs[_0x225f('0x39')](_0x23a28b[_0x225f('0x30')][_0x225f('0x39')]);_0x4907eb[_0x225f('0x3a')]=qs[_0x225f('0x32')](_['pick'](_0x23a28b[_0x225f('0x30')],_0x113847[_0x225f('0x32')]),_0x440e6f);if(_0x23a28b['query'][_0x225f('0x3b')]){_0x4907eb['where']=_[_0x225f('0x3c')](_0x4907eb[_0x225f('0x3a')],{'$or':_[_0x225f('0x2a')](_0x440e6f,function(_0x3988c4){if(_0x3988c4[_0x225f('0x2e')]!==_0x225f('0x3d')){var _0x18c59e={};_0x18c59e[_0x3988c4[_0x225f('0x28')]]={'$like':'%'+_0x23a28b[_0x225f('0x30')]['filter']+'%'};return _0x18c59e;}})});}_0x4907eb=_[_0x225f('0x3c')]({},_0x4907eb,_0x23a28b[_0x225f('0x3e')]);var _0x467a4c={'where':_0x4907eb['where']};return db[_0x225f('0x2b')][_0x225f('0x1f')](_0x467a4c)['then'](function(_0x2beacf){_0x49d293[_0x225f('0x1f')]=_0x2beacf;if(_0x23a28b[_0x225f('0x30')][_0x225f('0x3f')]){_0x4907eb['include']=[{'all':!![]}];}return db['MailTransferReport'][_0x225f('0x40')](_0x4907eb);})[_0x225f('0x25')](function(_0x56d5fa){_0x49d293['rows']=_0x56d5fa;return _0x49d293;})[_0x225f('0x25')](respondWithFilteredResult(_0x277030,_0x4907eb))[_0x225f('0x41')](handleError(_0x277030,null));};exports['show']=function(_0x28eada,_0x16f6be){var _0x1675de={'raw':!![],'where':{'id':_0x28eada[_0x225f('0x42')]['id']}},_0x3c474f={};_0x3c474f['model']=_[_0x225f('0x31')](db[_0x225f('0x2b')][_0x225f('0x2c')]);_0x3c474f[_0x225f('0x30')]=_['keys'](_0x28eada['query']);_0x3c474f[_0x225f('0x32')]=_['intersection'](_0x3c474f[_0x225f('0x35')],_0x3c474f[_0x225f('0x30')]);_0x1675de[_0x225f('0x33')]=_[_0x225f('0x34')](_0x3c474f[_0x225f('0x35')],qs[_0x225f('0x36')](_0x28eada[_0x225f('0x30')][_0x225f('0x36')]));_0x1675de[_0x225f('0x33')]=_0x1675de[_0x225f('0x33')][_0x225f('0x37')]?_0x1675de[_0x225f('0x33')]:_0x3c474f[_0x225f('0x35')];if(_0x28eada[_0x225f('0x30')]['includeAll']){_0x1675de[_0x225f('0x43')]=[{'all':!![]}];}_0x1675de=_[_0x225f('0x3c')]({},_0x1675de,_0x28eada[_0x225f('0x3e')]);return db['MailTransferReport'][_0x225f('0x44')](_0x1675de)[_0x225f('0x25')](handleEntityNotFound(_0x16f6be,null))[_0x225f('0x25')](respondWithResult(_0x16f6be,null))[_0x225f('0x41')](handleError(_0x16f6be,null));};exports[_0x225f('0x45')]=function(_0x50e4ea,_0x124e9b){return db['MailTransferReport'][_0x225f('0x45')](_0x50e4ea[_0x225f('0x46')],{})[_0x225f('0x25')](respondWithResult(_0x124e9b,0xc9))['catch'](handleError(_0x124e9b,null));};exports[_0x225f('0x24')]=function(_0x2609a8,_0x41f2a3){if(_0x2609a8['body']['id']){delete _0x2609a8[_0x225f('0x46')]['id'];}return db[_0x225f('0x2b')][_0x225f('0x44')]({'where':{'id':_0x2609a8[_0x225f('0x42')]['id']}})[_0x225f('0x25')](handleEntityNotFound(_0x41f2a3,null))[_0x225f('0x25')](saveUpdates(_0x2609a8['body'],null))[_0x225f('0x25')](respondWithResult(_0x41f2a3,null))[_0x225f('0x41')](handleError(_0x41f2a3,null));};exports[_0x225f('0x47')]=function(_0x2be7f7,_0x332348){return db[_0x225f('0x2b')][_0x225f('0x44')]({'where':{'id':_0x2be7f7['params']['id']}})['then'](handleEntityNotFound(_0x332348,null))[_0x225f('0x25')](removeEntity(_0x332348,null))[_0x225f('0x41')](handleError(_0x332348,null));};exports['describe']=function(_0x39a150,_0x1f62a5){return db[_0x225f('0x2b')][_0x225f('0x48')]()['then'](respondWithResult(_0x1f62a5,null))['catch'](handleError(_0x1f62a5,null));};