47fa4b6b8a42423d7b0f63413215a81077dad234
[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 _0xebf9=['json','apply','reject','save','update','then','end','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filter','merge','includeAll','include','MailTransferReport','rows','catch','show','params','find','create','body','describe','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','count','limit','set','Content-Range'];(function(_0x249363,_0x2d028c){var _0x37502c=function(_0x24d031){while(--_0x24d031){_0x249363['push'](_0x249363['shift']());}};_0x37502c(++_0x2d028c);}(_0xebf9,0x75));var _0x9ebf=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xebf9[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require(_0x9ebf('0x0'));var rimraf=require(_0x9ebf('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9ebf('0x2'));var rp=require(_0x9ebf('0x3'));var moment=require('moment');var BPromise=require(_0x9ebf('0x4'));var Mustache=require(_0x9ebf('0x5'));var util=require('util');var path=require('path');var sox=require(_0x9ebf('0x6'));var csv=require(_0x9ebf('0x7'));var ejs=require(_0x9ebf('0x8'));var fs=require('fs');var fs_extra=require(_0x9ebf('0x9'));var _=require(_0x9ebf('0xa'));var squel=require('squel');var crypto=require(_0x9ebf('0xb'));var jsforce=require(_0x9ebf('0xc'));var deskjs=require(_0x9ebf('0xd'));var toCsv=require(_0x9ebf('0x7'));var querystring=require(_0x9ebf('0xe'));var Papa=require('papaparse');var Redis=require(_0x9ebf('0xf'));var authService=require(_0x9ebf('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x9ebf('0x11'));var hardwareService=require(_0x9ebf('0x12'));var logger=require(_0x9ebf('0x13'))(_0x9ebf('0x14'));var utils=require(_0x9ebf('0x15'));var config=require(_0x9ebf('0x16'));var licenseUtil=require(_0x9ebf('0x17'));var db=require(_0x9ebf('0x18'))['db'];function respondWithStatusCode(_0x1aef64,_0x3a7f2d){_0x3a7f2d=_0x3a7f2d||0xcc;return function(_0x471ea0){if(_0x471ea0){return _0x1aef64[_0x9ebf('0x19')](_0x3a7f2d);}return _0x1aef64[_0x9ebf('0x1a')](_0x3a7f2d)['end']();};}function respondWithResult(_0x36d665,_0x128158){_0x128158=_0x128158||0xc8;return function(_0x2c5224){if(_0x2c5224){return _0x36d665['status'](_0x128158)['json'](_0x2c5224);}};}function respondWithFilteredResult(_0x598138,_0x235d3a){return function(_0x4a84a8){if(_0x4a84a8){var _0x39c740=typeof _0x235d3a[_0x9ebf('0x1b')]===_0x9ebf('0x1c')&&typeof _0x235d3a['limit']===_0x9ebf('0x1c');var _0xaea407=_0x4a84a8[_0x9ebf('0x1d')];var _0x358e1b=_0x39c740?0x0:_0x235d3a[_0x9ebf('0x1b')];var _0x801a14=_0x39c740?_0x4a84a8['count']:_0x235d3a['offset']+_0x235d3a[_0x9ebf('0x1e')];var _0x464b4e;if(_0x801a14>=_0xaea407){_0x801a14=_0xaea407;_0x464b4e=0xc8;}else{_0x464b4e=0xce;}_0x598138[_0x9ebf('0x1a')](_0x464b4e);return _0x598138[_0x9ebf('0x1f')](_0x9ebf('0x20'),_0x358e1b+'-'+_0x801a14+'/'+_0xaea407)[_0x9ebf('0x21')](_0x4a84a8);}return null;};}function patchUpdates(_0x120177){return function(_0x3db351){try{jsonpatch[_0x9ebf('0x22')](_0x3db351,_0x120177,!![]);}catch(_0x5dac44){return BPromise[_0x9ebf('0x23')](_0x5dac44);}return _0x3db351[_0x9ebf('0x24')]();};}function saveUpdates(_0x5a785c,_0x15991f){return function(_0x595e49){if(_0x595e49){return _0x595e49[_0x9ebf('0x25')](_0x5a785c)['then'](function(_0x3460a3){return _0x3460a3;});}return null;};}function removeEntity(_0x493451,_0xc50793){return function(_0x55ecc1){if(_0x55ecc1){return _0x55ecc1['destroy']()[_0x9ebf('0x26')](function(){_0x493451['status'](0xcc)[_0x9ebf('0x27')]();});}};}function handleEntityNotFound(_0x5ed6bb,_0x21a450){return function(_0x741567){if(!_0x741567){_0x5ed6bb[_0x9ebf('0x19')](0x194);}return _0x741567;};}function handleError(_0x327ce1,_0x4d9af8){_0x4d9af8=_0x4d9af8||0x1f4;return function(_0x2a7e58){logger[_0x9ebf('0x28')](_0x2a7e58[_0x9ebf('0x29')]);if(_0x2a7e58[_0x9ebf('0x2a')]){delete _0x2a7e58['name'];}_0x327ce1[_0x9ebf('0x1a')](_0x4d9af8)[_0x9ebf('0x2b')](_0x2a7e58);};}exports[_0x9ebf('0x2c')]=function(_0x1b9323,_0x5669a0){var _0x1c3f5b={},_0x3071e7={},_0x3616b5={'count':0x0,'rows':[]};var _0x251fbe=_[_0x9ebf('0x2d')](db['MailTransferReport'][_0x9ebf('0x2e')],function(_0x507e59){return{'name':_0x507e59[_0x9ebf('0x2f')],'type':_0x507e59[_0x9ebf('0x30')][_0x9ebf('0x31')]};});_0x3071e7[_0x9ebf('0x32')]=_[_0x9ebf('0x2d')](_0x251fbe,_0x9ebf('0x2a'));_0x3071e7['query']=_[_0x9ebf('0x33')](_0x1b9323[_0x9ebf('0x34')]);_0x3071e7[_0x9ebf('0x35')]=_['intersection'](_0x3071e7[_0x9ebf('0x32')],_0x3071e7[_0x9ebf('0x34')]);_0x1c3f5b['attributes']=_[_0x9ebf('0x36')](_0x3071e7[_0x9ebf('0x32')],qs['fields'](_0x1b9323[_0x9ebf('0x34')][_0x9ebf('0x37')]));_0x1c3f5b[_0x9ebf('0x38')]=_0x1c3f5b['attributes'][_0x9ebf('0x39')]?_0x1c3f5b['attributes']:_0x3071e7[_0x9ebf('0x32')];if(!_0x1b9323[_0x9ebf('0x34')][_0x9ebf('0x3a')](_0x9ebf('0x3b'))){_0x1c3f5b[_0x9ebf('0x1e')]=qs[_0x9ebf('0x1e')](_0x1b9323[_0x9ebf('0x34')][_0x9ebf('0x1e')]);_0x1c3f5b[_0x9ebf('0x1b')]=qs[_0x9ebf('0x1b')](_0x1b9323[_0x9ebf('0x34')]['offset']);}_0x1c3f5b['order']=qs[_0x9ebf('0x3c')](_0x1b9323[_0x9ebf('0x34')]['sort']);_0x1c3f5b[_0x9ebf('0x3d')]=qs[_0x9ebf('0x35')](_['pick'](_0x1b9323[_0x9ebf('0x34')],_0x3071e7[_0x9ebf('0x35')]),_0x251fbe);if(_0x1b9323[_0x9ebf('0x34')][_0x9ebf('0x3e')]){_0x1c3f5b['where']=_[_0x9ebf('0x3f')](_0x1c3f5b[_0x9ebf('0x3d')],{'$or':_[_0x9ebf('0x2d')](_0x251fbe,function(_0x1fe45e){if(_0x1fe45e['type']!=='VIRTUAL'){var _0x7d5559={};_0x7d5559[_0x1fe45e[_0x9ebf('0x2a')]]={'$like':'%'+_0x1b9323[_0x9ebf('0x34')][_0x9ebf('0x3e')]+'%'};return _0x7d5559;}})});}_0x1c3f5b=_[_0x9ebf('0x3f')]({},_0x1c3f5b,_0x1b9323['options']);var _0xbddade={'where':_0x1c3f5b[_0x9ebf('0x3d')]};return db['MailTransferReport'][_0x9ebf('0x1d')](_0xbddade)[_0x9ebf('0x26')](function(_0x28b60e){_0x3616b5[_0x9ebf('0x1d')]=_0x28b60e;if(_0x1b9323[_0x9ebf('0x34')][_0x9ebf('0x40')]){_0x1c3f5b[_0x9ebf('0x41')]=[{'all':!![]}];}return db[_0x9ebf('0x42')]['findAll'](_0x1c3f5b);})[_0x9ebf('0x26')](function(_0x476651){_0x3616b5[_0x9ebf('0x43')]=_0x476651;return _0x3616b5;})['then'](respondWithFilteredResult(_0x5669a0,_0x1c3f5b))[_0x9ebf('0x44')](handleError(_0x5669a0,null));};exports[_0x9ebf('0x45')]=function(_0x37b94d,_0x31fa42){var _0x356fd4={'raw':!![],'where':{'id':_0x37b94d[_0x9ebf('0x46')]['id']}},_0xc1a0f9={};_0xc1a0f9['model']=_[_0x9ebf('0x33')](db['MailTransferReport'][_0x9ebf('0x2e')]);_0xc1a0f9[_0x9ebf('0x34')]=_[_0x9ebf('0x33')](_0x37b94d['query']);_0xc1a0f9[_0x9ebf('0x35')]=_[_0x9ebf('0x36')](_0xc1a0f9[_0x9ebf('0x32')],_0xc1a0f9[_0x9ebf('0x34')]);_0x356fd4[_0x9ebf('0x38')]=_[_0x9ebf('0x36')](_0xc1a0f9[_0x9ebf('0x32')],qs[_0x9ebf('0x37')](_0x37b94d['query'][_0x9ebf('0x37')]));_0x356fd4[_0x9ebf('0x38')]=_0x356fd4[_0x9ebf('0x38')]['length']?_0x356fd4[_0x9ebf('0x38')]:_0xc1a0f9['model'];if(_0x37b94d[_0x9ebf('0x34')][_0x9ebf('0x40')]){_0x356fd4[_0x9ebf('0x41')]=[{'all':!![]}];}_0x356fd4=_[_0x9ebf('0x3f')]({},_0x356fd4,_0x37b94d['options']);return db[_0x9ebf('0x42')][_0x9ebf('0x47')](_0x356fd4)[_0x9ebf('0x26')](handleEntityNotFound(_0x31fa42,null))[_0x9ebf('0x26')](respondWithResult(_0x31fa42,null))[_0x9ebf('0x44')](handleError(_0x31fa42,null));};exports[_0x9ebf('0x48')]=function(_0x157b7d,_0x47a9e7){return db[_0x9ebf('0x42')][_0x9ebf('0x48')](_0x157b7d[_0x9ebf('0x49')],{})['then'](respondWithResult(_0x47a9e7,0xc9))[_0x9ebf('0x44')](handleError(_0x47a9e7,null));};exports[_0x9ebf('0x25')]=function(_0x5cd4cf,_0x535b61){if(_0x5cd4cf[_0x9ebf('0x49')]['id']){delete _0x5cd4cf[_0x9ebf('0x49')]['id'];}return db['MailTransferReport'][_0x9ebf('0x47')]({'where':{'id':_0x5cd4cf[_0x9ebf('0x46')]['id']}})['then'](handleEntityNotFound(_0x535b61,null))[_0x9ebf('0x26')](saveUpdates(_0x5cd4cf['body'],null))[_0x9ebf('0x26')](respondWithResult(_0x535b61,null))['catch'](handleError(_0x535b61,null));};exports['destroy']=function(_0x5cd805,_0x406806){return db['MailTransferReport']['find']({'where':{'id':_0x5cd805[_0x9ebf('0x46')]['id']}})['then'](handleEntityNotFound(_0x406806,null))[_0x9ebf('0x26')](removeEntity(_0x406806,null))['catch'](handleError(_0x406806,null));};exports[_0x9ebf('0x4a')]=function(_0x33a2b1,_0x5c4dde){return db['MailTransferReport'][_0x9ebf('0x4a')]()[_0x9ebf('0x26')](respondWithResult(_0x5c4dde,null))[_0x9ebf('0x44')](handleError(_0x5c4dde,null));};