4c8b4ac08cbcdeec32ab139bb1803b78decfcfc8
[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 _0x6612=['sendStatus','error','stack','name','send','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filter','where','merge','VIRTUAL','options','MailTransferReport','includeAll','include','findAll','show','params','find','catch','create','body','update','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','then','destroy'];(function(_0x4b9a3a,_0x4fae51){var _0x553159=function(_0x180af7){while(--_0x180af7){_0x4b9a3a['push'](_0x4b9a3a['shift']());}};_0x553159(++_0x4fae51);}(_0x6612,0x1ed));var _0x2661=function(_0x3a6efd,_0x2a5102){_0x3a6efd=_0x3a6efd-0x0;var _0x487b9a=_0x6612[_0x3a6efd];return _0x487b9a;};'use strict';var emlformat=require(_0x2661('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2661('0x1'));var jsonpatch=require(_0x2661('0x2'));var rp=require(_0x2661('0x3'));var moment=require(_0x2661('0x4'));var BPromise=require(_0x2661('0x5'));var Mustache=require(_0x2661('0x6'));var util=require(_0x2661('0x7'));var path=require('path');var sox=require(_0x2661('0x8'));var csv=require(_0x2661('0x9'));var ejs=require(_0x2661('0xa'));var fs=require('fs');var fs_extra=require(_0x2661('0xb'));var _=require(_0x2661('0xc'));var squel=require(_0x2661('0xd'));var crypto=require(_0x2661('0xe'));var jsforce=require(_0x2661('0xf'));var deskjs=require(_0x2661('0x10'));var toCsv=require(_0x2661('0x9'));var querystring=require(_0x2661('0x11'));var Papa=require('papaparse');var Redis=require(_0x2661('0x12'));var authService=require(_0x2661('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2661('0x14'));var logger=require('../../config/logger')(_0x2661('0x15'));var utils=require(_0x2661('0x16'));var config=require(_0x2661('0x17'));var licenseUtil=require(_0x2661('0x18'));var db=require(_0x2661('0x19'))['db'];function respondWithStatusCode(_0x46510a,_0x22b6e4){_0x22b6e4=_0x22b6e4||0xcc;return function(_0x25a998){if(_0x25a998){return _0x46510a['sendStatus'](_0x22b6e4);}return _0x46510a[_0x2661('0x1a')](_0x22b6e4)[_0x2661('0x1b')]();};}function respondWithResult(_0x25ae24,_0x2de5ab){_0x2de5ab=_0x2de5ab||0xc8;return function(_0x324b67){if(_0x324b67){return _0x25ae24[_0x2661('0x1a')](_0x2de5ab)[_0x2661('0x1c')](_0x324b67);}};}function respondWithFilteredResult(_0x1f7a7b,_0x3bc83e){return function(_0x479683){if(_0x479683){var _0x113ed9=typeof _0x3bc83e[_0x2661('0x1d')]===_0x2661('0x1e')&&typeof _0x3bc83e[_0x2661('0x1f')]===_0x2661('0x1e');var _0x30def5=_0x479683[_0x2661('0x20')];var _0x5e99ea=_0x113ed9?0x0:_0x3bc83e[_0x2661('0x1d')];var _0x75ebb6=_0x113ed9?_0x479683[_0x2661('0x20')]:_0x3bc83e[_0x2661('0x1d')]+_0x3bc83e['limit'];var _0x37ad05;if(_0x75ebb6>=_0x30def5){_0x75ebb6=_0x30def5;_0x37ad05=0xc8;}else{_0x37ad05=0xce;}_0x1f7a7b[_0x2661('0x1a')](_0x37ad05);return _0x1f7a7b[_0x2661('0x21')](_0x2661('0x22'),_0x5e99ea+'-'+_0x75ebb6+'/'+_0x30def5)['json'](_0x479683);}return null;};}function patchUpdates(_0x35e72a){return function(_0x27abf1){try{jsonpatch['apply'](_0x27abf1,_0x35e72a,!![]);}catch(_0x14b8da){return BPromise[_0x2661('0x23')](_0x14b8da);}return _0x27abf1[_0x2661('0x24')]();};}function saveUpdates(_0x5e5dc4,_0x2dc8e2){return function(_0x2d5206){if(_0x2d5206){return _0x2d5206['update'](_0x5e5dc4)[_0x2661('0x25')](function(_0x1935b2){return _0x1935b2;});}return null;};}function removeEntity(_0x24b316,_0xa36280){return function(_0x92e651){if(_0x92e651){return _0x92e651[_0x2661('0x26')]()['then'](function(){_0x24b316[_0x2661('0x1a')](0xcc)[_0x2661('0x1b')]();});}};}function handleEntityNotFound(_0x517081,_0x57d5dd){return function(_0x459bbc){if(!_0x459bbc){_0x517081[_0x2661('0x27')](0x194);}return _0x459bbc;};}function handleError(_0x5875ec,_0xa6755e){_0xa6755e=_0xa6755e||0x1f4;return function(_0x7ff900){logger[_0x2661('0x28')](_0x7ff900[_0x2661('0x29')]);if(_0x7ff900['name']){delete _0x7ff900[_0x2661('0x2a')];}_0x5875ec['status'](_0xa6755e)[_0x2661('0x2b')](_0x7ff900);};}exports['index']=function(_0x3ee68e,_0xb8db35){var _0xf5f5f4={},_0x19aab5={},_0x3b5381={'count':0x0,'rows':[]};var _0x532c1b=_[_0x2661('0x2c')](db['MailTransferReport'][_0x2661('0x2d')],function(_0x38c0e1){return{'name':_0x38c0e1[_0x2661('0x2e')],'type':_0x38c0e1[_0x2661('0x2f')]['key']};});_0x19aab5[_0x2661('0x30')]=_[_0x2661('0x2c')](_0x532c1b,'name');_0x19aab5[_0x2661('0x31')]=_[_0x2661('0x32')](_0x3ee68e[_0x2661('0x31')]);_0x19aab5[_0x2661('0x33')]=_[_0x2661('0x34')](_0x19aab5[_0x2661('0x30')],_0x19aab5[_0x2661('0x31')]);_0xf5f5f4[_0x2661('0x35')]=_[_0x2661('0x34')](_0x19aab5['model'],qs[_0x2661('0x36')](_0x3ee68e[_0x2661('0x31')]['fields']));_0xf5f5f4[_0x2661('0x35')]=_0xf5f5f4[_0x2661('0x35')][_0x2661('0x37')]?_0xf5f5f4[_0x2661('0x35')]:_0x19aab5[_0x2661('0x30')];if(!_0x3ee68e['query'][_0x2661('0x38')](_0x2661('0x39'))){_0xf5f5f4[_0x2661('0x1f')]=qs['limit'](_0x3ee68e['query']['limit']);_0xf5f5f4[_0x2661('0x1d')]=qs['offset'](_0x3ee68e['query'][_0x2661('0x1d')]);}_0xf5f5f4['order']=qs[_0x2661('0x3a')](_0x3ee68e[_0x2661('0x31')][_0x2661('0x3a')]);_0xf5f5f4['where']=qs[_0x2661('0x33')](_['pick'](_0x3ee68e[_0x2661('0x31')],_0x19aab5[_0x2661('0x33')]),_0x532c1b);if(_0x3ee68e[_0x2661('0x31')][_0x2661('0x3b')]){_0xf5f5f4[_0x2661('0x3c')]=_[_0x2661('0x3d')](_0xf5f5f4[_0x2661('0x3c')],{'$or':_[_0x2661('0x2c')](_0x532c1b,function(_0x12e0a6){if(_0x12e0a6[_0x2661('0x2f')]!==_0x2661('0x3e')){var _0x3bd6fd={};_0x3bd6fd[_0x12e0a6[_0x2661('0x2a')]]={'$like':'%'+_0x3ee68e[_0x2661('0x31')]['filter']+'%'};return _0x3bd6fd;}})});}_0xf5f5f4=_[_0x2661('0x3d')]({},_0xf5f5f4,_0x3ee68e[_0x2661('0x3f')]);var _0xbd73af={'where':_0xf5f5f4[_0x2661('0x3c')]};return db[_0x2661('0x40')][_0x2661('0x20')](_0xbd73af)['then'](function(_0xacca5d){_0x3b5381['count']=_0xacca5d;if(_0x3ee68e[_0x2661('0x31')][_0x2661('0x41')]){_0xf5f5f4[_0x2661('0x42')]=[{'all':!![]}];}return db[_0x2661('0x40')][_0x2661('0x43')](_0xf5f5f4);})['then'](function(_0x29973f){_0x3b5381['rows']=_0x29973f;return _0x3b5381;})[_0x2661('0x25')](respondWithFilteredResult(_0xb8db35,_0xf5f5f4))['catch'](handleError(_0xb8db35,null));};exports[_0x2661('0x44')]=function(_0x380a77,_0x257365){var _0x46ca98={'raw':!![],'where':{'id':_0x380a77[_0x2661('0x45')]['id']}},_0x3648f7={};_0x3648f7[_0x2661('0x30')]=_[_0x2661('0x32')](db[_0x2661('0x40')]['rawAttributes']);_0x3648f7[_0x2661('0x31')]=_[_0x2661('0x32')](_0x380a77[_0x2661('0x31')]);_0x3648f7['filters']=_['intersection'](_0x3648f7[_0x2661('0x30')],_0x3648f7[_0x2661('0x31')]);_0x46ca98[_0x2661('0x35')]=_['intersection'](_0x3648f7['model'],qs['fields'](_0x380a77[_0x2661('0x31')][_0x2661('0x36')]));_0x46ca98[_0x2661('0x35')]=_0x46ca98[_0x2661('0x35')][_0x2661('0x37')]?_0x46ca98[_0x2661('0x35')]:_0x3648f7[_0x2661('0x30')];if(_0x380a77[_0x2661('0x31')][_0x2661('0x41')]){_0x46ca98[_0x2661('0x42')]=[{'all':!![]}];}_0x46ca98=_[_0x2661('0x3d')]({},_0x46ca98,_0x380a77['options']);return db[_0x2661('0x40')][_0x2661('0x46')](_0x46ca98)['then'](handleEntityNotFound(_0x257365,null))['then'](respondWithResult(_0x257365,null))[_0x2661('0x47')](handleError(_0x257365,null));};exports[_0x2661('0x48')]=function(_0x1735c0,_0x2ef014){return db['MailTransferReport'][_0x2661('0x48')](_0x1735c0[_0x2661('0x49')],{})['then'](respondWithResult(_0x2ef014,0xc9))[_0x2661('0x47')](handleError(_0x2ef014,null));};exports[_0x2661('0x4a')]=function(_0x3a5917,_0x2fc6a3){if(_0x3a5917[_0x2661('0x49')]['id']){delete _0x3a5917[_0x2661('0x49')]['id'];}return db[_0x2661('0x40')][_0x2661('0x46')]({'where':{'id':_0x3a5917[_0x2661('0x45')]['id']}})[_0x2661('0x25')](handleEntityNotFound(_0x2fc6a3,null))[_0x2661('0x25')](saveUpdates(_0x3a5917['body'],null))[_0x2661('0x25')](respondWithResult(_0x2fc6a3,null))[_0x2661('0x47')](handleError(_0x2fc6a3,null));};exports[_0x2661('0x26')]=function(_0x530e59,_0x3e5245){return db['MailTransferReport']['find']({'where':{'id':_0x530e59[_0x2661('0x45')]['id']}})[_0x2661('0x25')](handleEntityNotFound(_0x3e5245,null))[_0x2661('0x25')](removeEntity(_0x3e5245,null))[_0x2661('0x47')](handleError(_0x3e5245,null));};exports[_0x2661('0x4b')]=function(_0x1c1975,_0x220209){return db[_0x2661('0x40')][_0x2661('0x4b')]()[_0x2661('0x25')](respondWithResult(_0x220209,null))['catch'](handleError(_0x220209,null));};