62102274a69fc26f6eb90526d772f99521505987
[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 _0x9c91=['describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','lodash','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','offset','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','map','rawAttributes','type','key','model','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','VIRTUAL','includeAll','include','MailTransferReport','findAll','rows','catch','show','params','intersection','options','find','create','body'];(function(_0x48999d,_0x1e02cb){var _0x1ad0d1=function(_0x3f974e){while(--_0x3f974e){_0x48999d['push'](_0x48999d['shift']());}};_0x1ad0d1(++_0x1e02cb);}(_0x9c91,0x1c9));var _0x19c9=function(_0x1defbe,_0xb8476c){_0x1defbe=_0x1defbe-0x0;var _0x325b1d=_0x9c91[_0x1defbe];return _0x325b1d;};'use strict';var emlformat=require(_0x19c9('0x0'));var rimraf=require(_0x19c9('0x1'));var zipdir=require(_0x19c9('0x2'));var jsonpatch=require(_0x19c9('0x3'));var rp=require(_0x19c9('0x4'));var moment=require(_0x19c9('0x5'));var BPromise=require(_0x19c9('0x6'));var Mustache=require('mustache');var util=require(_0x19c9('0x7'));var path=require(_0x19c9('0x8'));var sox=require('sox');var csv=require(_0x19c9('0x9'));var ejs=require(_0x19c9('0xa'));var fs=require('fs');var fs_extra=require(_0x19c9('0xb'));var _=require(_0x19c9('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x19c9('0xd'));var toCsv=require(_0x19c9('0x9'));var querystring=require(_0x19c9('0xe'));var Papa=require('papaparse');var Redis=require(_0x19c9('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x19c9('0x10'));var as=require(_0x19c9('0x11'));var hardwareService=require(_0x19c9('0x12'));var logger=require(_0x19c9('0x13'))(_0x19c9('0x14'));var utils=require(_0x19c9('0x15'));var config=require(_0x19c9('0x16'));var licenseUtil=require(_0x19c9('0x17'));var db=require(_0x19c9('0x18'))['db'];function respondWithStatusCode(_0x5c0c1d,_0x317b35){_0x317b35=_0x317b35||0xcc;return function(_0x502106){if(_0x502106){return _0x5c0c1d[_0x19c9('0x19')](_0x317b35);}return _0x5c0c1d[_0x19c9('0x1a')](_0x317b35)[_0x19c9('0x1b')]();};}function respondWithResult(_0x21c617,_0x587674){_0x587674=_0x587674||0xc8;return function(_0x610efa){if(_0x610efa){return _0x21c617[_0x19c9('0x1a')](_0x587674)[_0x19c9('0x1c')](_0x610efa);}};}function respondWithFilteredResult(_0x5a7d90,_0x6800b8){return function(_0x4a123e){if(_0x4a123e){var _0x290c38=typeof _0x6800b8['offset']==='undefined'&&typeof _0x6800b8['limit']===_0x19c9('0x1d');var _0x44f47e=_0x4a123e['count'];var _0x48f86d=_0x290c38?0x0:_0x6800b8[_0x19c9('0x1e')];var _0x11dceb=_0x290c38?_0x4a123e[_0x19c9('0x1f')]:_0x6800b8[_0x19c9('0x1e')]+_0x6800b8['limit'];var _0x41d111;if(_0x11dceb>=_0x44f47e){_0x11dceb=_0x44f47e;_0x41d111=0xc8;}else{_0x41d111=0xce;}_0x5a7d90[_0x19c9('0x1a')](_0x41d111);return _0x5a7d90[_0x19c9('0x20')](_0x19c9('0x21'),_0x48f86d+'-'+_0x11dceb+'/'+_0x44f47e)[_0x19c9('0x1c')](_0x4a123e);}return null;};}function patchUpdates(_0x543fd3){return function(_0xd9b7fa){try{jsonpatch[_0x19c9('0x22')](_0xd9b7fa,_0x543fd3,!![]);}catch(_0x338211){return BPromise[_0x19c9('0x23')](_0x338211);}return _0xd9b7fa[_0x19c9('0x24')]();};}function saveUpdates(_0x54da9e,_0x331335){return function(_0x5dfbfd){if(_0x5dfbfd){return _0x5dfbfd[_0x19c9('0x25')](_0x54da9e)[_0x19c9('0x26')](function(_0x344a1c){return _0x344a1c;});}return null;};}function removeEntity(_0x42d161,_0x3a3bbd){return function(_0x5728b9){if(_0x5728b9){return _0x5728b9[_0x19c9('0x27')]()[_0x19c9('0x26')](function(){_0x42d161[_0x19c9('0x1a')](0xcc)[_0x19c9('0x1b')]();});}};}function handleEntityNotFound(_0x36adfb,_0x3686c4){return function(_0x4d8af6){if(!_0x4d8af6){_0x36adfb[_0x19c9('0x19')](0x194);}return _0x4d8af6;};}function handleError(_0x12fabe,_0x1bbc63){_0x1bbc63=_0x1bbc63||0x1f4;return function(_0x106009){logger[_0x19c9('0x28')](_0x106009[_0x19c9('0x29')]);if(_0x106009[_0x19c9('0x2a')]){delete _0x106009[_0x19c9('0x2a')];}_0x12fabe[_0x19c9('0x1a')](_0x1bbc63)['send'](_0x106009);};}exports['index']=function(_0x4f4800,_0x2be221){var _0x327fad={},_0x3eb607={},_0x58f93e={'count':0x0,'rows':[]};var _0x462745=_[_0x19c9('0x2b')](db['MailTransferReport'][_0x19c9('0x2c')],function(_0x4e9f76){return{'name':_0x4e9f76['fieldName'],'type':_0x4e9f76[_0x19c9('0x2d')][_0x19c9('0x2e')]};});_0x3eb607[_0x19c9('0x2f')]=_[_0x19c9('0x2b')](_0x462745,_0x19c9('0x2a'));_0x3eb607['query']=_[_0x19c9('0x30')](_0x4f4800[_0x19c9('0x31')]);_0x3eb607[_0x19c9('0x32')]=_['intersection'](_0x3eb607[_0x19c9('0x2f')],_0x3eb607['query']);_0x327fad[_0x19c9('0x33')]=_['intersection'](_0x3eb607[_0x19c9('0x2f')],qs['fields'](_0x4f4800[_0x19c9('0x31')][_0x19c9('0x34')]));_0x327fad[_0x19c9('0x33')]=_0x327fad[_0x19c9('0x33')][_0x19c9('0x35')]?_0x327fad[_0x19c9('0x33')]:_0x3eb607[_0x19c9('0x2f')];if(!_0x4f4800[_0x19c9('0x31')][_0x19c9('0x36')](_0x19c9('0x37'))){_0x327fad[_0x19c9('0x38')]=qs[_0x19c9('0x38')](_0x4f4800['query'][_0x19c9('0x38')]);_0x327fad[_0x19c9('0x1e')]=qs['offset'](_0x4f4800[_0x19c9('0x31')][_0x19c9('0x1e')]);}_0x327fad[_0x19c9('0x39')]=qs[_0x19c9('0x3a')](_0x4f4800[_0x19c9('0x31')][_0x19c9('0x3a')]);_0x327fad[_0x19c9('0x3b')]=qs[_0x19c9('0x32')](_[_0x19c9('0x3c')](_0x4f4800['query'],_0x3eb607[_0x19c9('0x32')]),_0x462745);if(_0x4f4800[_0x19c9('0x31')]['filter']){_0x327fad['where']=_['merge'](_0x327fad[_0x19c9('0x3b')],{'$or':_['map'](_0x462745,function(_0x1bc1e2){if(_0x1bc1e2[_0x19c9('0x2d')]!==_0x19c9('0x3d')){var _0x4aa524={};_0x4aa524[_0x1bc1e2[_0x19c9('0x2a')]]={'$like':'%'+_0x4f4800[_0x19c9('0x31')]['filter']+'%'};return _0x4aa524;}})});}_0x327fad=_['merge']({},_0x327fad,_0x4f4800['options']);var _0x2ddece={'where':_0x327fad['where']};return db['MailTransferReport'][_0x19c9('0x1f')](_0x2ddece)[_0x19c9('0x26')](function(_0x34b172){_0x58f93e[_0x19c9('0x1f')]=_0x34b172;if(_0x4f4800[_0x19c9('0x31')][_0x19c9('0x3e')]){_0x327fad[_0x19c9('0x3f')]=[{'all':!![]}];}return db[_0x19c9('0x40')][_0x19c9('0x41')](_0x327fad);})[_0x19c9('0x26')](function(_0x28cc2d){_0x58f93e[_0x19c9('0x42')]=_0x28cc2d;return _0x58f93e;})[_0x19c9('0x26')](respondWithFilteredResult(_0x2be221,_0x327fad))[_0x19c9('0x43')](handleError(_0x2be221,null));};exports[_0x19c9('0x44')]=function(_0x297693,_0x20e975){var _0x1388d4={'raw':!![],'where':{'id':_0x297693[_0x19c9('0x45')]['id']}},_0x420ffe={};_0x420ffe[_0x19c9('0x2f')]=_[_0x19c9('0x30')](db[_0x19c9('0x40')]['rawAttributes']);_0x420ffe[_0x19c9('0x31')]=_[_0x19c9('0x30')](_0x297693[_0x19c9('0x31')]);_0x420ffe[_0x19c9('0x32')]=_[_0x19c9('0x46')](_0x420ffe['model'],_0x420ffe[_0x19c9('0x31')]);_0x1388d4[_0x19c9('0x33')]=_[_0x19c9('0x46')](_0x420ffe[_0x19c9('0x2f')],qs[_0x19c9('0x34')](_0x297693[_0x19c9('0x31')][_0x19c9('0x34')]));_0x1388d4['attributes']=_0x1388d4[_0x19c9('0x33')]['length']?_0x1388d4[_0x19c9('0x33')]:_0x420ffe['model'];if(_0x297693[_0x19c9('0x31')][_0x19c9('0x3e')]){_0x1388d4[_0x19c9('0x3f')]=[{'all':!![]}];}_0x1388d4=_['merge']({},_0x1388d4,_0x297693[_0x19c9('0x47')]);return db['MailTransferReport'][_0x19c9('0x48')](_0x1388d4)['then'](handleEntityNotFound(_0x20e975,null))[_0x19c9('0x26')](respondWithResult(_0x20e975,null))[_0x19c9('0x43')](handleError(_0x20e975,null));};exports[_0x19c9('0x49')]=function(_0x45af38,_0x2cdc0d){return db[_0x19c9('0x40')][_0x19c9('0x49')](_0x45af38[_0x19c9('0x4a')],{})[_0x19c9('0x26')](respondWithResult(_0x2cdc0d,0xc9))[_0x19c9('0x43')](handleError(_0x2cdc0d,null));};exports[_0x19c9('0x25')]=function(_0x716ce4,_0x5c9339){if(_0x716ce4['body']['id']){delete _0x716ce4[_0x19c9('0x4a')]['id'];}return db['MailTransferReport'][_0x19c9('0x48')]({'where':{'id':_0x716ce4[_0x19c9('0x45')]['id']}})['then'](handleEntityNotFound(_0x5c9339,null))['then'](saveUpdates(_0x716ce4[_0x19c9('0x4a')],null))['then'](respondWithResult(_0x5c9339,null))['catch'](handleError(_0x5c9339,null));};exports[_0x19c9('0x27')]=function(_0x16ea9e,_0x30be6d){return db[_0x19c9('0x40')][_0x19c9('0x48')]({'where':{'id':_0x16ea9e[_0x19c9('0x45')]['id']}})[_0x19c9('0x26')](handleEntityNotFound(_0x30be6d,null))[_0x19c9('0x26')](removeEntity(_0x30be6d,null))[_0x19c9('0x43')](handleError(_0x30be6d,null));};exports[_0x19c9('0x4b')]=function(_0x5cfa50,_0x3b66b7){return db['MailTransferReport'][_0x19c9('0x4b')]()[_0x19c9('0x26')](respondWithResult(_0x3b66b7,null))[_0x19c9('0x43')](handleError(_0x3b66b7,null));};