00fc5ec5b8c6d3a2eb6776dd17e5ca7f0aab37bf
[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 _0xdf9f=['intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','show','rawAttributes','find','catch','create','body','describe','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','limit','count','offset','set','apply','reject','update','then','end','error','stack','name','send','index','map','MailTransferReport','fieldName','type','key','model','keys','query','filters'];(function(_0x10e241,_0x4da469){var _0x4c9ce4=function(_0x8034c0){while(--_0x8034c0){_0x10e241['push'](_0x10e241['shift']());}};_0x4c9ce4(++_0x4da469);}(_0xdf9f,0x1d3));var _0xfdf9=function(_0x453969,_0x1b051c){_0x453969=_0x453969-0x0;var _0x405751=_0xdf9f[_0x453969];return _0x405751;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xfdf9('0x0'));var jsonpatch=require(_0xfdf9('0x1'));var rp=require('request-promise');var moment=require(_0xfdf9('0x2'));var BPromise=require(_0xfdf9('0x3'));var Mustache=require(_0xfdf9('0x4'));var util=require(_0xfdf9('0x5'));var path=require(_0xfdf9('0x6'));var sox=require(_0xfdf9('0x7'));var csv=require(_0xfdf9('0x8'));var ejs=require(_0xfdf9('0x9'));var fs=require('fs');var fs_extra=require(_0xfdf9('0xa'));var _=require('lodash');var squel=require(_0xfdf9('0xb'));var crypto=require(_0xfdf9('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xfdf9('0xd'));var toCsv=require(_0xfdf9('0x8'));var querystring=require(_0xfdf9('0xe'));var Papa=require(_0xfdf9('0xf'));var Redis=require(_0xfdf9('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xfdf9('0x11'));var as=require(_0xfdf9('0x12'));var hardwareService=require(_0xfdf9('0x13'));var logger=require(_0xfdf9('0x14'))(_0xfdf9('0x15'));var utils=require('../../config/utils');var config=require(_0xfdf9('0x16'));var licenseUtil=require(_0xfdf9('0x17'));var db=require(_0xfdf9('0x18'))['db'];function respondWithStatusCode(_0x10c62b,_0x48418f){_0x48418f=_0x48418f||0xcc;return function(_0x5a0165){if(_0x5a0165){return _0x10c62b[_0xfdf9('0x19')](_0x48418f);}return _0x10c62b[_0xfdf9('0x1a')](_0x48418f)['end']();};}function respondWithResult(_0x3de0c0,_0x4481c6){_0x4481c6=_0x4481c6||0xc8;return function(_0xe97ba2){if(_0xe97ba2){return _0x3de0c0['status'](_0x4481c6)[_0xfdf9('0x1b')](_0xe97ba2);}};}function respondWithFilteredResult(_0x5d5702,_0x5a20c5){return function(_0x1a023f){if(_0x1a023f){var _0xdc18e8=typeof _0x5a20c5['offset']==='undefined'&&typeof _0x5a20c5[_0xfdf9('0x1c')]==='undefined';var _0x27d81f=_0x1a023f[_0xfdf9('0x1d')];var _0x2362d1=_0xdc18e8?0x0:_0x5a20c5[_0xfdf9('0x1e')];var _0x2a3232=_0xdc18e8?_0x1a023f[_0xfdf9('0x1d')]:_0x5a20c5[_0xfdf9('0x1e')]+_0x5a20c5[_0xfdf9('0x1c')];var _0x17a720;if(_0x2a3232>=_0x27d81f){_0x2a3232=_0x27d81f;_0x17a720=0xc8;}else{_0x17a720=0xce;}_0x5d5702[_0xfdf9('0x1a')](_0x17a720);return _0x5d5702[_0xfdf9('0x1f')]('Content-Range',_0x2362d1+'-'+_0x2a3232+'/'+_0x27d81f)['json'](_0x1a023f);}return null;};}function patchUpdates(_0x19b444){return function(_0x29b8a3){try{jsonpatch[_0xfdf9('0x20')](_0x29b8a3,_0x19b444,!![]);}catch(_0x23292b){return BPromise[_0xfdf9('0x21')](_0x23292b);}return _0x29b8a3['save']();};}function saveUpdates(_0x51a5b0,_0x3f090d){return function(_0x22720d){if(_0x22720d){return _0x22720d[_0xfdf9('0x22')](_0x51a5b0)[_0xfdf9('0x23')](function(_0x139b44){return _0x139b44;});}return null;};}function removeEntity(_0x3d840b,_0x116696){return function(_0x12ac1c){if(_0x12ac1c){return _0x12ac1c['destroy']()['then'](function(){_0x3d840b['status'](0xcc)[_0xfdf9('0x24')]();});}};}function handleEntityNotFound(_0x600bd6,_0x18a7f3){return function(_0x14947a){if(!_0x14947a){_0x600bd6[_0xfdf9('0x19')](0x194);}return _0x14947a;};}function handleError(_0x1390d1,_0x2b32c9){_0x2b32c9=_0x2b32c9||0x1f4;return function(_0x374a37){logger[_0xfdf9('0x25')](_0x374a37[_0xfdf9('0x26')]);if(_0x374a37[_0xfdf9('0x27')]){delete _0x374a37[_0xfdf9('0x27')];}_0x1390d1[_0xfdf9('0x1a')](_0x2b32c9)[_0xfdf9('0x28')](_0x374a37);};}exports[_0xfdf9('0x29')]=function(_0x7632fa,_0x2a7cfd){var _0x1c4b2e={},_0x1bc4e7={},_0x16ea12={'count':0x0,'rows':[]};var _0xe8a91b=_[_0xfdf9('0x2a')](db[_0xfdf9('0x2b')]['rawAttributes'],function(_0x314fee){return{'name':_0x314fee[_0xfdf9('0x2c')],'type':_0x314fee[_0xfdf9('0x2d')][_0xfdf9('0x2e')]};});_0x1bc4e7[_0xfdf9('0x2f')]=_[_0xfdf9('0x2a')](_0xe8a91b,'name');_0x1bc4e7['query']=_[_0xfdf9('0x30')](_0x7632fa[_0xfdf9('0x31')]);_0x1bc4e7[_0xfdf9('0x32')]=_[_0xfdf9('0x33')](_0x1bc4e7[_0xfdf9('0x2f')],_0x1bc4e7[_0xfdf9('0x31')]);_0x1c4b2e[_0xfdf9('0x34')]=_[_0xfdf9('0x33')](_0x1bc4e7['model'],qs[_0xfdf9('0x35')](_0x7632fa[_0xfdf9('0x31')]['fields']));_0x1c4b2e[_0xfdf9('0x34')]=_0x1c4b2e['attributes'][_0xfdf9('0x36')]?_0x1c4b2e[_0xfdf9('0x34')]:_0x1bc4e7['model'];if(!_0x7632fa['query'][_0xfdf9('0x37')]('nolimit')){_0x1c4b2e[_0xfdf9('0x1c')]=qs['limit'](_0x7632fa['query']['limit']);_0x1c4b2e[_0xfdf9('0x1e')]=qs[_0xfdf9('0x1e')](_0x7632fa['query'][_0xfdf9('0x1e')]);}_0x1c4b2e[_0xfdf9('0x38')]=qs[_0xfdf9('0x39')](_0x7632fa[_0xfdf9('0x31')][_0xfdf9('0x39')]);_0x1c4b2e[_0xfdf9('0x3a')]=qs[_0xfdf9('0x32')](_[_0xfdf9('0x3b')](_0x7632fa[_0xfdf9('0x31')],_0x1bc4e7[_0xfdf9('0x32')]),_0xe8a91b);if(_0x7632fa['query'][_0xfdf9('0x3c')]){_0x1c4b2e[_0xfdf9('0x3a')]=_[_0xfdf9('0x3d')](_0x1c4b2e[_0xfdf9('0x3a')],{'$or':_['map'](_0xe8a91b,function(_0x475a77){if(_0x475a77[_0xfdf9('0x2d')]!==_0xfdf9('0x3e')){var _0x930dad={};_0x930dad[_0x475a77[_0xfdf9('0x27')]]={'$like':'%'+_0x7632fa['query']['filter']+'%'};return _0x930dad;}})});}_0x1c4b2e=_['merge']({},_0x1c4b2e,_0x7632fa[_0xfdf9('0x3f')]);var _0x51cdf7={'where':_0x1c4b2e['where']};return db[_0xfdf9('0x2b')][_0xfdf9('0x1d')](_0x51cdf7)[_0xfdf9('0x23')](function(_0x16fb2f){_0x16ea12[_0xfdf9('0x1d')]=_0x16fb2f;if(_0x7632fa[_0xfdf9('0x31')]['includeAll']){_0x1c4b2e[_0xfdf9('0x40')]=[{'all':!![]}];}return db['MailTransferReport'][_0xfdf9('0x41')](_0x1c4b2e);})[_0xfdf9('0x23')](function(_0x1c2fb7){_0x16ea12[_0xfdf9('0x42')]=_0x1c2fb7;return _0x16ea12;})[_0xfdf9('0x23')](respondWithFilteredResult(_0x2a7cfd,_0x1c4b2e))['catch'](handleError(_0x2a7cfd,null));};exports[_0xfdf9('0x43')]=function(_0x22c3fc,_0x25fdf){var _0x543999={'raw':!![],'where':{'id':_0x22c3fc['params']['id']}},_0x1d9d96={};_0x1d9d96[_0xfdf9('0x2f')]=_[_0xfdf9('0x30')](db[_0xfdf9('0x2b')][_0xfdf9('0x44')]);_0x1d9d96['query']=_[_0xfdf9('0x30')](_0x22c3fc[_0xfdf9('0x31')]);_0x1d9d96[_0xfdf9('0x32')]=_['intersection'](_0x1d9d96[_0xfdf9('0x2f')],_0x1d9d96[_0xfdf9('0x31')]);_0x543999['attributes']=_[_0xfdf9('0x33')](_0x1d9d96['model'],qs[_0xfdf9('0x35')](_0x22c3fc[_0xfdf9('0x31')][_0xfdf9('0x35')]));_0x543999['attributes']=_0x543999[_0xfdf9('0x34')][_0xfdf9('0x36')]?_0x543999[_0xfdf9('0x34')]:_0x1d9d96['model'];if(_0x22c3fc[_0xfdf9('0x31')]['includeAll']){_0x543999[_0xfdf9('0x40')]=[{'all':!![]}];}_0x543999=_[_0xfdf9('0x3d')]({},_0x543999,_0x22c3fc[_0xfdf9('0x3f')]);return db['MailTransferReport'][_0xfdf9('0x45')](_0x543999)[_0xfdf9('0x23')](handleEntityNotFound(_0x25fdf,null))[_0xfdf9('0x23')](respondWithResult(_0x25fdf,null))[_0xfdf9('0x46')](handleError(_0x25fdf,null));};exports[_0xfdf9('0x47')]=function(_0x37bd7b,_0x33e206){return db[_0xfdf9('0x2b')][_0xfdf9('0x47')](_0x37bd7b[_0xfdf9('0x48')],{})['then'](respondWithResult(_0x33e206,0xc9))[_0xfdf9('0x46')](handleError(_0x33e206,null));};exports[_0xfdf9('0x22')]=function(_0x42d2b7,_0x2c6aad){if(_0x42d2b7['body']['id']){delete _0x42d2b7['body']['id'];}return db[_0xfdf9('0x2b')]['find']({'where':{'id':_0x42d2b7['params']['id']}})['then'](handleEntityNotFound(_0x2c6aad,null))[_0xfdf9('0x23')](saveUpdates(_0x42d2b7['body'],null))[_0xfdf9('0x23')](respondWithResult(_0x2c6aad,null))['catch'](handleError(_0x2c6aad,null));};exports['destroy']=function(_0x449087,_0x34d27f){return db[_0xfdf9('0x2b')][_0xfdf9('0x45')]({'where':{'id':_0x449087['params']['id']}})[_0xfdf9('0x23')](handleEntityNotFound(_0x34d27f,null))[_0xfdf9('0x23')](removeEntity(_0x34d27f,null))[_0xfdf9('0x46')](handleError(_0x34d27f,null));};exports[_0xfdf9('0x49')]=function(_0x1a029c,_0x5c945c){return db[_0xfdf9('0x2b')][_0xfdf9('0x49')]()[_0xfdf9('0x23')](respondWithResult(_0x5c945c,null))[_0xfdf9('0x46')](handleError(_0x5c945c,null));};