01647a728459ff1d50d0412f7ff2c953ecda9927
[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 _0xc5e6=['show','params','options','find','create','body','describe','html-pdf','moment','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','status','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','sendStatus','error','stack','name','send','index','map','MailTransferReport','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','merge','VIRTUAL','includeAll','include','rows','catch'];(function(_0x3cbe93,_0x4ae7d2){var _0x3e64b4=function(_0x3f935e){while(--_0x3f935e){_0x3cbe93['push'](_0x3cbe93['shift']());}};_0x3e64b4(++_0x4ae7d2);}(_0xc5e6,0xd3));var _0x6c5e=function(_0x326c47,_0x8dca2){_0x326c47=_0x326c47-0x0;var _0x564786=_0xc5e6[_0x326c47];return _0x564786;};'use strict';var pdf=require(_0x6c5e('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x6c5e('0x1'));var BPromise=require('bluebird');var Mustache=require(_0x6c5e('0x2'));var util=require(_0x6c5e('0x3'));var path=require(_0x6c5e('0x4'));var sox=require(_0x6c5e('0x5'));var csv=require(_0x6c5e('0x6'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6c5e('0x7'));var squel=require('squel');var crypto=require(_0x6c5e('0x8'));var jsforce=require(_0x6c5e('0x9'));var deskjs=require(_0x6c5e('0xa'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x6c5e('0xb'));var Redis=require(_0x6c5e('0xc'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6c5e('0xd'));var logger=require('../../config/logger')('api');var utils=require(_0x6c5e('0xe'));var config=require(_0x6c5e('0xf'));var db=require(_0x6c5e('0x10'))['db'];function respondWithStatusCode(_0x10546f,_0x434fce){_0x434fce=_0x434fce||0xcc;return function(_0x37ffc6){if(_0x37ffc6){return _0x10546f['sendStatus'](_0x434fce);}return _0x10546f[_0x6c5e('0x11')](_0x434fce)['end']();};}function respondWithResult(_0x11bdce,_0x1e3118){_0x1e3118=_0x1e3118||0xc8;return function(_0x219bb8){if(_0x219bb8){return _0x11bdce['status'](_0x1e3118)[_0x6c5e('0x12')](_0x219bb8);}};}function respondWithFilteredResult(_0x3bc977,_0x579385){return function(_0x3c8062){if(_0x3c8062){var _0x1ff0ac=_0x3c8062[_0x6c5e('0x13')],_0x558a7d=_0x579385[_0x6c5e('0x14')],_0x3b67d4=_0x579385['offset']+_0x579385[_0x6c5e('0x15')],_0x5dc7ff;if(_0x3b67d4>=_0x1ff0ac){_0x3b67d4=_0x1ff0ac;_0x5dc7ff=0xc8;}else{_0x5dc7ff=0xce;}_0x3bc977[_0x6c5e('0x11')](_0x5dc7ff);return _0x3bc977[_0x6c5e('0x16')](_0x6c5e('0x17'),_0x558a7d+'-'+_0x3b67d4+'/'+_0x1ff0ac)[_0x6c5e('0x12')](_0x3c8062);}return null;};}function patchUpdates(_0x4b2386){return function(_0x2a100e){try{jsonpatch[_0x6c5e('0x18')](_0x2a100e,_0x4b2386,!![]);}catch(_0x3b4d17){return BPromise[_0x6c5e('0x19')](_0x3b4d17);}return _0x2a100e[_0x6c5e('0x1a')]();};}function saveUpdates(_0x5afb2b,_0x4ed85c){return function(_0x217389){if(_0x217389){return _0x217389['update'](_0x5afb2b)[_0x6c5e('0x1b')](function(_0x1cace0){return _0x1cace0;});}return null;};}function removeEntity(_0x50a7e3,_0x1af398){return function(_0x2092cf){if(_0x2092cf){return _0x2092cf[_0x6c5e('0x1c')]()['then'](function(){_0x50a7e3[_0x6c5e('0x11')](0xcc)['end']();});}};}function handleEntityNotFound(_0x260275,_0x29586c){return function(_0x5adfea){if(!_0x5adfea){_0x260275[_0x6c5e('0x1d')](0x194);}return _0x5adfea;};}function handleError(_0x1bfe6e,_0x1d6df4){_0x1d6df4=_0x1d6df4||0x1f4;return function(_0x21d720){logger[_0x6c5e('0x1e')](_0x21d720[_0x6c5e('0x1f')]);if(_0x21d720[_0x6c5e('0x20')]){delete _0x21d720['name'];}_0x1bfe6e['status'](_0x1d6df4)[_0x6c5e('0x21')](_0x21d720);};}exports[_0x6c5e('0x22')]=function(_0x3e6a59,_0x56d3b3){var _0x44698f={},_0xf0e97={},_0x5b6fe7={'count':0x0,'rows':[]};var _0x413d7b=_[_0x6c5e('0x23')](db[_0x6c5e('0x24')][_0x6c5e('0x25')],function(_0x48df45){return{'name':_0x48df45[_0x6c5e('0x26')],'type':_0x48df45[_0x6c5e('0x27')][_0x6c5e('0x28')]};});_0xf0e97[_0x6c5e('0x29')]=_['map'](_0x413d7b,_0x6c5e('0x20'));_0xf0e97['query']=_[_0x6c5e('0x2a')](_0x3e6a59[_0x6c5e('0x2b')]);_0xf0e97[_0x6c5e('0x2c')]=_[_0x6c5e('0x2d')](_0xf0e97['model'],_0xf0e97[_0x6c5e('0x2b')]);_0x44698f[_0x6c5e('0x2e')]=_[_0x6c5e('0x2d')](_0xf0e97[_0x6c5e('0x29')],qs[_0x6c5e('0x2f')](_0x3e6a59[_0x6c5e('0x2b')][_0x6c5e('0x2f')]));_0x44698f[_0x6c5e('0x2e')]=_0x44698f['attributes'][_0x6c5e('0x30')]?_0x44698f[_0x6c5e('0x2e')]:_0xf0e97[_0x6c5e('0x29')];if(!_0x3e6a59['query'][_0x6c5e('0x31')]('nolimit')){_0x44698f[_0x6c5e('0x15')]=qs['limit'](_0x3e6a59['query'][_0x6c5e('0x15')]);_0x44698f[_0x6c5e('0x14')]=qs['offset'](_0x3e6a59[_0x6c5e('0x2b')][_0x6c5e('0x14')]);}_0x44698f[_0x6c5e('0x32')]=qs['sort'](_0x3e6a59[_0x6c5e('0x2b')][_0x6c5e('0x33')]);_0x44698f['where']=qs[_0x6c5e('0x2c')](_[_0x6c5e('0x34')](_0x3e6a59[_0x6c5e('0x2b')],_0xf0e97[_0x6c5e('0x2c')]),_0x413d7b);if(_0x3e6a59[_0x6c5e('0x2b')][_0x6c5e('0x35')]){_0x44698f[_0x6c5e('0x36')]=_[_0x6c5e('0x37')](_0x44698f[_0x6c5e('0x36')],{'$or':_[_0x6c5e('0x23')](_0x413d7b,function(_0x40bacc){if(_0x40bacc[_0x6c5e('0x27')]!==_0x6c5e('0x38')){var _0x5aa369={};_0x5aa369[_0x40bacc['name']]={'$like':'%'+_0x3e6a59[_0x6c5e('0x2b')][_0x6c5e('0x35')]+'%'};return _0x5aa369;}})});}_0x44698f=_[_0x6c5e('0x37')]({},_0x44698f,_0x3e6a59['options']);var _0x49f71a={'where':_0x44698f[_0x6c5e('0x36')]};return db[_0x6c5e('0x24')][_0x6c5e('0x13')](_0x49f71a)[_0x6c5e('0x1b')](function(_0x3dfa05){_0x5b6fe7['count']=_0x3dfa05;if(_0x3e6a59[_0x6c5e('0x2b')][_0x6c5e('0x39')]){_0x44698f[_0x6c5e('0x3a')]=[{'all':!![]}];}return db[_0x6c5e('0x24')]['findAll'](_0x44698f);})['then'](function(_0x106dca){_0x5b6fe7[_0x6c5e('0x3b')]=_0x106dca;return _0x5b6fe7;})['then'](respondWithFilteredResult(_0x56d3b3,_0x44698f))[_0x6c5e('0x3c')](handleError(_0x56d3b3,null));};exports[_0x6c5e('0x3d')]=function(_0xa99fb6,_0x218a96){var _0xf6c960={'raw':!![],'where':{'id':_0xa99fb6[_0x6c5e('0x3e')]['id']}},_0x272c7b={};_0x272c7b[_0x6c5e('0x29')]=_[_0x6c5e('0x2a')](db[_0x6c5e('0x24')][_0x6c5e('0x25')]);_0x272c7b[_0x6c5e('0x2b')]=_[_0x6c5e('0x2a')](_0xa99fb6[_0x6c5e('0x2b')]);_0x272c7b[_0x6c5e('0x2c')]=_[_0x6c5e('0x2d')](_0x272c7b['model'],_0x272c7b[_0x6c5e('0x2b')]);_0xf6c960[_0x6c5e('0x2e')]=_[_0x6c5e('0x2d')](_0x272c7b[_0x6c5e('0x29')],qs[_0x6c5e('0x2f')](_0xa99fb6[_0x6c5e('0x2b')]['fields']));_0xf6c960[_0x6c5e('0x2e')]=_0xf6c960[_0x6c5e('0x2e')][_0x6c5e('0x30')]?_0xf6c960[_0x6c5e('0x2e')]:_0x272c7b[_0x6c5e('0x29')];if(_0xa99fb6[_0x6c5e('0x2b')][_0x6c5e('0x39')]){_0xf6c960[_0x6c5e('0x3a')]=[{'all':!![]}];}_0xf6c960=_[_0x6c5e('0x37')]({},_0xf6c960,_0xa99fb6[_0x6c5e('0x3f')]);return db[_0x6c5e('0x24')][_0x6c5e('0x40')](_0xf6c960)[_0x6c5e('0x1b')](handleEntityNotFound(_0x218a96,null))['then'](respondWithResult(_0x218a96,null))[_0x6c5e('0x3c')](handleError(_0x218a96,null));};exports[_0x6c5e('0x41')]=function(_0x220cc2,_0x42653f){return db['MailTransferReport']['create'](_0x220cc2[_0x6c5e('0x42')],{})[_0x6c5e('0x1b')](respondWithResult(_0x42653f,0xc9))[_0x6c5e('0x3c')](handleError(_0x42653f,null));};exports['update']=function(_0xe156d4,_0x41d8c5){if(_0xe156d4[_0x6c5e('0x42')]['id']){delete _0xe156d4[_0x6c5e('0x42')]['id'];}return db[_0x6c5e('0x24')][_0x6c5e('0x40')]({'where':{'id':_0xe156d4['params']['id']}})['then'](handleEntityNotFound(_0x41d8c5,null))[_0x6c5e('0x1b')](saveUpdates(_0xe156d4[_0x6c5e('0x42')],null))['then'](respondWithResult(_0x41d8c5,null))[_0x6c5e('0x3c')](handleError(_0x41d8c5,null));};exports['destroy']=function(_0x36dbe5,_0x1b2e11){return db[_0x6c5e('0x24')]['find']({'where':{'id':_0x36dbe5[_0x6c5e('0x3e')]['id']}})[_0x6c5e('0x1b')](handleEntityNotFound(_0x1b2e11,null))[_0x6c5e('0x1b')](removeEntity(_0x1b2e11,null))['catch'](handleError(_0x1b2e11,null));};exports[_0x6c5e('0x43')]=function(_0x5756fc,_0xd45d5){return db[_0x6c5e('0x24')][_0x6c5e('0x43')]()[_0x6c5e('0x1b')](respondWithResult(_0xd45d5,null))[_0x6c5e('0x3c')](handleError(_0xd45d5,null));};