a79a7b61429c4ebf935a565bee0b7e10a3a469a8
[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 _0x7b9f=['options','includeAll','include','findAll','rows','show','find','catch','create','body','params','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','then','destroy','stack','name','send','index','MailQueueReport','rawAttributes','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','map','merge'];(function(_0x3afe73,_0x556877){var _0x51c279=function(_0x162c3d){while(--_0x162c3d){_0x3afe73['push'](_0x3afe73['shift']());}};_0x51c279(++_0x556877);}(_0x7b9f,0xa2));var _0xf7b9=function(_0x45387d,_0x4f1519){_0x45387d=_0x45387d-0x0;var _0x4d1a0f=_0x7b9f[_0x45387d];return _0x4d1a0f;};'use strict';var emlformat=require(_0xf7b9('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xf7b9('0x1'));var jsonpatch=require(_0xf7b9('0x2'));var rp=require(_0xf7b9('0x3'));var moment=require(_0xf7b9('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf7b9('0x5'));var path=require(_0xf7b9('0x6'));var sox=require(_0xf7b9('0x7'));var csv=require(_0xf7b9('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf7b9('0x9'));var squel=require(_0xf7b9('0xa'));var crypto=require(_0xf7b9('0xb'));var jsforce=require(_0xf7b9('0xc'));var deskjs=require(_0xf7b9('0xd'));var toCsv=require('to-csv');var querystring=require(_0xf7b9('0xe'));var Papa=require(_0xf7b9('0xf'));var Redis=require('ioredis');var authService=require(_0xf7b9('0x10'));var qs=require(_0xf7b9('0x11'));var as=require(_0xf7b9('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf7b9('0x13'))(_0xf7b9('0x14'));var utils=require(_0xf7b9('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xf7b9('0x16'));var db=require(_0xf7b9('0x17'))['db'];function respondWithStatusCode(_0x492908,_0x1004ba){_0x1004ba=_0x1004ba||0xcc;return function(_0x30babc){if(_0x30babc){return _0x492908[_0xf7b9('0x18')](_0x1004ba);}return _0x492908[_0xf7b9('0x19')](_0x1004ba)[_0xf7b9('0x1a')]();};}function respondWithResult(_0x193549,_0x4fd6bf){_0x4fd6bf=_0x4fd6bf||0xc8;return function(_0x4e5d9e){if(_0x4e5d9e){return _0x193549['status'](_0x4fd6bf)['json'](_0x4e5d9e);}};}function respondWithFilteredResult(_0x766815,_0x8c034e){return function(_0xcc0ec7){if(_0xcc0ec7){var _0x40b438=_0xcc0ec7[_0xf7b9('0x1b')],_0x809fb2=_0x8c034e[_0xf7b9('0x1c')],_0x621656=_0x8c034e[_0xf7b9('0x1c')]+_0x8c034e[_0xf7b9('0x1d')],_0x10ed4e;if(_0x621656>=_0x40b438){_0x621656=_0x40b438;_0x10ed4e=0xc8;}else{_0x10ed4e=0xce;}_0x766815['status'](_0x10ed4e);return _0x766815[_0xf7b9('0x1e')](_0xf7b9('0x1f'),_0x809fb2+'-'+_0x621656+'/'+_0x40b438)[_0xf7b9('0x20')](_0xcc0ec7);}return null;};}function patchUpdates(_0x5e13cf){return function(_0x42c77b){try{jsonpatch[_0xf7b9('0x21')](_0x42c77b,_0x5e13cf,!![]);}catch(_0x9865cd){return BPromise[_0xf7b9('0x22')](_0x9865cd);}return _0x42c77b[_0xf7b9('0x23')]();};}function saveUpdates(_0x4d48cb,_0x8ef1de){return function(_0x9a4df6){if(_0x9a4df6){return _0x9a4df6['update'](_0x4d48cb)[_0xf7b9('0x24')](function(_0x58189a){return _0x58189a;});}return null;};}function removeEntity(_0x8baa40,_0xbd2c4f){return function(_0x14a05f){if(_0x14a05f){return _0x14a05f[_0xf7b9('0x25')]()[_0xf7b9('0x24')](function(){_0x8baa40['status'](0xcc)[_0xf7b9('0x1a')]();});}};}function handleEntityNotFound(_0x4b4c61,_0x22a7e8){return function(_0x5048bd){if(!_0x5048bd){_0x4b4c61[_0xf7b9('0x18')](0x194);}return _0x5048bd;};}function handleError(_0x5e660d,_0x21b007){_0x21b007=_0x21b007||0x1f4;return function(_0x529c9d){logger['error'](_0x529c9d[_0xf7b9('0x26')]);if(_0x529c9d['name']){delete _0x529c9d[_0xf7b9('0x27')];}_0x5e660d['status'](_0x21b007)[_0xf7b9('0x28')](_0x529c9d);};}exports[_0xf7b9('0x29')]=function(_0x28ba8a,_0x40097b){var _0x340d17={},_0x88407={},_0x4f300e={'count':0x0,'rows':[]};var _0x5406f3=_['map'](db[_0xf7b9('0x2a')][_0xf7b9('0x2b')],function(_0x26a59a){return{'name':_0x26a59a['fieldName'],'type':_0x26a59a[_0xf7b9('0x2c')][_0xf7b9('0x2d')]};});_0x88407[_0xf7b9('0x2e')]=_['map'](_0x5406f3,_0xf7b9('0x27'));_0x88407['query']=_[_0xf7b9('0x2f')](_0x28ba8a[_0xf7b9('0x30')]);_0x88407[_0xf7b9('0x31')]=_[_0xf7b9('0x32')](_0x88407[_0xf7b9('0x2e')],_0x88407[_0xf7b9('0x30')]);_0x340d17[_0xf7b9('0x33')]=_[_0xf7b9('0x32')](_0x88407[_0xf7b9('0x2e')],qs[_0xf7b9('0x34')](_0x28ba8a[_0xf7b9('0x30')][_0xf7b9('0x34')]));_0x340d17['attributes']=_0x340d17['attributes'][_0xf7b9('0x35')]?_0x340d17[_0xf7b9('0x33')]:_0x88407[_0xf7b9('0x2e')];if(!_0x28ba8a['query'][_0xf7b9('0x36')](_0xf7b9('0x37'))){_0x340d17[_0xf7b9('0x1d')]=qs[_0xf7b9('0x1d')](_0x28ba8a['query'][_0xf7b9('0x1d')]);_0x340d17['offset']=qs[_0xf7b9('0x1c')](_0x28ba8a['query']['offset']);}_0x340d17[_0xf7b9('0x38')]=qs[_0xf7b9('0x39')](_0x28ba8a['query'][_0xf7b9('0x39')]);_0x340d17[_0xf7b9('0x3a')]=qs[_0xf7b9('0x31')](_[_0xf7b9('0x3b')](_0x28ba8a[_0xf7b9('0x30')],_0x88407['filters']),_0x5406f3);if(_0x28ba8a[_0xf7b9('0x30')][_0xf7b9('0x3c')]){_0x340d17[_0xf7b9('0x3a')]=_['merge'](_0x340d17[_0xf7b9('0x3a')],{'$or':_[_0xf7b9('0x3d')](_0x5406f3,function(_0x31adea){if(_0x31adea[_0xf7b9('0x2c')]!=='VIRTUAL'){var _0x1dd908={};_0x1dd908[_0x31adea[_0xf7b9('0x27')]]={'$like':'%'+_0x28ba8a[_0xf7b9('0x30')]['filter']+'%'};return _0x1dd908;}})});}_0x340d17=_[_0xf7b9('0x3e')]({},_0x340d17,_0x28ba8a[_0xf7b9('0x3f')]);var _0xf31d79={'where':_0x340d17['where']};return db[_0xf7b9('0x2a')][_0xf7b9('0x1b')](_0xf31d79)[_0xf7b9('0x24')](function(_0x480f2e){_0x4f300e[_0xf7b9('0x1b')]=_0x480f2e;if(_0x28ba8a[_0xf7b9('0x30')][_0xf7b9('0x40')]){_0x340d17[_0xf7b9('0x41')]=[{'all':!![]}];}return db['MailQueueReport'][_0xf7b9('0x42')](_0x340d17);})[_0xf7b9('0x24')](function(_0x440487){_0x4f300e[_0xf7b9('0x43')]=_0x440487;return _0x4f300e;})[_0xf7b9('0x24')](respondWithFilteredResult(_0x40097b,_0x340d17))['catch'](handleError(_0x40097b,null));};exports[_0xf7b9('0x44')]=function(_0x44da95,_0x52c61c){var _0x436aea={'raw':!![],'where':{'id':_0x44da95['params']['id']}},_0x35c9db={};_0x35c9db[_0xf7b9('0x2e')]=_[_0xf7b9('0x2f')](db[_0xf7b9('0x2a')][_0xf7b9('0x2b')]);_0x35c9db['query']=_[_0xf7b9('0x2f')](_0x44da95['query']);_0x35c9db[_0xf7b9('0x31')]=_[_0xf7b9('0x32')](_0x35c9db[_0xf7b9('0x2e')],_0x35c9db['query']);_0x436aea['attributes']=_['intersection'](_0x35c9db[_0xf7b9('0x2e')],qs['fields'](_0x44da95[_0xf7b9('0x30')][_0xf7b9('0x34')]));_0x436aea[_0xf7b9('0x33')]=_0x436aea[_0xf7b9('0x33')]['length']?_0x436aea[_0xf7b9('0x33')]:_0x35c9db[_0xf7b9('0x2e')];if(_0x44da95['query']['includeAll']){_0x436aea[_0xf7b9('0x41')]=[{'all':!![]}];}_0x436aea=_['merge']({},_0x436aea,_0x44da95['options']);return db['MailQueueReport'][_0xf7b9('0x45')](_0x436aea)[_0xf7b9('0x24')](handleEntityNotFound(_0x52c61c,null))[_0xf7b9('0x24')](respondWithResult(_0x52c61c,null))[_0xf7b9('0x46')](handleError(_0x52c61c,null));};exports[_0xf7b9('0x47')]=function(_0x4b2e5a,_0x99c3a5){return db[_0xf7b9('0x2a')][_0xf7b9('0x47')](_0x4b2e5a[_0xf7b9('0x48')],{})['then'](respondWithResult(_0x99c3a5,0xc9))[_0xf7b9('0x46')](handleError(_0x99c3a5,null));};exports['update']=function(_0x2dae9a,_0x1e7144){if(_0x2dae9a[_0xf7b9('0x48')]['id']){delete _0x2dae9a['body']['id'];}return db[_0xf7b9('0x2a')][_0xf7b9('0x45')]({'where':{'id':_0x2dae9a[_0xf7b9('0x49')]['id']}})['then'](handleEntityNotFound(_0x1e7144,null))[_0xf7b9('0x24')](saveUpdates(_0x2dae9a[_0xf7b9('0x48')],null))['then'](respondWithResult(_0x1e7144,null))['catch'](handleError(_0x1e7144,null));};exports['destroy']=function(_0x86fb31,_0x1e1880){return db[_0xf7b9('0x2a')][_0xf7b9('0x45')]({'where':{'id':_0x86fb31[_0xf7b9('0x49')]['id']}})[_0xf7b9('0x24')](handleEntityNotFound(_0x1e1880,null))[_0xf7b9('0x24')](removeEntity(_0x1e1880,null))[_0xf7b9('0x46')](handleError(_0x1e1880,null));};exports[_0xf7b9('0x4a')]=function(_0x5430a4,_0x2aaefc){return db[_0xf7b9('0x2a')][_0xf7b9('0x4a')]()['then'](respondWithResult(_0x2aaefc,null))[_0xf7b9('0x46')](handleError(_0x2aaefc,null));};