21f676031226890e14a7a20d1fbf1dea841d0acc
[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 _0xa20a=['filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','rawAttributes','fields','include','create','body','destroy','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','save','update','then','stack','name','send','index','map','MailTransferReport','type','key','query','keys','filters','intersection','model','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick'];(function(_0x21ae06,_0x1a2674){var _0x2d0d47=function(_0x2b0ccb){while(--_0x2b0ccb){_0x21ae06['push'](_0x21ae06['shift']());}};_0x2d0d47(++_0x1a2674);}(_0xa20a,0xac));var _0xaa20=function(_0x35da42,_0x5c2610){_0x35da42=_0x35da42-0x0;var _0x370035=_0xa20a[_0x35da42];return _0x370035;};'use strict';var emlformat=require(_0xaa20('0x0'));var rimraf=require(_0xaa20('0x1'));var zipdir=require(_0xaa20('0x2'));var jsonpatch=require(_0xaa20('0x3'));var rp=require(_0xaa20('0x4'));var moment=require(_0xaa20('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xaa20('0x6'));var util=require(_0xaa20('0x7'));var path=require(_0xaa20('0x8'));var sox=require('sox');var csv=require(_0xaa20('0x9'));var ejs=require(_0xaa20('0xa'));var fs=require('fs');var fs_extra=require(_0xaa20('0xb'));var _=require(_0xaa20('0xc'));var squel=require(_0xaa20('0xd'));var crypto=require('crypto');var jsforce=require(_0xaa20('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xaa20('0x9'));var querystring=require(_0xaa20('0xf'));var Papa=require(_0xaa20('0x10'));var Redis=require(_0xaa20('0x11'));var authService=require(_0xaa20('0x12'));var qs=require(_0xaa20('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xaa20('0x14'));var logger=require('../../config/logger')(_0xaa20('0x15'));var utils=require(_0xaa20('0x16'));var config=require(_0xaa20('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xaa20('0x18'))['db'];function respondWithStatusCode(_0x167f9e,_0x490024){_0x490024=_0x490024||0xcc;return function(_0x39cb0d){if(_0x39cb0d){return _0x167f9e[_0xaa20('0x19')](_0x490024);}return _0x167f9e[_0xaa20('0x1a')](_0x490024)['end']();};}function respondWithResult(_0x323a72,_0x47acbf){_0x47acbf=_0x47acbf||0xc8;return function(_0x221e23){if(_0x221e23){return _0x323a72[_0xaa20('0x1a')](_0x47acbf)[_0xaa20('0x1b')](_0x221e23);}};}function respondWithFilteredResult(_0xdb6e,_0x5a57ea){return function(_0x42b598){if(_0x42b598){var _0x593d2d=typeof _0x5a57ea['offset']===_0xaa20('0x1c')&&typeof _0x5a57ea[_0xaa20('0x1d')]===_0xaa20('0x1c');var _0x5c2fa3=_0x42b598[_0xaa20('0x1e')];var _0x59a52b=_0x593d2d?0x0:_0x5a57ea['offset'];var _0x5e1a39=_0x593d2d?_0x42b598['count']:_0x5a57ea[_0xaa20('0x1f')]+_0x5a57ea[_0xaa20('0x1d')];var _0x237be4;if(_0x5e1a39>=_0x5c2fa3){_0x5e1a39=_0x5c2fa3;_0x237be4=0xc8;}else{_0x237be4=0xce;}_0xdb6e['status'](_0x237be4);return _0xdb6e[_0xaa20('0x20')](_0xaa20('0x21'),_0x59a52b+'-'+_0x5e1a39+'/'+_0x5c2fa3)['json'](_0x42b598);}return null;};}function patchUpdates(_0x438453){return function(_0x1490ef){try{jsonpatch[_0xaa20('0x22')](_0x1490ef,_0x438453,!![]);}catch(_0x2a92c6){return BPromise['reject'](_0x2a92c6);}return _0x1490ef[_0xaa20('0x23')]();};}function saveUpdates(_0x363b4e,_0x3f3ef8){return function(_0x95aea5){if(_0x95aea5){return _0x95aea5[_0xaa20('0x24')](_0x363b4e)[_0xaa20('0x25')](function(_0x5a3bb0){return _0x5a3bb0;});}return null;};}function removeEntity(_0x3bca6e,_0x20d328){return function(_0x56a061){if(_0x56a061){return _0x56a061['destroy']()['then'](function(){_0x3bca6e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xfbc59,_0x38c98f){return function(_0x5257e3){if(!_0x5257e3){_0xfbc59[_0xaa20('0x19')](0x194);}return _0x5257e3;};}function handleError(_0x20af83,_0x427228){_0x427228=_0x427228||0x1f4;return function(_0x2cd473){logger['error'](_0x2cd473[_0xaa20('0x26')]);if(_0x2cd473[_0xaa20('0x27')]){delete _0x2cd473[_0xaa20('0x27')];}_0x20af83[_0xaa20('0x1a')](_0x427228)[_0xaa20('0x28')](_0x2cd473);};}exports[_0xaa20('0x29')]=function(_0x375056,_0x5d4b30){var _0x204df0={},_0x308391={},_0x1b81bc={'count':0x0,'rows':[]};var _0x56c407=_[_0xaa20('0x2a')](db[_0xaa20('0x2b')]['rawAttributes'],function(_0x255b62){return{'name':_0x255b62['fieldName'],'type':_0x255b62[_0xaa20('0x2c')][_0xaa20('0x2d')]};});_0x308391['model']=_['map'](_0x56c407,_0xaa20('0x27'));_0x308391[_0xaa20('0x2e')]=_[_0xaa20('0x2f')](_0x375056[_0xaa20('0x2e')]);_0x308391[_0xaa20('0x30')]=_[_0xaa20('0x31')](_0x308391['model'],_0x308391['query']);_0x204df0['attributes']=_[_0xaa20('0x31')](_0x308391[_0xaa20('0x32')],qs['fields'](_0x375056[_0xaa20('0x2e')]['fields']));_0x204df0[_0xaa20('0x33')]=_0x204df0[_0xaa20('0x33')][_0xaa20('0x34')]?_0x204df0[_0xaa20('0x33')]:_0x308391[_0xaa20('0x32')];if(!_0x375056[_0xaa20('0x2e')][_0xaa20('0x35')](_0xaa20('0x36'))){_0x204df0[_0xaa20('0x1d')]=qs[_0xaa20('0x1d')](_0x375056[_0xaa20('0x2e')]['limit']);_0x204df0[_0xaa20('0x1f')]=qs['offset'](_0x375056['query']['offset']);}_0x204df0[_0xaa20('0x37')]=qs[_0xaa20('0x38')](_0x375056[_0xaa20('0x2e')][_0xaa20('0x38')]);_0x204df0[_0xaa20('0x39')]=qs[_0xaa20('0x30')](_[_0xaa20('0x3a')](_0x375056[_0xaa20('0x2e')],_0x308391[_0xaa20('0x30')]),_0x56c407);if(_0x375056[_0xaa20('0x2e')][_0xaa20('0x3b')]){_0x204df0[_0xaa20('0x39')]=_[_0xaa20('0x3c')](_0x204df0[_0xaa20('0x39')],{'$or':_[_0xaa20('0x2a')](_0x56c407,function(_0xdccdf2){if(_0xdccdf2[_0xaa20('0x2c')]!==_0xaa20('0x3d')){var _0x9255bc={};_0x9255bc[_0xdccdf2['name']]={'$like':'%'+_0x375056[_0xaa20('0x2e')]['filter']+'%'};return _0x9255bc;}})});}_0x204df0=_[_0xaa20('0x3c')]({},_0x204df0,_0x375056[_0xaa20('0x3e')]);var _0x2faa71={'where':_0x204df0['where']};return db[_0xaa20('0x2b')][_0xaa20('0x1e')](_0x2faa71)[_0xaa20('0x25')](function(_0x5622d4){_0x1b81bc[_0xaa20('0x1e')]=_0x5622d4;if(_0x375056[_0xaa20('0x2e')][_0xaa20('0x3f')]){_0x204df0['include']=[{'all':!![]}];}return db[_0xaa20('0x2b')][_0xaa20('0x40')](_0x204df0);})[_0xaa20('0x25')](function(_0x3a4a9c){_0x1b81bc[_0xaa20('0x41')]=_0x3a4a9c;return _0x1b81bc;})[_0xaa20('0x25')](respondWithFilteredResult(_0x5d4b30,_0x204df0))[_0xaa20('0x42')](handleError(_0x5d4b30,null));};exports[_0xaa20('0x43')]=function(_0x4433b2,_0x29337e){var _0x2ee338={'raw':!![],'where':{'id':_0x4433b2[_0xaa20('0x44')]['id']}},_0x5a1612={};_0x5a1612[_0xaa20('0x32')]=_['keys'](db['MailTransferReport'][_0xaa20('0x45')]);_0x5a1612['query']=_[_0xaa20('0x2f')](_0x4433b2['query']);_0x5a1612['filters']=_[_0xaa20('0x31')](_0x5a1612['model'],_0x5a1612[_0xaa20('0x2e')]);_0x2ee338['attributes']=_[_0xaa20('0x31')](_0x5a1612['model'],qs[_0xaa20('0x46')](_0x4433b2['query'][_0xaa20('0x46')]));_0x2ee338[_0xaa20('0x33')]=_0x2ee338[_0xaa20('0x33')][_0xaa20('0x34')]?_0x2ee338['attributes']:_0x5a1612['model'];if(_0x4433b2['query'][_0xaa20('0x3f')]){_0x2ee338[_0xaa20('0x47')]=[{'all':!![]}];}_0x2ee338=_[_0xaa20('0x3c')]({},_0x2ee338,_0x4433b2['options']);return db[_0xaa20('0x2b')]['find'](_0x2ee338)['then'](handleEntityNotFound(_0x29337e,null))[_0xaa20('0x25')](respondWithResult(_0x29337e,null))[_0xaa20('0x42')](handleError(_0x29337e,null));};exports[_0xaa20('0x48')]=function(_0x2ddb83,_0x41c756){return db[_0xaa20('0x2b')][_0xaa20('0x48')](_0x2ddb83[_0xaa20('0x49')],{})['then'](respondWithResult(_0x41c756,0xc9))[_0xaa20('0x42')](handleError(_0x41c756,null));};exports['update']=function(_0x6a3771,_0x4ed697){if(_0x6a3771['body']['id']){delete _0x6a3771['body']['id'];}return db[_0xaa20('0x2b')]['find']({'where':{'id':_0x6a3771['params']['id']}})[_0xaa20('0x25')](handleEntityNotFound(_0x4ed697,null))[_0xaa20('0x25')](saveUpdates(_0x6a3771[_0xaa20('0x49')],null))['then'](respondWithResult(_0x4ed697,null))[_0xaa20('0x42')](handleError(_0x4ed697,null));};exports[_0xaa20('0x4a')]=function(_0x159a24,_0x3f236c){return db['MailTransferReport'][_0xaa20('0x4b')]({'where':{'id':_0x159a24[_0xaa20('0x44')]['id']}})[_0xaa20('0x25')](handleEntityNotFound(_0x3f236c,null))[_0xaa20('0x25')](removeEntity(_0x3f236c,null))['catch'](handleError(_0x3f236c,null));};exports['describe']=function(_0x196e2a,_0x38bdf4){return db[_0xaa20('0x2b')][_0xaa20('0x4c')]()[_0xaa20('0x25')](respondWithResult(_0x38bdf4,null))[_0xaa20('0x42')](handleError(_0x38bdf4,null));};