71a1e2afd2b8a19946f9112c836b3e79b98790b1
[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 _0xe563=['end','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','then','destroy','stack','name','send','map','MailTransferReport','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','sort','filters','filter','where','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','show','params','rawAttributes','length','catch','create','body','describe','eml-format','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status'];(function(_0x3dd910,_0x4ef4b3){var _0x2a9d7b=function(_0x112117){while(--_0x112117){_0x3dd910['push'](_0x3dd910['shift']());}};_0x2a9d7b(++_0x4ef4b3);}(_0xe563,0x197));var _0x3e56=function(_0x3341f5,_0x5c7b5f){_0x3341f5=_0x3341f5-0x0;var _0x22263e=_0xe563[_0x3341f5];return _0x22263e;};'use strict';var emlformat=require(_0x3e56('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3e56('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3e56('0x2'));var moment=require(_0x3e56('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x3e56('0x4'));var util=require(_0x3e56('0x5'));var path=require(_0x3e56('0x6'));var sox=require(_0x3e56('0x7'));var csv=require(_0x3e56('0x8'));var ejs=require(_0x3e56('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x3e56('0xa'));var crypto=require('crypto');var jsforce=require(_0x3e56('0xb'));var deskjs=require(_0x3e56('0xc'));var toCsv=require(_0x3e56('0x8'));var querystring=require(_0x3e56('0xd'));var Papa=require(_0x3e56('0xe'));var Redis=require(_0x3e56('0xf'));var authService=require(_0x3e56('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x3e56('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3e56('0x12'))(_0x3e56('0x13'));var utils=require(_0x3e56('0x14'));var config=require(_0x3e56('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x3e56('0x16'))['db'];function respondWithStatusCode(_0x5afb24,_0x37904d){_0x37904d=_0x37904d||0xcc;return function(_0x15ef6a){if(_0x15ef6a){return _0x5afb24[_0x3e56('0x17')](_0x37904d);}return _0x5afb24[_0x3e56('0x18')](_0x37904d)[_0x3e56('0x19')]();};}function respondWithResult(_0x661b04,_0x193669){_0x193669=_0x193669||0xc8;return function(_0x3bb1c9){if(_0x3bb1c9){return _0x661b04['status'](_0x193669)['json'](_0x3bb1c9);}};}function respondWithFilteredResult(_0x30f255,_0x374ffe){return function(_0x54f143){if(_0x54f143){var _0x313220=typeof _0x374ffe[_0x3e56('0x1a')]===_0x3e56('0x1b')&&typeof _0x374ffe[_0x3e56('0x1c')]===_0x3e56('0x1b');var _0x521d2d=_0x54f143[_0x3e56('0x1d')];var _0x2b2ac9=_0x313220?0x0:_0x374ffe['offset'];var _0x16c415=_0x313220?_0x54f143[_0x3e56('0x1d')]:_0x374ffe[_0x3e56('0x1a')]+_0x374ffe[_0x3e56('0x1c')];var _0x2ca121;if(_0x16c415>=_0x521d2d){_0x16c415=_0x521d2d;_0x2ca121=0xc8;}else{_0x2ca121=0xce;}_0x30f255[_0x3e56('0x18')](_0x2ca121);return _0x30f255[_0x3e56('0x1e')](_0x3e56('0x1f'),_0x2b2ac9+'-'+_0x16c415+'/'+_0x521d2d)[_0x3e56('0x20')](_0x54f143);}return null;};}function patchUpdates(_0x44081a){return function(_0x4e5b15){try{jsonpatch['apply'](_0x4e5b15,_0x44081a,!![]);}catch(_0x112c6d){return BPromise[_0x3e56('0x21')](_0x112c6d);}return _0x4e5b15[_0x3e56('0x22')]();};}function saveUpdates(_0x2ce408,_0x53e098){return function(_0x48f563){if(_0x48f563){return _0x48f563[_0x3e56('0x23')](_0x2ce408)[_0x3e56('0x24')](function(_0x5541c4){return _0x5541c4;});}return null;};}function removeEntity(_0x33de8a,_0x4b53d1){return function(_0xd0831a){if(_0xd0831a){return _0xd0831a[_0x3e56('0x25')]()[_0x3e56('0x24')](function(){_0x33de8a[_0x3e56('0x18')](0xcc)[_0x3e56('0x19')]();});}};}function handleEntityNotFound(_0x374037,_0x2546d1){return function(_0x3458a4){if(!_0x3458a4){_0x374037[_0x3e56('0x17')](0x194);}return _0x3458a4;};}function handleError(_0x585279,_0x1f0d28){_0x1f0d28=_0x1f0d28||0x1f4;return function(_0x28993b){logger['error'](_0x28993b[_0x3e56('0x26')]);if(_0x28993b[_0x3e56('0x27')]){delete _0x28993b['name'];}_0x585279[_0x3e56('0x18')](_0x1f0d28)[_0x3e56('0x28')](_0x28993b);};}exports['index']=function(_0x1b8985,_0x2f14b1){var _0x377c8c={},_0x11324c={},_0x3f5765={'count':0x0,'rows':[]};var _0x1e360a=_[_0x3e56('0x29')](db[_0x3e56('0x2a')]['rawAttributes'],function(_0x545fb7){return{'name':_0x545fb7['fieldName'],'type':_0x545fb7['type'][_0x3e56('0x2b')]};});_0x11324c[_0x3e56('0x2c')]=_[_0x3e56('0x29')](_0x1e360a,_0x3e56('0x27'));_0x11324c[_0x3e56('0x2d')]=_[_0x3e56('0x2e')](_0x1b8985[_0x3e56('0x2d')]);_0x11324c['filters']=_[_0x3e56('0x2f')](_0x11324c[_0x3e56('0x2c')],_0x11324c['query']);_0x377c8c[_0x3e56('0x30')]=_[_0x3e56('0x2f')](_0x11324c[_0x3e56('0x2c')],qs[_0x3e56('0x31')](_0x1b8985['query']['fields']));_0x377c8c[_0x3e56('0x30')]=_0x377c8c[_0x3e56('0x30')]['length']?_0x377c8c[_0x3e56('0x30')]:_0x11324c['model'];if(!_0x1b8985['query'][_0x3e56('0x32')](_0x3e56('0x33'))){_0x377c8c['limit']=qs['limit'](_0x1b8985[_0x3e56('0x2d')]['limit']);_0x377c8c['offset']=qs[_0x3e56('0x1a')](_0x1b8985[_0x3e56('0x2d')][_0x3e56('0x1a')]);}_0x377c8c['order']=qs['sort'](_0x1b8985['query'][_0x3e56('0x34')]);_0x377c8c['where']=qs[_0x3e56('0x35')](_['pick'](_0x1b8985[_0x3e56('0x2d')],_0x11324c['filters']),_0x1e360a);if(_0x1b8985[_0x3e56('0x2d')][_0x3e56('0x36')]){_0x377c8c[_0x3e56('0x37')]=_[_0x3e56('0x38')](_0x377c8c['where'],{'$or':_['map'](_0x1e360a,function(_0x1c9bf7){if(_0x1c9bf7[_0x3e56('0x39')]!==_0x3e56('0x3a')){var _0x434921={};_0x434921[_0x1c9bf7[_0x3e56('0x27')]]={'$like':'%'+_0x1b8985[_0x3e56('0x2d')]['filter']+'%'};return _0x434921;}})});}_0x377c8c=_[_0x3e56('0x38')]({},_0x377c8c,_0x1b8985[_0x3e56('0x3b')]);var _0xd6cf0f={'where':_0x377c8c[_0x3e56('0x37')]};return db['MailTransferReport'][_0x3e56('0x1d')](_0xd6cf0f)[_0x3e56('0x24')](function(_0x4dec34){_0x3f5765['count']=_0x4dec34;if(_0x1b8985[_0x3e56('0x2d')][_0x3e56('0x3c')]){_0x377c8c[_0x3e56('0x3d')]=[{'all':!![]}];}return db[_0x3e56('0x2a')][_0x3e56('0x3e')](_0x377c8c);})[_0x3e56('0x24')](function(_0x1389b5){_0x3f5765[_0x3e56('0x3f')]=_0x1389b5;return _0x3f5765;})[_0x3e56('0x24')](respondWithFilteredResult(_0x2f14b1,_0x377c8c))['catch'](handleError(_0x2f14b1,null));};exports[_0x3e56('0x40')]=function(_0x175688,_0x7316bb){var _0x433ea8={'raw':!![],'where':{'id':_0x175688[_0x3e56('0x41')]['id']}},_0x29f515={};_0x29f515['model']=_['keys'](db[_0x3e56('0x2a')][_0x3e56('0x42')]);_0x29f515[_0x3e56('0x2d')]=_[_0x3e56('0x2e')](_0x175688[_0x3e56('0x2d')]);_0x29f515['filters']=_[_0x3e56('0x2f')](_0x29f515[_0x3e56('0x2c')],_0x29f515['query']);_0x433ea8[_0x3e56('0x30')]=_[_0x3e56('0x2f')](_0x29f515[_0x3e56('0x2c')],qs[_0x3e56('0x31')](_0x175688[_0x3e56('0x2d')][_0x3e56('0x31')]));_0x433ea8[_0x3e56('0x30')]=_0x433ea8[_0x3e56('0x30')][_0x3e56('0x43')]?_0x433ea8[_0x3e56('0x30')]:_0x29f515['model'];if(_0x175688['query'][_0x3e56('0x3c')]){_0x433ea8[_0x3e56('0x3d')]=[{'all':!![]}];}_0x433ea8=_[_0x3e56('0x38')]({},_0x433ea8,_0x175688[_0x3e56('0x3b')]);return db[_0x3e56('0x2a')]['find'](_0x433ea8)['then'](handleEntityNotFound(_0x7316bb,null))[_0x3e56('0x24')](respondWithResult(_0x7316bb,null))[_0x3e56('0x44')](handleError(_0x7316bb,null));};exports[_0x3e56('0x45')]=function(_0x41ece2,_0x42ca80){return db[_0x3e56('0x2a')]['create'](_0x41ece2[_0x3e56('0x46')],{})[_0x3e56('0x24')](respondWithResult(_0x42ca80,0xc9))['catch'](handleError(_0x42ca80,null));};exports['update']=function(_0x193d70,_0x8007ab){if(_0x193d70['body']['id']){delete _0x193d70[_0x3e56('0x46')]['id'];}return db['MailTransferReport']['find']({'where':{'id':_0x193d70[_0x3e56('0x41')]['id']}})[_0x3e56('0x24')](handleEntityNotFound(_0x8007ab,null))[_0x3e56('0x24')](saveUpdates(_0x193d70[_0x3e56('0x46')],null))['then'](respondWithResult(_0x8007ab,null))[_0x3e56('0x44')](handleError(_0x8007ab,null));};exports[_0x3e56('0x25')]=function(_0x5f1828,_0x210f8f){return db[_0x3e56('0x2a')]['find']({'where':{'id':_0x5f1828[_0x3e56('0x41')]['id']}})['then'](handleEntityNotFound(_0x210f8f,null))[_0x3e56('0x24')](removeEntity(_0x210f8f,null))[_0x3e56('0x44')](handleError(_0x210f8f,null));};exports['describe']=function(_0x36edd6,_0x4b2b18){return db[_0x3e56('0x2a')][_0x3e56('0x47')]()['then'](respondWithResult(_0x4b2b18,null))[_0x3e56('0x44')](handleError(_0x4b2b18,null));};