211e0ef1f47e345753eb723668df936650cc9096
[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 _0xcb03=['ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','count','offset','limit','set','reject','update','then','destroy','sendStatus','error','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','nolimit','order','sort','where','pick','VIRTUAL','merge','options','MailTransferReport','includeAll','include','findAll','rows','show','params','length','find','catch','create','body','describe','zip-dir','bluebird','util','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse'];(function(_0x3d0b8d,_0x20179c){var _0x6c2348=function(_0x175310){while(--_0x175310){_0x3d0b8d['push'](_0x3d0b8d['shift']());}};_0x6c2348(++_0x20179c);}(_0xcb03,0x19f));var _0x3cb0=function(_0x184773,_0x3ff9e1){_0x184773=_0x184773-0x0;var _0xe54850=_0xcb03[_0x184773];return _0xe54850;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3cb0('0x0'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x3cb0('0x1'));var Mustache=require('mustache');var util=require(_0x3cb0('0x2'));var path=require('path');var sox=require(_0x3cb0('0x3'));var csv=require(_0x3cb0('0x4'));var ejs=require(_0x3cb0('0x5'));var fs=require('fs');var _=require(_0x3cb0('0x6'));var squel=require('squel');var crypto=require(_0x3cb0('0x7'));var jsforce=require(_0x3cb0('0x8'));var deskjs=require(_0x3cb0('0x9'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x3cb0('0xa'));var Redis=require(_0x3cb0('0xb'));var authService=require(_0x3cb0('0xc'));var qs=require(_0x3cb0('0xd'));var as=require(_0x3cb0('0xe'));var hardwareService=require(_0x3cb0('0xf'));var logger=require(_0x3cb0('0x10'))(_0x3cb0('0x11'));var utils=require(_0x3cb0('0x12'));var config=require(_0x3cb0('0x13'));var licenseUtil=require(_0x3cb0('0x14'));var db=require(_0x3cb0('0x15'))['db'];function respondWithStatusCode(_0x54fd95,_0x4dfa75){_0x4dfa75=_0x4dfa75||0xcc;return function(_0x56222f){if(_0x56222f){return _0x54fd95['sendStatus'](_0x4dfa75);}return _0x54fd95['status'](_0x4dfa75)[_0x3cb0('0x16')]();};}function respondWithResult(_0x214850,_0x33a056){_0x33a056=_0x33a056||0xc8;return function(_0x2ce621){if(_0x2ce621){return _0x214850[_0x3cb0('0x17')](_0x33a056)[_0x3cb0('0x18')](_0x2ce621);}};}function respondWithFilteredResult(_0x19ac0a,_0x203961){return function(_0x2eca85){if(_0x2eca85){var _0x326733=_0x2eca85[_0x3cb0('0x19')],_0x3c3998=_0x203961[_0x3cb0('0x1a')],_0x8c9901=_0x203961[_0x3cb0('0x1a')]+_0x203961[_0x3cb0('0x1b')],_0x3f6148;if(_0x8c9901>=_0x326733){_0x8c9901=_0x326733;_0x3f6148=0xc8;}else{_0x3f6148=0xce;}_0x19ac0a[_0x3cb0('0x17')](_0x3f6148);return _0x19ac0a[_0x3cb0('0x1c')]('Content-Range',_0x3c3998+'-'+_0x8c9901+'/'+_0x326733)[_0x3cb0('0x18')](_0x2eca85);}return null;};}function patchUpdates(_0x1da395){return function(_0x388409){try{jsonpatch['apply'](_0x388409,_0x1da395,!![]);}catch(_0x277c26){return BPromise[_0x3cb0('0x1d')](_0x277c26);}return _0x388409['save']();};}function saveUpdates(_0x19713e,_0x2dc407){return function(_0xaa232){if(_0xaa232){return _0xaa232[_0x3cb0('0x1e')](_0x19713e)[_0x3cb0('0x1f')](function(_0x461045){return _0x461045;});}return null;};}function removeEntity(_0x32a515,_0x30d9b3){return function(_0x41349f){if(_0x41349f){return _0x41349f[_0x3cb0('0x20')]()[_0x3cb0('0x1f')](function(){_0x32a515[_0x3cb0('0x17')](0xcc)[_0x3cb0('0x16')]();});}};}function handleEntityNotFound(_0x26c423,_0x19abe1){return function(_0x7dad71){if(!_0x7dad71){_0x26c423[_0x3cb0('0x21')](0x194);}return _0x7dad71;};}function handleError(_0x3555d5,_0x2cf018){_0x2cf018=_0x2cf018||0x1f4;return function(_0x50063a){logger[_0x3cb0('0x22')](_0x50063a['stack']);if(_0x50063a['name']){delete _0x50063a[_0x3cb0('0x23')];}_0x3555d5[_0x3cb0('0x17')](_0x2cf018)[_0x3cb0('0x24')](_0x50063a);};}exports[_0x3cb0('0x25')]=function(_0x338580,_0x4285b2){var _0x2457ac={},_0x4fbfe9={},_0x2a4c8e={'count':0x0,'rows':[]};var _0x592e03=_[_0x3cb0('0x26')](db['MailTransferReport'][_0x3cb0('0x27')],function(_0xdeb7ed){return{'name':_0xdeb7ed[_0x3cb0('0x28')],'type':_0xdeb7ed[_0x3cb0('0x29')][_0x3cb0('0x2a')]};});_0x4fbfe9[_0x3cb0('0x2b')]=_[_0x3cb0('0x26')](_0x592e03,_0x3cb0('0x23'));_0x4fbfe9['query']=_[_0x3cb0('0x2c')](_0x338580[_0x3cb0('0x2d')]);_0x4fbfe9[_0x3cb0('0x2e')]=_[_0x3cb0('0x2f')](_0x4fbfe9[_0x3cb0('0x2b')],_0x4fbfe9['query']);_0x2457ac['attributes']=_[_0x3cb0('0x2f')](_0x4fbfe9[_0x3cb0('0x2b')],qs['fields'](_0x338580[_0x3cb0('0x2d')][_0x3cb0('0x30')]));_0x2457ac[_0x3cb0('0x31')]=_0x2457ac[_0x3cb0('0x31')]['length']?_0x2457ac[_0x3cb0('0x31')]:_0x4fbfe9[_0x3cb0('0x2b')];if(!_0x338580[_0x3cb0('0x2d')]['hasOwnProperty'](_0x3cb0('0x32'))){_0x2457ac[_0x3cb0('0x1b')]=qs[_0x3cb0('0x1b')](_0x338580['query'][_0x3cb0('0x1b')]);_0x2457ac[_0x3cb0('0x1a')]=qs[_0x3cb0('0x1a')](_0x338580['query'][_0x3cb0('0x1a')]);}_0x2457ac[_0x3cb0('0x33')]=qs[_0x3cb0('0x34')](_0x338580[_0x3cb0('0x2d')]['sort']);_0x2457ac[_0x3cb0('0x35')]=qs['filters'](_[_0x3cb0('0x36')](_0x338580[_0x3cb0('0x2d')],_0x4fbfe9[_0x3cb0('0x2e')]),_0x592e03);if(_0x338580[_0x3cb0('0x2d')]['filter']){_0x2457ac[_0x3cb0('0x35')]=_['merge'](_0x2457ac['where'],{'$or':_['map'](_0x592e03,function(_0x125d59){if(_0x125d59['type']!==_0x3cb0('0x37')){var _0x8d092f={};_0x8d092f[_0x125d59[_0x3cb0('0x23')]]={'$like':'%'+_0x338580[_0x3cb0('0x2d')]['filter']+'%'};return _0x8d092f;}})});}_0x2457ac=_[_0x3cb0('0x38')]({},_0x2457ac,_0x338580[_0x3cb0('0x39')]);var _0x1fc858={'where':_0x2457ac[_0x3cb0('0x35')]};return db[_0x3cb0('0x3a')][_0x3cb0('0x19')](_0x1fc858)[_0x3cb0('0x1f')](function(_0x338c6b){_0x2a4c8e[_0x3cb0('0x19')]=_0x338c6b;if(_0x338580[_0x3cb0('0x2d')][_0x3cb0('0x3b')]){_0x2457ac[_0x3cb0('0x3c')]=[{'all':!![]}];}return db[_0x3cb0('0x3a')][_0x3cb0('0x3d')](_0x2457ac);})[_0x3cb0('0x1f')](function(_0x33de2b){_0x2a4c8e[_0x3cb0('0x3e')]=_0x33de2b;return _0x2a4c8e;})[_0x3cb0('0x1f')](respondWithFilteredResult(_0x4285b2,_0x2457ac))['catch'](handleError(_0x4285b2,null));};exports[_0x3cb0('0x3f')]=function(_0x54a9e6,_0x1f4066){var _0x3f97de={'raw':!![],'where':{'id':_0x54a9e6[_0x3cb0('0x40')]['id']}},_0x3348e0={};_0x3348e0['model']=_[_0x3cb0('0x2c')](db[_0x3cb0('0x3a')][_0x3cb0('0x27')]);_0x3348e0[_0x3cb0('0x2d')]=_['keys'](_0x54a9e6['query']);_0x3348e0[_0x3cb0('0x2e')]=_[_0x3cb0('0x2f')](_0x3348e0[_0x3cb0('0x2b')],_0x3348e0[_0x3cb0('0x2d')]);_0x3f97de['attributes']=_[_0x3cb0('0x2f')](_0x3348e0[_0x3cb0('0x2b')],qs[_0x3cb0('0x30')](_0x54a9e6[_0x3cb0('0x2d')][_0x3cb0('0x30')]));_0x3f97de['attributes']=_0x3f97de[_0x3cb0('0x31')][_0x3cb0('0x41')]?_0x3f97de[_0x3cb0('0x31')]:_0x3348e0['model'];if(_0x54a9e6[_0x3cb0('0x2d')][_0x3cb0('0x3b')]){_0x3f97de[_0x3cb0('0x3c')]=[{'all':!![]}];}_0x3f97de=_[_0x3cb0('0x38')]({},_0x3f97de,_0x54a9e6['options']);return db[_0x3cb0('0x3a')][_0x3cb0('0x42')](_0x3f97de)[_0x3cb0('0x1f')](handleEntityNotFound(_0x1f4066,null))['then'](respondWithResult(_0x1f4066,null))[_0x3cb0('0x43')](handleError(_0x1f4066,null));};exports[_0x3cb0('0x44')]=function(_0x30905b,_0x594a42){return db[_0x3cb0('0x3a')][_0x3cb0('0x44')](_0x30905b[_0x3cb0('0x45')],{})[_0x3cb0('0x1f')](respondWithResult(_0x594a42,0xc9))['catch'](handleError(_0x594a42,null));};exports[_0x3cb0('0x1e')]=function(_0x1a2fc9,_0x775e8d){if(_0x1a2fc9[_0x3cb0('0x45')]['id']){delete _0x1a2fc9[_0x3cb0('0x45')]['id'];}return db[_0x3cb0('0x3a')][_0x3cb0('0x42')]({'where':{'id':_0x1a2fc9[_0x3cb0('0x40')]['id']}})['then'](handleEntityNotFound(_0x775e8d,null))['then'](saveUpdates(_0x1a2fc9[_0x3cb0('0x45')],null))[_0x3cb0('0x1f')](respondWithResult(_0x775e8d,null))[_0x3cb0('0x43')](handleError(_0x775e8d,null));};exports[_0x3cb0('0x20')]=function(_0xb78f68,_0xb023de){return db[_0x3cb0('0x3a')][_0x3cb0('0x42')]({'where':{'id':_0xb78f68[_0x3cb0('0x40')]['id']}})['then'](handleEntityNotFound(_0xb023de,null))['then'](removeEntity(_0xb023de,null))['catch'](handleError(_0xb023de,null));};exports[_0x3cb0('0x46')]=function(_0x201066,_0x3c42f5){return db['MailTransferReport']['describe']()[_0x3cb0('0x1f')](respondWithResult(_0x3c42f5,null))['catch'](handleError(_0x3c42f5,null));};