1d080740404dd136009ee5715b9af5a0eb618e73
[motion2.git] / server / api / mailQueueReport / mailQueueReport.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 _0x2caa=['fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','offset','limit','status','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','index','map','MailQueueReport','rawAttributes','fieldName','type','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','VIRTUAL','filter','merge','options','count','includeAll','include','findAll','rows','catch','show','params','keys','find','body','describe','html-pdf','eml-format','zip-dir'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x2caa,0xe4));var _0xa2ca=function(_0x3bf83f,_0x181cac){_0x3bf83f=_0x3bf83f-0x0;var _0x22c4a9=_0x2caa[_0x3bf83f];return _0x22c4a9;};'use strict';var pdf=require(_0xa2ca('0x0'));var emlformat=require(_0xa2ca('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xa2ca('0x2'));var jsonpatch=require(_0xa2ca('0x3'));var rp=require(_0xa2ca('0x4'));var moment=require('moment');var BPromise=require(_0xa2ca('0x5'));var Mustache=require(_0xa2ca('0x6'));var util=require(_0xa2ca('0x7'));var path=require(_0xa2ca('0x8'));var sox=require(_0xa2ca('0x9'));var csv=require(_0xa2ca('0xa'));var ejs=require(_0xa2ca('0xb'));var fs=require('fs');var _=require(_0xa2ca('0xc'));var squel=require(_0xa2ca('0xd'));var crypto=require(_0xa2ca('0xe'));var jsforce=require(_0xa2ca('0xf'));var deskjs=require(_0xa2ca('0x10'));var toCsv=require(_0xa2ca('0xa'));var querystring=require(_0xa2ca('0x11'));var Papa=require(_0xa2ca('0x12'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xa2ca('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xa2ca('0x14'))(_0xa2ca('0x15'));var utils=require(_0xa2ca('0x16'));var config=require(_0xa2ca('0x17'));var db=require(_0xa2ca('0x18'))['db'];function respondWithStatusCode(_0x5147f4,_0x1c6b11){_0x1c6b11=_0x1c6b11||0xcc;return function(_0x39048a){if(_0x39048a){return _0x5147f4[_0xa2ca('0x19')](_0x1c6b11);}return _0x5147f4['status'](_0x1c6b11)[_0xa2ca('0x1a')]();};}function respondWithResult(_0x43c9a7,_0x1d1146){_0x1d1146=_0x1d1146||0xc8;return function(_0x21470c){if(_0x21470c){return _0x43c9a7['status'](_0x1d1146)['json'](_0x21470c);}};}function respondWithFilteredResult(_0x3b2763,_0x584ffe){return function(_0x2462ad){if(_0x2462ad){var _0x954e0c=_0x2462ad['count'],_0x312a00=_0x584ffe[_0xa2ca('0x1b')],_0xd1bd4c=_0x584ffe[_0xa2ca('0x1b')]+_0x584ffe[_0xa2ca('0x1c')],_0x14d938;if(_0xd1bd4c>=_0x954e0c){_0xd1bd4c=_0x954e0c;_0x14d938=0xc8;}else{_0x14d938=0xce;}_0x3b2763[_0xa2ca('0x1d')](_0x14d938);return _0x3b2763[_0xa2ca('0x1e')](_0xa2ca('0x1f'),_0x312a00+'-'+_0xd1bd4c+'/'+_0x954e0c)['json'](_0x2462ad);}return null;};}function patchUpdates(_0x16c80a){return function(_0x1c5f47){try{jsonpatch[_0xa2ca('0x20')](_0x1c5f47,_0x16c80a,!![]);}catch(_0x2eb371){return BPromise[_0xa2ca('0x21')](_0x2eb371);}return _0x1c5f47[_0xa2ca('0x22')]();};}function saveUpdates(_0x3ab591,_0x1b142f){return function(_0xf180c){if(_0xf180c){return _0xf180c[_0xa2ca('0x23')](_0x3ab591)['then'](function(_0x5dd235){return _0x5dd235;});}return null;};}function removeEntity(_0x19dd34,_0x124710){return function(_0xee482d){if(_0xee482d){return _0xee482d[_0xa2ca('0x24')]()[_0xa2ca('0x25')](function(){_0x19dd34[_0xa2ca('0x1d')](0xcc)[_0xa2ca('0x1a')]();});}};}function handleEntityNotFound(_0x3e2795,_0x80b4d4){return function(_0x8542aa){if(!_0x8542aa){_0x3e2795['sendStatus'](0x194);}return _0x8542aa;};}function handleError(_0xa9b3a2,_0x5eda35){_0x5eda35=_0x5eda35||0x1f4;return function(_0x5e2579){logger[_0xa2ca('0x26')](_0x5e2579[_0xa2ca('0x27')]);if(_0x5e2579[_0xa2ca('0x28')]){delete _0x5e2579[_0xa2ca('0x28')];}_0xa9b3a2[_0xa2ca('0x1d')](_0x5eda35)[_0xa2ca('0x29')](_0x5e2579);};}exports[_0xa2ca('0x2a')]=function(_0xcda4c4,_0x4324fc){var _0x231a21={},_0x22e878={},_0x3d8a30={'count':0x0,'rows':[]};var _0x13d7f1=_[_0xa2ca('0x2b')](db[_0xa2ca('0x2c')][_0xa2ca('0x2d')],function(_0x342576){return{'name':_0x342576[_0xa2ca('0x2e')],'type':_0x342576[_0xa2ca('0x2f')]['key']};});_0x22e878[_0xa2ca('0x30')]=_[_0xa2ca('0x2b')](_0x13d7f1,'name');_0x22e878[_0xa2ca('0x31')]=_['keys'](_0xcda4c4['query']);_0x22e878[_0xa2ca('0x32')]=_['intersection'](_0x22e878['model'],_0x22e878[_0xa2ca('0x31')]);_0x231a21['attributes']=_[_0xa2ca('0x33')](_0x22e878[_0xa2ca('0x30')],qs[_0xa2ca('0x34')](_0xcda4c4[_0xa2ca('0x31')][_0xa2ca('0x34')]));_0x231a21[_0xa2ca('0x35')]=_0x231a21['attributes'][_0xa2ca('0x36')]?_0x231a21[_0xa2ca('0x35')]:_0x22e878['model'];if(!_0xcda4c4[_0xa2ca('0x31')][_0xa2ca('0x37')](_0xa2ca('0x38'))){_0x231a21[_0xa2ca('0x1c')]=qs[_0xa2ca('0x1c')](_0xcda4c4[_0xa2ca('0x31')]['limit']);_0x231a21[_0xa2ca('0x1b')]=qs[_0xa2ca('0x1b')](_0xcda4c4[_0xa2ca('0x31')][_0xa2ca('0x1b')]);}_0x231a21[_0xa2ca('0x39')]=qs[_0xa2ca('0x3a')](_0xcda4c4[_0xa2ca('0x31')][_0xa2ca('0x3a')]);_0x231a21[_0xa2ca('0x3b')]=qs[_0xa2ca('0x32')](_[_0xa2ca('0x3c')](_0xcda4c4[_0xa2ca('0x31')],_0x22e878[_0xa2ca('0x32')]));if(_0xcda4c4[_0xa2ca('0x31')]['filter']){_0x231a21[_0xa2ca('0x3b')]=_['merge'](_0x231a21['where'],{'$or':_[_0xa2ca('0x2b')](_0x13d7f1,function(_0x3fd149){if(_0x3fd149[_0xa2ca('0x2f')]!==_0xa2ca('0x3d')){var _0x5214a8={};_0x5214a8[_0x3fd149['name']]={'$like':'%'+_0xcda4c4[_0xa2ca('0x31')][_0xa2ca('0x3e')]+'%'};return _0x5214a8;}})});}_0x231a21=_[_0xa2ca('0x3f')]({},_0x231a21,_0xcda4c4[_0xa2ca('0x40')]);var _0xe1c616={'where':_0x231a21['where']};return db[_0xa2ca('0x2c')][_0xa2ca('0x41')](_0xe1c616)[_0xa2ca('0x25')](function(_0x121599){_0x3d8a30['count']=_0x121599;if(_0xcda4c4[_0xa2ca('0x31')][_0xa2ca('0x42')]){_0x231a21[_0xa2ca('0x43')]=[{'all':!![]}];}return db[_0xa2ca('0x2c')][_0xa2ca('0x44')](_0x231a21);})[_0xa2ca('0x25')](function(_0x41504b){_0x3d8a30[_0xa2ca('0x45')]=_0x41504b;return _0x3d8a30;})['then'](respondWithFilteredResult(_0x4324fc,_0x231a21))[_0xa2ca('0x46')](handleError(_0x4324fc,null));};exports[_0xa2ca('0x47')]=function(_0x584a4b,_0x1835f1){var _0x21d37c={'raw':!![],'where':{'id':_0x584a4b[_0xa2ca('0x48')]['id']}},_0x132fd4={};_0x132fd4['model']=_[_0xa2ca('0x49')](db[_0xa2ca('0x2c')][_0xa2ca('0x2d')]);_0x132fd4['query']=_[_0xa2ca('0x49')](_0x584a4b[_0xa2ca('0x31')]);_0x132fd4['filters']=_[_0xa2ca('0x33')](_0x132fd4[_0xa2ca('0x30')],_0x132fd4[_0xa2ca('0x31')]);_0x21d37c['attributes']=_[_0xa2ca('0x33')](_0x132fd4[_0xa2ca('0x30')],qs[_0xa2ca('0x34')](_0x584a4b[_0xa2ca('0x31')][_0xa2ca('0x34')]));_0x21d37c['attributes']=_0x21d37c[_0xa2ca('0x35')][_0xa2ca('0x36')]?_0x21d37c[_0xa2ca('0x35')]:_0x132fd4['model'];if(_0x584a4b['query']['includeAll']){_0x21d37c[_0xa2ca('0x43')]=[{'all':!![]}];}_0x21d37c=_[_0xa2ca('0x3f')]({},_0x21d37c,_0x584a4b[_0xa2ca('0x40')]);return db['MailQueueReport'][_0xa2ca('0x4a')](_0x21d37c)[_0xa2ca('0x25')](handleEntityNotFound(_0x1835f1,null))[_0xa2ca('0x25')](respondWithResult(_0x1835f1,null))['catch'](handleError(_0x1835f1,null));};exports['create']=function(_0x3654ad,_0x333644){return db[_0xa2ca('0x2c')]['create'](_0x3654ad['body'],{})[_0xa2ca('0x25')](respondWithResult(_0x333644,0xc9))['catch'](handleError(_0x333644,null));};exports[_0xa2ca('0x23')]=function(_0x557bab,_0x5696d5){if(_0x557bab[_0xa2ca('0x4b')]['id']){delete _0x557bab['body']['id'];}return db[_0xa2ca('0x2c')][_0xa2ca('0x4a')]({'where':{'id':_0x557bab[_0xa2ca('0x48')]['id']}})['then'](handleEntityNotFound(_0x5696d5,null))['then'](saveUpdates(_0x557bab['body'],null))['then'](respondWithResult(_0x5696d5,null))[_0xa2ca('0x46')](handleError(_0x5696d5,null));};exports['destroy']=function(_0x4f302d,_0x43998f){return db[_0xa2ca('0x2c')][_0xa2ca('0x4a')]({'where':{'id':_0x4f302d[_0xa2ca('0x48')]['id']}})[_0xa2ca('0x25')](handleEntityNotFound(_0x43998f,null))[_0xa2ca('0x25')](removeEntity(_0x43998f,null))[_0xa2ca('0x46')](handleError(_0x43998f,null));};exports[_0xa2ca('0x4c')]=function(_0x2b79f9,_0x4494ee){return db['MailQueueReport'][_0xa2ca('0x4c')]()[_0xa2ca('0x25')](respondWithResult(_0x4494ee,null))[_0xa2ca('0x46')](handleError(_0x4494ee,null));};