a68ef5d88d34a2d056f313172ca9bbf3b25cb201
[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 _0x7e61=['mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','offset','count','apply','reject','save','update','then','destroy','error','name','send','index','map','MailTransferReport','rawAttributes','fieldName','type','query','keys','model','attributes','intersection','fields','nolimit','order','where','filters','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','find','create','body','params','eml-format','rimraf','zip-dir','request-promise','moment','bluebird'];(function(_0x146b09,_0x345cd3){var _0x4e9e36=function(_0x1d9749){while(--_0x1d9749){_0x146b09['push'](_0x146b09['shift']());}};_0x4e9e36(++_0x345cd3);}(_0x7e61,0x8a));var _0x17e6=function(_0x5d7cd3,_0x125aea){_0x5d7cd3=_0x5d7cd3-0x0;var _0x533927=_0x7e61[_0x5d7cd3];return _0x533927;};'use strict';var emlformat=require(_0x17e6('0x0'));var rimraf=require(_0x17e6('0x1'));var zipdir=require(_0x17e6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x17e6('0x3'));var moment=require(_0x17e6('0x4'));var BPromise=require(_0x17e6('0x5'));var Mustache=require(_0x17e6('0x6'));var util=require('util');var path=require(_0x17e6('0x7'));var sox=require(_0x17e6('0x8'));var csv=require(_0x17e6('0x9'));var ejs=require(_0x17e6('0xa'));var fs=require('fs');var fs_extra=require(_0x17e6('0xb'));var _=require(_0x17e6('0xc'));var squel=require(_0x17e6('0xd'));var crypto=require(_0x17e6('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x17e6('0xf'));var toCsv=require(_0x17e6('0x9'));var querystring=require(_0x17e6('0x10'));var Papa=require(_0x17e6('0x11'));var Redis=require(_0x17e6('0x12'));var authService=require(_0x17e6('0x13'));var qs=require(_0x17e6('0x14'));var as=require(_0x17e6('0x15'));var hardwareService=require(_0x17e6('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x17e6('0x17'));var config=require(_0x17e6('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x17e6('0x19'))['db'];function respondWithStatusCode(_0x352630,_0x5b9ff3){_0x5b9ff3=_0x5b9ff3||0xcc;return function(_0x1c2a31){if(_0x1c2a31){return _0x352630[_0x17e6('0x1a')](_0x5b9ff3);}return _0x352630[_0x17e6('0x1b')](_0x5b9ff3)[_0x17e6('0x1c')]();};}function respondWithResult(_0x407be4,_0x34585f){_0x34585f=_0x34585f||0xc8;return function(_0x1f8eda){if(_0x1f8eda){return _0x407be4[_0x17e6('0x1b')](_0x34585f)[_0x17e6('0x1d')](_0x1f8eda);}};}function respondWithFilteredResult(_0x39cdc9,_0x1d6392){return function(_0x87f72){if(_0x87f72){var _0x352eaa=typeof _0x1d6392['offset']===_0x17e6('0x1e')&&typeof _0x1d6392[_0x17e6('0x1f')]===_0x17e6('0x1e');var _0xb3deac=_0x87f72['count'];var _0x266d9a=_0x352eaa?0x0:_0x1d6392[_0x17e6('0x20')];var _0x226d2c=_0x352eaa?_0x87f72[_0x17e6('0x21')]:_0x1d6392['offset']+_0x1d6392[_0x17e6('0x1f')];var _0x3b1f93;if(_0x226d2c>=_0xb3deac){_0x226d2c=_0xb3deac;_0x3b1f93=0xc8;}else{_0x3b1f93=0xce;}_0x39cdc9[_0x17e6('0x1b')](_0x3b1f93);return _0x39cdc9['set']('Content-Range',_0x266d9a+'-'+_0x226d2c+'/'+_0xb3deac)['json'](_0x87f72);}return null;};}function patchUpdates(_0x1c771d){return function(_0x1c2293){try{jsonpatch[_0x17e6('0x22')](_0x1c2293,_0x1c771d,!![]);}catch(_0x3e24ad){return BPromise[_0x17e6('0x23')](_0x3e24ad);}return _0x1c2293[_0x17e6('0x24')]();};}function saveUpdates(_0x30983f,_0x397a3d){return function(_0x166af5){if(_0x166af5){return _0x166af5[_0x17e6('0x25')](_0x30983f)[_0x17e6('0x26')](function(_0x2e5bac){return _0x2e5bac;});}return null;};}function removeEntity(_0x21d4db,_0x1de2f9){return function(_0x395eca){if(_0x395eca){return _0x395eca[_0x17e6('0x27')]()[_0x17e6('0x26')](function(){_0x21d4db[_0x17e6('0x1b')](0xcc)[_0x17e6('0x1c')]();});}};}function handleEntityNotFound(_0x3f0227,_0x198659){return function(_0x3894f6){if(!_0x3894f6){_0x3f0227['sendStatus'](0x194);}return _0x3894f6;};}function handleError(_0x2bfc3e,_0x29f4ac){_0x29f4ac=_0x29f4ac||0x1f4;return function(_0x23f190){logger[_0x17e6('0x28')](_0x23f190['stack']);if(_0x23f190['name']){delete _0x23f190[_0x17e6('0x29')];}_0x2bfc3e['status'](_0x29f4ac)[_0x17e6('0x2a')](_0x23f190);};}exports[_0x17e6('0x2b')]=function(_0x4af957,_0xc2c093){var _0x4ed2a6={},_0xf119c5={},_0xe77023={'count':0x0,'rows':[]};var _0x759bb4=_[_0x17e6('0x2c')](db[_0x17e6('0x2d')][_0x17e6('0x2e')],function(_0x3f0904){return{'name':_0x3f0904[_0x17e6('0x2f')],'type':_0x3f0904[_0x17e6('0x30')]['key']};});_0xf119c5['model']=_[_0x17e6('0x2c')](_0x759bb4,'name');_0xf119c5[_0x17e6('0x31')]=_[_0x17e6('0x32')](_0x4af957[_0x17e6('0x31')]);_0xf119c5['filters']=_['intersection'](_0xf119c5[_0x17e6('0x33')],_0xf119c5[_0x17e6('0x31')]);_0x4ed2a6[_0x17e6('0x34')]=_[_0x17e6('0x35')](_0xf119c5[_0x17e6('0x33')],qs[_0x17e6('0x36')](_0x4af957['query'][_0x17e6('0x36')]));_0x4ed2a6[_0x17e6('0x34')]=_0x4ed2a6[_0x17e6('0x34')]['length']?_0x4ed2a6[_0x17e6('0x34')]:_0xf119c5['model'];if(!_0x4af957[_0x17e6('0x31')]['hasOwnProperty'](_0x17e6('0x37'))){_0x4ed2a6['limit']=qs[_0x17e6('0x1f')](_0x4af957[_0x17e6('0x31')][_0x17e6('0x1f')]);_0x4ed2a6[_0x17e6('0x20')]=qs[_0x17e6('0x20')](_0x4af957[_0x17e6('0x31')][_0x17e6('0x20')]);}_0x4ed2a6[_0x17e6('0x38')]=qs['sort'](_0x4af957['query']['sort']);_0x4ed2a6[_0x17e6('0x39')]=qs[_0x17e6('0x3a')](_['pick'](_0x4af957['query'],_0xf119c5['filters']),_0x759bb4);if(_0x4af957[_0x17e6('0x31')][_0x17e6('0x3b')]){_0x4ed2a6[_0x17e6('0x39')]=_[_0x17e6('0x3c')](_0x4ed2a6[_0x17e6('0x39')],{'$or':_[_0x17e6('0x2c')](_0x759bb4,function(_0x5537c8){if(_0x5537c8['type']!==_0x17e6('0x3d')){var _0x217f05={};_0x217f05[_0x5537c8[_0x17e6('0x29')]]={'$like':'%'+_0x4af957['query']['filter']+'%'};return _0x217f05;}})});}_0x4ed2a6=_[_0x17e6('0x3c')]({},_0x4ed2a6,_0x4af957[_0x17e6('0x3e')]);var _0x2ce041={'where':_0x4ed2a6['where']};return db[_0x17e6('0x2d')][_0x17e6('0x21')](_0x2ce041)[_0x17e6('0x26')](function(_0x5a16ed){_0xe77023[_0x17e6('0x21')]=_0x5a16ed;if(_0x4af957[_0x17e6('0x31')][_0x17e6('0x3f')]){_0x4ed2a6[_0x17e6('0x40')]=[{'all':!![]}];}return db[_0x17e6('0x2d')][_0x17e6('0x41')](_0x4ed2a6);})[_0x17e6('0x26')](function(_0x380ccd){_0xe77023['rows']=_0x380ccd;return _0xe77023;})[_0x17e6('0x26')](respondWithFilteredResult(_0xc2c093,_0x4ed2a6))[_0x17e6('0x42')](handleError(_0xc2c093,null));};exports[_0x17e6('0x43')]=function(_0x4c868e,_0x2d4159){var _0x53bae4={'raw':!![],'where':{'id':_0x4c868e['params']['id']}},_0x492a0b={};_0x492a0b[_0x17e6('0x33')]=_[_0x17e6('0x32')](db[_0x17e6('0x2d')][_0x17e6('0x2e')]);_0x492a0b[_0x17e6('0x31')]=_[_0x17e6('0x32')](_0x4c868e[_0x17e6('0x31')]);_0x492a0b[_0x17e6('0x3a')]=_[_0x17e6('0x35')](_0x492a0b[_0x17e6('0x33')],_0x492a0b['query']);_0x53bae4[_0x17e6('0x34')]=_['intersection'](_0x492a0b[_0x17e6('0x33')],qs['fields'](_0x4c868e['query']['fields']));_0x53bae4['attributes']=_0x53bae4[_0x17e6('0x34')]['length']?_0x53bae4[_0x17e6('0x34')]:_0x492a0b[_0x17e6('0x33')];if(_0x4c868e[_0x17e6('0x31')][_0x17e6('0x3f')]){_0x53bae4[_0x17e6('0x40')]=[{'all':!![]}];}_0x53bae4=_['merge']({},_0x53bae4,_0x4c868e[_0x17e6('0x3e')]);return db[_0x17e6('0x2d')][_0x17e6('0x44')](_0x53bae4)['then'](handleEntityNotFound(_0x2d4159,null))[_0x17e6('0x26')](respondWithResult(_0x2d4159,null))[_0x17e6('0x42')](handleError(_0x2d4159,null));};exports[_0x17e6('0x45')]=function(_0x58d71a,_0x127717){return db[_0x17e6('0x2d')][_0x17e6('0x45')](_0x58d71a[_0x17e6('0x46')],{})[_0x17e6('0x26')](respondWithResult(_0x127717,0xc9))[_0x17e6('0x42')](handleError(_0x127717,null));};exports[_0x17e6('0x25')]=function(_0x5e9822,_0x5e9495){if(_0x5e9822[_0x17e6('0x46')]['id']){delete _0x5e9822[_0x17e6('0x46')]['id'];}return db[_0x17e6('0x2d')][_0x17e6('0x44')]({'where':{'id':_0x5e9822[_0x17e6('0x47')]['id']}})[_0x17e6('0x26')](handleEntityNotFound(_0x5e9495,null))[_0x17e6('0x26')](saveUpdates(_0x5e9822[_0x17e6('0x46')],null))[_0x17e6('0x26')](respondWithResult(_0x5e9495,null))[_0x17e6('0x42')](handleError(_0x5e9495,null));};exports['destroy']=function(_0x2a7228,_0x5f5342){return db[_0x17e6('0x2d')]['find']({'where':{'id':_0x2a7228[_0x17e6('0x47')]['id']}})[_0x17e6('0x26')](handleEntityNotFound(_0x5f5342,null))['then'](removeEntity(_0x5f5342,null))['catch'](handleError(_0x5f5342,null));};exports['describe']=function(_0x5336ed,_0xdadd2c){return db['MailTransferReport']['describe']()[_0x17e6('0x26')](respondWithResult(_0xdadd2c,null))['catch'](handleError(_0xdadd2c,null));};