b6d71955d64323431fc7d65019e95fb655d618dc
[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 _0x4788=['util','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','status','end','json','offset','set','reject','update','then','destroy','sendStatus','stack','name','index','map','MailTransferReport','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','where','merge','type','options','count','includeAll','include','findAll','params','keys','filtears','find','create','body','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x2d34d6,_0x397ff9){var _0x1d3d12=function(_0x558800){while(--_0x558800){_0x2d34d6['push'](_0x2d34d6['shift']());}};_0x1d3d12(++_0x397ff9);}(_0x4788,0x14c));var _0x8478=function(_0x3fef56,_0x386b57){_0x3fef56=_0x3fef56-0x0;var _0x1c087e=_0x4788[_0x3fef56];return _0x1c087e;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8478('0x0'));var rimraf=require(_0x8478('0x1'));var zipdir=require(_0x8478('0x2'));var jsonpatch=require(_0x8478('0x3'));var rp=require(_0x8478('0x4'));var moment=require(_0x8478('0x5'));var BPromise=require(_0x8478('0x6'));var Mustache=require(_0x8478('0x7'));var util=require(_0x8478('0x8'));var path=require('path');var sox=require(_0x8478('0x9'));var csv=require(_0x8478('0xa'));var ejs=require(_0x8478('0xb'));var fs=require('fs');var _=require(_0x8478('0xc'));var squel=require('squel');var crypto=require(_0x8478('0xd'));var jsforce=require(_0x8478('0xe'));var deskjs=require(_0x8478('0xf'));var toCsv=require(_0x8478('0xa'));var querystring=require(_0x8478('0x10'));var Papa=require(_0x8478('0x11'));var Redis=require(_0x8478('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x8478('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8478('0x14'))(_0x8478('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3c4960,_0x1d4836){_0x1d4836=_0x1d4836||0xcc;return function(_0x45edaf){if(_0x45edaf){return _0x3c4960['sendStatus'](_0x1d4836);}return _0x3c4960[_0x8478('0x16')](_0x1d4836)[_0x8478('0x17')]();};}function respondWithResult(_0x24aa9a,_0x30040d){_0x30040d=_0x30040d||0xc8;return function(_0x5f3688){if(_0x5f3688){return _0x24aa9a[_0x8478('0x16')](_0x30040d)[_0x8478('0x18')](_0x5f3688);}};}function respondWithFilteredResult(_0x5baf1b,_0x5e1700){return function(_0x1451eb){if(_0x1451eb){var _0x412aef=_0x1451eb['count'],_0x4319d4=_0x5e1700[_0x8478('0x19')],_0x13d55c=_0x5e1700[_0x8478('0x19')]+_0x5e1700['limit'],_0x3376b1;if(_0x13d55c>=_0x412aef){_0x13d55c=_0x412aef;_0x3376b1=0xc8;}else{_0x3376b1=0xce;}_0x5baf1b['status'](_0x3376b1);return _0x5baf1b[_0x8478('0x1a')]('Content-Range',_0x4319d4+'-'+_0x13d55c+'/'+_0x412aef)['json'](_0x1451eb);}return null;};}function patchUpdates(_0x5184ab){return function(_0x48d31a){try{jsonpatch['apply'](_0x48d31a,_0x5184ab,!![]);}catch(_0x5cf496){return BPromise[_0x8478('0x1b')](_0x5cf496);}return _0x48d31a['save']();};}function saveUpdates(_0xb6d56b,_0x55ea66){return function(_0x4ae10b){if(_0x4ae10b){return _0x4ae10b[_0x8478('0x1c')](_0xb6d56b)[_0x8478('0x1d')](function(_0x407d82){return _0x407d82;});}return null;};}function removeEntity(_0x458433,_0x52fd80){return function(_0x406d66){if(_0x406d66){return _0x406d66[_0x8478('0x1e')]()[_0x8478('0x1d')](function(){_0x458433[_0x8478('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x51805c,_0x5dfa36){return function(_0x599a1a){if(!_0x599a1a){_0x51805c[_0x8478('0x1f')](0x194);}return _0x599a1a;};}function handleError(_0x2201f1,_0xc59a3e){_0xc59a3e=_0xc59a3e||0x1f4;return function(_0x608199){logger['error'](_0x608199[_0x8478('0x20')]);if(_0x608199[_0x8478('0x21')]){delete _0x608199[_0x8478('0x21')];}_0x2201f1[_0x8478('0x16')](_0xc59a3e)['send'](_0x608199);};}exports[_0x8478('0x22')]=function(_0x57f670,_0x3a2cbb){var _0x5e5b13={},_0x1b2dae={},_0x306e86={'count':0x0,'rows':[]};var _0x4dda33=_[_0x8478('0x23')](db[_0x8478('0x24')][_0x8478('0x25')],function(_0x26ed93){return{'name':_0x26ed93[_0x8478('0x26')],'type':_0x26ed93['type'][_0x8478('0x27')]};});_0x1b2dae[_0x8478('0x28')]=_[_0x8478('0x23')](_0x4dda33,_0x8478('0x21'));_0x1b2dae[_0x8478('0x29')]=_['keys'](_0x57f670[_0x8478('0x29')]);_0x1b2dae[_0x8478('0x2a')]=_[_0x8478('0x2b')](_0x1b2dae['model'],_0x1b2dae[_0x8478('0x29')]);_0x5e5b13[_0x8478('0x2c')]=_[_0x8478('0x2b')](_0x1b2dae[_0x8478('0x28')],qs[_0x8478('0x2d')](_0x57f670[_0x8478('0x29')]['fields']));_0x5e5b13['attributes']=_0x5e5b13[_0x8478('0x2c')][_0x8478('0x2e')]?_0x5e5b13[_0x8478('0x2c')]:_0x1b2dae[_0x8478('0x28')];if(!_0x57f670[_0x8478('0x29')][_0x8478('0x2f')](_0x8478('0x30'))){_0x5e5b13[_0x8478('0x31')]=qs[_0x8478('0x31')](_0x57f670['query'][_0x8478('0x31')]);_0x5e5b13['offset']=qs[_0x8478('0x19')](_0x57f670[_0x8478('0x29')][_0x8478('0x19')]);}_0x5e5b13[_0x8478('0x32')]=qs[_0x8478('0x33')](_0x57f670[_0x8478('0x29')]['sort']);_0x5e5b13['where']=qs['filters'](_[_0x8478('0x34')](_0x57f670[_0x8478('0x29')],_0x1b2dae[_0x8478('0x2a')]),_0x4dda33);if(_0x57f670[_0x8478('0x29')]['filter']){_0x5e5b13[_0x8478('0x35')]=_[_0x8478('0x36')](_0x5e5b13[_0x8478('0x35')],{'$or':_[_0x8478('0x23')](_0x4dda33,function(_0x1ff868){if(_0x1ff868[_0x8478('0x37')]!=='VIRTUAL'){var _0xa6a8ce={};_0xa6a8ce[_0x1ff868[_0x8478('0x21')]]={'$like':'%'+_0x57f670[_0x8478('0x29')]['filter']+'%'};return _0xa6a8ce;}})});}_0x5e5b13=_[_0x8478('0x36')]({},_0x5e5b13,_0x57f670[_0x8478('0x38')]);var _0x441159={'where':_0x5e5b13[_0x8478('0x35')]};return db['MailTransferReport'][_0x8478('0x39')](_0x441159)[_0x8478('0x1d')](function(_0x1298df){_0x306e86[_0x8478('0x39')]=_0x1298df;if(_0x57f670['query'][_0x8478('0x3a')]){_0x5e5b13[_0x8478('0x3b')]=[{'all':!![]}];}return db[_0x8478('0x24')][_0x8478('0x3c')](_0x5e5b13);})[_0x8478('0x1d')](function(_0x10f951){_0x306e86['rows']=_0x10f951;return _0x306e86;})[_0x8478('0x1d')](respondWithFilteredResult(_0x3a2cbb,_0x5e5b13))['catch'](handleError(_0x3a2cbb,null));};exports['show']=function(_0x43d743,_0x5b4329){var _0x2ac676={'raw':!![],'where':{'id':_0x43d743[_0x8478('0x3d')]['id']}},_0x5c633c={};_0x5c633c['model']=_[_0x8478('0x3e')](db[_0x8478('0x24')][_0x8478('0x25')]);_0x5c633c[_0x8478('0x29')]=_[_0x8478('0x3e')](_0x43d743[_0x8478('0x29')]);_0x5c633c[_0x8478('0x3f')]=_[_0x8478('0x2b')](_0x5c633c[_0x8478('0x28')],_0x5c633c[_0x8478('0x29')]);_0x2ac676[_0x8478('0x2c')]=_[_0x8478('0x2b')](_0x5c633c[_0x8478('0x28')],qs[_0x8478('0x2d')](_0x43d743[_0x8478('0x29')][_0x8478('0x2d')]));_0x2ac676['attributes']=_0x2ac676[_0x8478('0x2c')][_0x8478('0x2e')]?_0x2ac676['attributes']:_0x5c633c['model'];if(_0x43d743['query']['includeAll']){_0x2ac676[_0x8478('0x3b')]=[{'all':!![]}];}_0x2ac676=_['merge']({},_0x2ac676,_0x43d743[_0x8478('0x38')]);return db['MailTransferReport'][_0x8478('0x40')](_0x2ac676)['then'](handleEntityNotFound(_0x5b4329,null))[_0x8478('0x1d')](respondWithResult(_0x5b4329,null))['catch'](handleError(_0x5b4329,null));};exports[_0x8478('0x41')]=function(_0x5cf1f3,_0x16d6d2){return db[_0x8478('0x24')][_0x8478('0x41')](_0x5cf1f3[_0x8478('0x42')],{})[_0x8478('0x1d')](respondWithResult(_0x16d6d2,0xc9))[_0x8478('0x43')](handleError(_0x16d6d2,null));};exports[_0x8478('0x1c')]=function(_0x5b2a15,_0x127fb8){if(_0x5b2a15[_0x8478('0x42')]['id']){delete _0x5b2a15[_0x8478('0x42')]['id'];}return db[_0x8478('0x24')][_0x8478('0x40')]({'where':{'id':_0x5b2a15['params']['id']}})['then'](handleEntityNotFound(_0x127fb8,null))[_0x8478('0x1d')](saveUpdates(_0x5b2a15[_0x8478('0x42')],null))[_0x8478('0x1d')](respondWithResult(_0x127fb8,null))[_0x8478('0x43')](handleError(_0x127fb8,null));};exports[_0x8478('0x1e')]=function(_0x5d791e,_0x3ce346){return db[_0x8478('0x24')]['find']({'where':{'id':_0x5d791e['params']['id']}})[_0x8478('0x1d')](handleEntityNotFound(_0x3ce346,null))[_0x8478('0x1d')](removeEntity(_0x3ce346,null))[_0x8478('0x43')](handleError(_0x3ce346,null));};exports['describe']=function(_0x153145,_0x5e4b7f){return db['MailTransferReport']['describe']()[_0x8478('0x1d')](respondWithResult(_0x5e4b7f,null))[_0x8478('0x43')](handleError(_0x5e4b7f,null));};