5ea51ad470240171ae855be313e2ab30583844d4
[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 _0xa75d=['includeAll','include','findAll','rows','catch','show','params','keys','options','find','body','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','then','error','stack','name','send','index','MailTransferReport','rawAttributes','fieldName','type','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','map','VIRTUAL'];(function(_0x37653e,_0x372780){var _0x7257d4=function(_0x280822){while(--_0x280822){_0x37653e['push'](_0x37653e['shift']());}};_0x7257d4(++_0x372780);}(_0xa75d,0x138));var _0xda75=function(_0x3d3c4e,_0x22dd39){_0x3d3c4e=_0x3d3c4e-0x0;var _0x58acc8=_0xa75d[_0x3d3c4e];return _0x58acc8;};'use strict';var emlformat=require(_0xda75('0x0'));var rimraf=require(_0xda75('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xda75('0x2'));var rp=require(_0xda75('0x3'));var moment=require(_0xda75('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xda75('0x5'));var path=require(_0xda75('0x6'));var sox=require(_0xda75('0x7'));var csv=require(_0xda75('0x8'));var ejs=require(_0xda75('0x9'));var fs=require('fs');var fs_extra=require(_0xda75('0xa'));var _=require('lodash');var squel=require(_0xda75('0xb'));var crypto=require(_0xda75('0xc'));var jsforce=require(_0xda75('0xd'));var deskjs=require(_0xda75('0xe'));var toCsv=require(_0xda75('0x8'));var querystring=require(_0xda75('0xf'));var Papa=require(_0xda75('0x10'));var Redis=require(_0xda75('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xda75('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xda75('0x13'))('api');var utils=require(_0xda75('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xda75('0x15'));var db=require(_0xda75('0x16'))['db'];function respondWithStatusCode(_0x3fb5b3,_0x20b1fb){_0x20b1fb=_0x20b1fb||0xcc;return function(_0x17b93b){if(_0x17b93b){return _0x3fb5b3[_0xda75('0x17')](_0x20b1fb);}return _0x3fb5b3['status'](_0x20b1fb)[_0xda75('0x18')]();};}function respondWithResult(_0x5702b6,_0x5c844f){_0x5c844f=_0x5c844f||0xc8;return function(_0x3a780c){if(_0x3a780c){return _0x5702b6[_0xda75('0x19')](_0x5c844f)[_0xda75('0x1a')](_0x3a780c);}};}function respondWithFilteredResult(_0x20c521,_0xfc4657){return function(_0x39550e){if(_0x39550e){var _0x983765=typeof _0xfc4657[_0xda75('0x1b')]===_0xda75('0x1c')&&typeof _0xfc4657[_0xda75('0x1d')]===_0xda75('0x1c');var _0x237172=_0x39550e[_0xda75('0x1e')];var _0x27d755=_0x983765?0x0:_0xfc4657['offset'];var _0x2a870d=_0x983765?_0x39550e[_0xda75('0x1e')]:_0xfc4657[_0xda75('0x1b')]+_0xfc4657[_0xda75('0x1d')];var _0xea9650;if(_0x2a870d>=_0x237172){_0x2a870d=_0x237172;_0xea9650=0xc8;}else{_0xea9650=0xce;}_0x20c521[_0xda75('0x19')](_0xea9650);return _0x20c521[_0xda75('0x1f')]('Content-Range',_0x27d755+'-'+_0x2a870d+'/'+_0x237172)[_0xda75('0x1a')](_0x39550e);}return null;};}function patchUpdates(_0x1aec03){return function(_0x5a3b55){try{jsonpatch[_0xda75('0x20')](_0x5a3b55,_0x1aec03,!![]);}catch(_0x350c6b){return BPromise[_0xda75('0x21')](_0x350c6b);}return _0x5a3b55[_0xda75('0x22')]();};}function saveUpdates(_0xf8e836,_0x34582f){return function(_0x4e1e07){if(_0x4e1e07){return _0x4e1e07[_0xda75('0x23')](_0xf8e836)['then'](function(_0x8dd1b4){return _0x8dd1b4;});}return null;};}function removeEntity(_0x1f05cd,_0x5a92d1){return function(_0x3196a6){if(_0x3196a6){return _0x3196a6[_0xda75('0x24')]()[_0xda75('0x25')](function(){_0x1f05cd['status'](0xcc)[_0xda75('0x18')]();});}};}function handleEntityNotFound(_0x21741e,_0x45eb5a){return function(_0xd519dc){if(!_0xd519dc){_0x21741e[_0xda75('0x17')](0x194);}return _0xd519dc;};}function handleError(_0xf8c656,_0x3c3843){_0x3c3843=_0x3c3843||0x1f4;return function(_0x250aa9){logger[_0xda75('0x26')](_0x250aa9[_0xda75('0x27')]);if(_0x250aa9[_0xda75('0x28')]){delete _0x250aa9[_0xda75('0x28')];}_0xf8c656[_0xda75('0x19')](_0x3c3843)[_0xda75('0x29')](_0x250aa9);};}exports[_0xda75('0x2a')]=function(_0x5653ae,_0x598603){var _0x177b32={},_0x308c9a={},_0x3e4133={'count':0x0,'rows':[]};var _0x186d0a=_['map'](db[_0xda75('0x2b')][_0xda75('0x2c')],function(_0x21b099){return{'name':_0x21b099[_0xda75('0x2d')],'type':_0x21b099[_0xda75('0x2e')]['key']};});_0x308c9a[_0xda75('0x2f')]=_['map'](_0x186d0a,_0xda75('0x28'));_0x308c9a[_0xda75('0x30')]=_['keys'](_0x5653ae[_0xda75('0x30')]);_0x308c9a[_0xda75('0x31')]=_[_0xda75('0x32')](_0x308c9a[_0xda75('0x2f')],_0x308c9a['query']);_0x177b32['attributes']=_[_0xda75('0x32')](_0x308c9a['model'],qs[_0xda75('0x33')](_0x5653ae[_0xda75('0x30')][_0xda75('0x33')]));_0x177b32[_0xda75('0x34')]=_0x177b32[_0xda75('0x34')][_0xda75('0x35')]?_0x177b32[_0xda75('0x34')]:_0x308c9a[_0xda75('0x2f')];if(!_0x5653ae['query'][_0xda75('0x36')](_0xda75('0x37'))){_0x177b32[_0xda75('0x1d')]=qs[_0xda75('0x1d')](_0x5653ae[_0xda75('0x30')]['limit']);_0x177b32[_0xda75('0x1b')]=qs['offset'](_0x5653ae[_0xda75('0x30')][_0xda75('0x1b')]);}_0x177b32[_0xda75('0x38')]=qs['sort'](_0x5653ae[_0xda75('0x30')][_0xda75('0x39')]);_0x177b32[_0xda75('0x3a')]=qs[_0xda75('0x31')](_['pick'](_0x5653ae[_0xda75('0x30')],_0x308c9a[_0xda75('0x31')]),_0x186d0a);if(_0x5653ae[_0xda75('0x30')][_0xda75('0x3b')]){_0x177b32[_0xda75('0x3a')]=_[_0xda75('0x3c')](_0x177b32[_0xda75('0x3a')],{'$or':_[_0xda75('0x3d')](_0x186d0a,function(_0x5e3541){if(_0x5e3541[_0xda75('0x2e')]!==_0xda75('0x3e')){var _0x4e6901={};_0x4e6901[_0x5e3541['name']]={'$like':'%'+_0x5653ae[_0xda75('0x30')][_0xda75('0x3b')]+'%'};return _0x4e6901;}})});}_0x177b32=_[_0xda75('0x3c')]({},_0x177b32,_0x5653ae['options']);var _0x36b52b={'where':_0x177b32[_0xda75('0x3a')]};return db['MailTransferReport']['count'](_0x36b52b)[_0xda75('0x25')](function(_0x1eb078){_0x3e4133[_0xda75('0x1e')]=_0x1eb078;if(_0x5653ae[_0xda75('0x30')][_0xda75('0x3f')]){_0x177b32[_0xda75('0x40')]=[{'all':!![]}];}return db[_0xda75('0x2b')][_0xda75('0x41')](_0x177b32);})[_0xda75('0x25')](function(_0x22d154){_0x3e4133[_0xda75('0x42')]=_0x22d154;return _0x3e4133;})['then'](respondWithFilteredResult(_0x598603,_0x177b32))[_0xda75('0x43')](handleError(_0x598603,null));};exports[_0xda75('0x44')]=function(_0x3dea2d,_0x26d5b0){var _0x38db7a={'raw':!![],'where':{'id':_0x3dea2d[_0xda75('0x45')]['id']}},_0xcff108={};_0xcff108[_0xda75('0x2f')]=_[_0xda75('0x46')](db[_0xda75('0x2b')]['rawAttributes']);_0xcff108[_0xda75('0x30')]=_[_0xda75('0x46')](_0x3dea2d[_0xda75('0x30')]);_0xcff108['filters']=_['intersection'](_0xcff108[_0xda75('0x2f')],_0xcff108['query']);_0x38db7a['attributes']=_[_0xda75('0x32')](_0xcff108[_0xda75('0x2f')],qs[_0xda75('0x33')](_0x3dea2d['query'][_0xda75('0x33')]));_0x38db7a[_0xda75('0x34')]=_0x38db7a[_0xda75('0x34')][_0xda75('0x35')]?_0x38db7a[_0xda75('0x34')]:_0xcff108[_0xda75('0x2f')];if(_0x3dea2d['query'][_0xda75('0x3f')]){_0x38db7a[_0xda75('0x40')]=[{'all':!![]}];}_0x38db7a=_[_0xda75('0x3c')]({},_0x38db7a,_0x3dea2d[_0xda75('0x47')]);return db['MailTransferReport'][_0xda75('0x48')](_0x38db7a)[_0xda75('0x25')](handleEntityNotFound(_0x26d5b0,null))[_0xda75('0x25')](respondWithResult(_0x26d5b0,null))['catch'](handleError(_0x26d5b0,null));};exports['create']=function(_0x291f5e,_0x5ad98c){return db[_0xda75('0x2b')]['create'](_0x291f5e[_0xda75('0x49')],{})[_0xda75('0x25')](respondWithResult(_0x5ad98c,0xc9))[_0xda75('0x43')](handleError(_0x5ad98c,null));};exports[_0xda75('0x23')]=function(_0x3b212f,_0x51796d){if(_0x3b212f[_0xda75('0x49')]['id']){delete _0x3b212f['body']['id'];}return db[_0xda75('0x2b')][_0xda75('0x48')]({'where':{'id':_0x3b212f[_0xda75('0x45')]['id']}})[_0xda75('0x25')](handleEntityNotFound(_0x51796d,null))['then'](saveUpdates(_0x3b212f['body'],null))[_0xda75('0x25')](respondWithResult(_0x51796d,null))[_0xda75('0x43')](handleError(_0x51796d,null));};exports[_0xda75('0x24')]=function(_0x15cfc3,_0x58227a){return db['MailTransferReport'][_0xda75('0x48')]({'where':{'id':_0x15cfc3[_0xda75('0x45')]['id']}})[_0xda75('0x25')](handleEntityNotFound(_0x58227a,null))[_0xda75('0x25')](removeEntity(_0x58227a,null))['catch'](handleError(_0x58227a,null));};exports[_0xda75('0x4a')]=function(_0xab2574,_0x5e36e9){return db[_0xda75('0x2b')]['describe']()['then'](respondWithResult(_0x5e36e9,null))['catch'](handleError(_0x5e36e9,null));};