235fa3dca2f9b0873d1c1557d709414d61fbc550
[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 _0x4db1=['../../mysqldb','sendStatus','status','end','json','limit','undefined','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','MailTransferReport','rawAttributes','fieldName','key','model','keys','filters','intersection','query','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util'];(function(_0x54ecb2,_0xe0bfe5){var _0x1eee37=function(_0x5016d6){while(--_0x5016d6){_0x54ecb2['push'](_0x54ecb2['shift']());}};_0x1eee37(++_0xe0bfe5);}(_0x4db1,0x8b));var _0x14db=function(_0x5c2a2b,_0x22c94e){_0x5c2a2b=_0x5c2a2b-0x0;var _0x19921f=_0x4db1[_0x5c2a2b];return _0x19921f;};'use strict';var emlformat=require(_0x14db('0x0'));var rimraf=require(_0x14db('0x1'));var zipdir=require(_0x14db('0x2'));var jsonpatch=require(_0x14db('0x3'));var rp=require(_0x14db('0x4'));var moment=require(_0x14db('0x5'));var BPromise=require(_0x14db('0x6'));var Mustache=require(_0x14db('0x7'));var util=require('util');var path=require('path');var sox=require(_0x14db('0x8'));var csv=require(_0x14db('0x9'));var ejs=require(_0x14db('0xa'));var fs=require('fs');var fs_extra=require(_0x14db('0xb'));var _=require(_0x14db('0xc'));var squel=require(_0x14db('0xd'));var crypto=require('crypto');var jsforce=require(_0x14db('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x14db('0x9'));var querystring=require(_0x14db('0xf'));var Papa=require(_0x14db('0x10'));var Redis=require(_0x14db('0x11'));var authService=require(_0x14db('0x12'));var qs=require(_0x14db('0x13'));var as=require(_0x14db('0x14'));var hardwareService=require(_0x14db('0x15'));var logger=require(_0x14db('0x16'))(_0x14db('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x14db('0x18'));var db=require(_0x14db('0x19'))['db'];function respondWithStatusCode(_0x35d7dd,_0x40c69e){_0x40c69e=_0x40c69e||0xcc;return function(_0x10e56e){if(_0x10e56e){return _0x35d7dd[_0x14db('0x1a')](_0x40c69e);}return _0x35d7dd[_0x14db('0x1b')](_0x40c69e)[_0x14db('0x1c')]();};}function respondWithResult(_0x2ef8b9,_0x169156){_0x169156=_0x169156||0xc8;return function(_0x45f0c1){if(_0x45f0c1){return _0x2ef8b9['status'](_0x169156)[_0x14db('0x1d')](_0x45f0c1);}};}function respondWithFilteredResult(_0x53be23,_0x146887){return function(_0xe27352){if(_0xe27352){var _0x1b6dc0=typeof _0x146887['offset']==='undefined'&&typeof _0x146887[_0x14db('0x1e')]===_0x14db('0x1f');var _0x80b246=_0xe27352[_0x14db('0x20')];var _0x294256=_0x1b6dc0?0x0:_0x146887[_0x14db('0x21')];var _0x302217=_0x1b6dc0?_0xe27352['count']:_0x146887[_0x14db('0x21')]+_0x146887['limit'];var _0x11e215;if(_0x302217>=_0x80b246){_0x302217=_0x80b246;_0x11e215=0xc8;}else{_0x11e215=0xce;}_0x53be23[_0x14db('0x1b')](_0x11e215);return _0x53be23[_0x14db('0x22')](_0x14db('0x23'),_0x294256+'-'+_0x302217+'/'+_0x80b246)[_0x14db('0x1d')](_0xe27352);}return null;};}function patchUpdates(_0x4085f0){return function(_0x27dfd4){try{jsonpatch[_0x14db('0x24')](_0x27dfd4,_0x4085f0,!![]);}catch(_0x510425){return BPromise[_0x14db('0x25')](_0x510425);}return _0x27dfd4[_0x14db('0x26')]();};}function saveUpdates(_0x510895,_0x316f99){return function(_0x54f4e1){if(_0x54f4e1){return _0x54f4e1[_0x14db('0x27')](_0x510895)[_0x14db('0x28')](function(_0xc94510){return _0xc94510;});}return null;};}function removeEntity(_0x574fc6,_0x263bd9){return function(_0x244cec){if(_0x244cec){return _0x244cec[_0x14db('0x29')]()[_0x14db('0x28')](function(){_0x574fc6[_0x14db('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x133fa4,_0x21466a){return function(_0x24ac54){if(!_0x24ac54){_0x133fa4[_0x14db('0x1a')](0x194);}return _0x24ac54;};}function handleError(_0x399249,_0x5577bd){_0x5577bd=_0x5577bd||0x1f4;return function(_0x2dc717){logger[_0x14db('0x2a')](_0x2dc717[_0x14db('0x2b')]);if(_0x2dc717[_0x14db('0x2c')]){delete _0x2dc717['name'];}_0x399249[_0x14db('0x1b')](_0x5577bd)[_0x14db('0x2d')](_0x2dc717);};}exports[_0x14db('0x2e')]=function(_0x55cedd,_0x18b678){var _0x1b240={},_0x4ac4fb={},_0x383c7e={'count':0x0,'rows':[]};var _0x34122f=_[_0x14db('0x2f')](db[_0x14db('0x30')][_0x14db('0x31')],function(_0x3aff40){return{'name':_0x3aff40[_0x14db('0x32')],'type':_0x3aff40['type'][_0x14db('0x33')]};});_0x4ac4fb[_0x14db('0x34')]=_['map'](_0x34122f,_0x14db('0x2c'));_0x4ac4fb['query']=_[_0x14db('0x35')](_0x55cedd['query']);_0x4ac4fb[_0x14db('0x36')]=_[_0x14db('0x37')](_0x4ac4fb[_0x14db('0x34')],_0x4ac4fb['query']);_0x1b240['attributes']=_[_0x14db('0x37')](_0x4ac4fb[_0x14db('0x34')],qs['fields'](_0x55cedd[_0x14db('0x38')][_0x14db('0x39')]));_0x1b240[_0x14db('0x3a')]=_0x1b240[_0x14db('0x3a')][_0x14db('0x3b')]?_0x1b240['attributes']:_0x4ac4fb[_0x14db('0x34')];if(!_0x55cedd['query'][_0x14db('0x3c')](_0x14db('0x3d'))){_0x1b240[_0x14db('0x1e')]=qs[_0x14db('0x1e')](_0x55cedd[_0x14db('0x38')][_0x14db('0x1e')]);_0x1b240[_0x14db('0x21')]=qs[_0x14db('0x21')](_0x55cedd['query'][_0x14db('0x21')]);}_0x1b240[_0x14db('0x3e')]=qs[_0x14db('0x3f')](_0x55cedd[_0x14db('0x38')][_0x14db('0x3f')]);_0x1b240['where']=qs['filters'](_[_0x14db('0x40')](_0x55cedd[_0x14db('0x38')],_0x4ac4fb[_0x14db('0x36')]),_0x34122f);if(_0x55cedd[_0x14db('0x38')][_0x14db('0x41')]){_0x1b240[_0x14db('0x42')]=_[_0x14db('0x43')](_0x1b240['where'],{'$or':_[_0x14db('0x2f')](_0x34122f,function(_0x2f880f){if(_0x2f880f[_0x14db('0x44')]!==_0x14db('0x45')){var _0x305db1={};_0x305db1[_0x2f880f['name']]={'$like':'%'+_0x55cedd['query']['filter']+'%'};return _0x305db1;}})});}_0x1b240=_[_0x14db('0x43')]({},_0x1b240,_0x55cedd['options']);var _0x279293={'where':_0x1b240[_0x14db('0x42')]};return db[_0x14db('0x30')][_0x14db('0x20')](_0x279293)[_0x14db('0x28')](function(_0x6475f){_0x383c7e['count']=_0x6475f;if(_0x55cedd[_0x14db('0x38')][_0x14db('0x46')]){_0x1b240[_0x14db('0x47')]=[{'all':!![]}];}return db[_0x14db('0x30')][_0x14db('0x48')](_0x1b240);})[_0x14db('0x28')](function(_0xb5f643){_0x383c7e[_0x14db('0x49')]=_0xb5f643;return _0x383c7e;})['then'](respondWithFilteredResult(_0x18b678,_0x1b240))[_0x14db('0x4a')](handleError(_0x18b678,null));};exports[_0x14db('0x4b')]=function(_0x474192,_0xd3d672){var _0x7d11f7={'raw':!![],'where':{'id':_0x474192[_0x14db('0x4c')]['id']}},_0x4d7852={};_0x4d7852[_0x14db('0x34')]=_[_0x14db('0x35')](db[_0x14db('0x30')][_0x14db('0x31')]);_0x4d7852[_0x14db('0x38')]=_[_0x14db('0x35')](_0x474192['query']);_0x4d7852['filters']=_[_0x14db('0x37')](_0x4d7852[_0x14db('0x34')],_0x4d7852[_0x14db('0x38')]);_0x7d11f7[_0x14db('0x3a')]=_['intersection'](_0x4d7852[_0x14db('0x34')],qs[_0x14db('0x39')](_0x474192[_0x14db('0x38')][_0x14db('0x39')]));_0x7d11f7[_0x14db('0x3a')]=_0x7d11f7[_0x14db('0x3a')]['length']?_0x7d11f7['attributes']:_0x4d7852['model'];if(_0x474192[_0x14db('0x38')]['includeAll']){_0x7d11f7[_0x14db('0x47')]=[{'all':!![]}];}_0x7d11f7=_[_0x14db('0x43')]({},_0x7d11f7,_0x474192[_0x14db('0x4d')]);return db[_0x14db('0x30')][_0x14db('0x4e')](_0x7d11f7)[_0x14db('0x28')](handleEntityNotFound(_0xd3d672,null))[_0x14db('0x28')](respondWithResult(_0xd3d672,null))[_0x14db('0x4a')](handleError(_0xd3d672,null));};exports[_0x14db('0x4f')]=function(_0x2c4108,_0x1ddf2f){return db[_0x14db('0x30')]['create'](_0x2c4108[_0x14db('0x50')],{})[_0x14db('0x28')](respondWithResult(_0x1ddf2f,0xc9))[_0x14db('0x4a')](handleError(_0x1ddf2f,null));};exports['update']=function(_0x315496,_0x583a76){if(_0x315496['body']['id']){delete _0x315496[_0x14db('0x50')]['id'];}return db[_0x14db('0x30')][_0x14db('0x4e')]({'where':{'id':_0x315496[_0x14db('0x4c')]['id']}})['then'](handleEntityNotFound(_0x583a76,null))[_0x14db('0x28')](saveUpdates(_0x315496['body'],null))[_0x14db('0x28')](respondWithResult(_0x583a76,null))[_0x14db('0x4a')](handleError(_0x583a76,null));};exports[_0x14db('0x29')]=function(_0x43ab20,_0x429f81){return db[_0x14db('0x30')]['find']({'where':{'id':_0x43ab20['params']['id']}})[_0x14db('0x28')](handleEntityNotFound(_0x429f81,null))[_0x14db('0x28')](removeEntity(_0x429f81,null))['catch'](handleError(_0x429f81,null));};exports[_0x14db('0x51')]=function(_0x4209c3,_0x464ff4){return db['MailTransferReport']['describe']()['then'](respondWithResult(_0x464ff4,null))['catch'](handleError(_0x464ff4,null));};