52d86e9ce83adce688c60123c17afb4d175d8bf8
[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 _0x221d=['show','params','intersection','find','create','body','describe','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','error','stack','name','send','index','map','rawAttributes','type','query','keys','attributes','fields','length','model','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','MailTransferReport','includeAll','include','findAll','rows','catch'];(function(_0xe4ba34,_0x102646){var _0x1f28dc=function(_0x4537c5){while(--_0x4537c5){_0xe4ba34['push'](_0xe4ba34['shift']());}};_0x1f28dc(++_0x102646);}(_0x221d,0x1b1));var _0xd221=function(_0x261e29,_0x10fffd){_0x261e29=_0x261e29-0x0;var _0x25ef43=_0x221d[_0x261e29];return _0x25ef43;};'use strict';var emlformat=require(_0xd221('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd221('0x1'));var jsonpatch=require(_0xd221('0x2'));var rp=require('request-promise');var moment=require(_0xd221('0x3'));var BPromise=require(_0xd221('0x4'));var Mustache=require(_0xd221('0x5'));var util=require(_0xd221('0x6'));var path=require(_0xd221('0x7'));var sox=require(_0xd221('0x8'));var csv=require(_0xd221('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xd221('0xa'));var crypto=require(_0xd221('0xb'));var jsforce=require(_0xd221('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xd221('0x9'));var querystring=require('querystring');var Papa=require(_0xd221('0xd'));var Redis=require(_0xd221('0xe'));var authService=require(_0xd221('0xf'));var qs=require(_0xd221('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd221('0x11'));var logger=require('../../config/logger')(_0xd221('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xd221('0x13'));var db=require(_0xd221('0x14'))['db'];function respondWithStatusCode(_0xcdea68,_0x276ac3){_0x276ac3=_0x276ac3||0xcc;return function(_0x549456){if(_0x549456){return _0xcdea68[_0xd221('0x15')](_0x276ac3);}return _0xcdea68['status'](_0x276ac3)[_0xd221('0x16')]();};}function respondWithResult(_0x4cc4ea,_0x13e159){_0x13e159=_0x13e159||0xc8;return function(_0x256e16){if(_0x256e16){return _0x4cc4ea[_0xd221('0x17')](_0x13e159)[_0xd221('0x18')](_0x256e16);}};}function respondWithFilteredResult(_0x4d234d,_0x1212ae){return function(_0x449f14){if(_0x449f14){var _0x37a14e=typeof _0x1212ae[_0xd221('0x19')]===_0xd221('0x1a')&&typeof _0x1212ae[_0xd221('0x1b')]==='undefined';var _0x413d20=_0x449f14[_0xd221('0x1c')];var _0x488404=_0x37a14e?0x0:_0x1212ae[_0xd221('0x19')];var _0x3e6e20=_0x37a14e?_0x449f14[_0xd221('0x1c')]:_0x1212ae[_0xd221('0x19')]+_0x1212ae[_0xd221('0x1b')];var _0x450848;if(_0x3e6e20>=_0x413d20){_0x3e6e20=_0x413d20;_0x450848=0xc8;}else{_0x450848=0xce;}_0x4d234d[_0xd221('0x17')](_0x450848);return _0x4d234d['set'](_0xd221('0x1d'),_0x488404+'-'+_0x3e6e20+'/'+_0x413d20)[_0xd221('0x18')](_0x449f14);}return null;};}function patchUpdates(_0x1fc2a3){return function(_0x3784df){try{jsonpatch[_0xd221('0x1e')](_0x3784df,_0x1fc2a3,!![]);}catch(_0x96b2e9){return BPromise[_0xd221('0x1f')](_0x96b2e9);}return _0x3784df['save']();};}function saveUpdates(_0x15b1d6,_0x20abb9){return function(_0x91a1){if(_0x91a1){return _0x91a1[_0xd221('0x20')](_0x15b1d6)[_0xd221('0x21')](function(_0xb18b66){return _0xb18b66;});}return null;};}function removeEntity(_0x25505e,_0x23fc7b){return function(_0x3bbe67){if(_0x3bbe67){return _0x3bbe67['destroy']()['then'](function(){_0x25505e[_0xd221('0x17')](0xcc)[_0xd221('0x16')]();});}};}function handleEntityNotFound(_0x14d48c,_0x12ff45){return function(_0x15e511){if(!_0x15e511){_0x14d48c[_0xd221('0x15')](0x194);}return _0x15e511;};}function handleError(_0x6365c,_0x501425){_0x501425=_0x501425||0x1f4;return function(_0x196ba5){logger[_0xd221('0x22')](_0x196ba5[_0xd221('0x23')]);if(_0x196ba5[_0xd221('0x24')]){delete _0x196ba5['name'];}_0x6365c[_0xd221('0x17')](_0x501425)[_0xd221('0x25')](_0x196ba5);};}exports[_0xd221('0x26')]=function(_0x5442ef,_0x24e985){var _0x23d9a3={},_0x54b6f8={},_0x5b0636={'count':0x0,'rows':[]};var _0x146890=_[_0xd221('0x27')](db['MailTransferReport'][_0xd221('0x28')],function(_0x285e8b){return{'name':_0x285e8b['fieldName'],'type':_0x285e8b[_0xd221('0x29')]['key']};});_0x54b6f8['model']=_[_0xd221('0x27')](_0x146890,_0xd221('0x24'));_0x54b6f8[_0xd221('0x2a')]=_[_0xd221('0x2b')](_0x5442ef['query']);_0x54b6f8['filters']=_['intersection'](_0x54b6f8['model'],_0x54b6f8[_0xd221('0x2a')]);_0x23d9a3[_0xd221('0x2c')]=_['intersection'](_0x54b6f8['model'],qs['fields'](_0x5442ef[_0xd221('0x2a')][_0xd221('0x2d')]));_0x23d9a3[_0xd221('0x2c')]=_0x23d9a3[_0xd221('0x2c')][_0xd221('0x2e')]?_0x23d9a3[_0xd221('0x2c')]:_0x54b6f8[_0xd221('0x2f')];if(!_0x5442ef[_0xd221('0x2a')][_0xd221('0x30')](_0xd221('0x31'))){_0x23d9a3[_0xd221('0x1b')]=qs[_0xd221('0x1b')](_0x5442ef[_0xd221('0x2a')][_0xd221('0x1b')]);_0x23d9a3[_0xd221('0x19')]=qs[_0xd221('0x19')](_0x5442ef[_0xd221('0x2a')]['offset']);}_0x23d9a3[_0xd221('0x32')]=qs[_0xd221('0x33')](_0x5442ef[_0xd221('0x2a')]['sort']);_0x23d9a3[_0xd221('0x34')]=qs[_0xd221('0x35')](_[_0xd221('0x36')](_0x5442ef['query'],_0x54b6f8[_0xd221('0x35')]),_0x146890);if(_0x5442ef[_0xd221('0x2a')]['filter']){_0x23d9a3[_0xd221('0x34')]=_[_0xd221('0x37')](_0x23d9a3[_0xd221('0x34')],{'$or':_[_0xd221('0x27')](_0x146890,function(_0x4ab572){if(_0x4ab572[_0xd221('0x29')]!==_0xd221('0x38')){var _0x22b24c={};_0x22b24c[_0x4ab572[_0xd221('0x24')]]={'$like':'%'+_0x5442ef['query'][_0xd221('0x39')]+'%'};return _0x22b24c;}})});}_0x23d9a3=_['merge']({},_0x23d9a3,_0x5442ef['options']);var _0x3c4a33={'where':_0x23d9a3['where']};return db[_0xd221('0x3a')][_0xd221('0x1c')](_0x3c4a33)[_0xd221('0x21')](function(_0x16bef8){_0x5b0636[_0xd221('0x1c')]=_0x16bef8;if(_0x5442ef[_0xd221('0x2a')][_0xd221('0x3b')]){_0x23d9a3[_0xd221('0x3c')]=[{'all':!![]}];}return db[_0xd221('0x3a')][_0xd221('0x3d')](_0x23d9a3);})['then'](function(_0x57b0bd){_0x5b0636[_0xd221('0x3e')]=_0x57b0bd;return _0x5b0636;})[_0xd221('0x21')](respondWithFilteredResult(_0x24e985,_0x23d9a3))[_0xd221('0x3f')](handleError(_0x24e985,null));};exports[_0xd221('0x40')]=function(_0x258f0e,_0x4e8d7f){var _0x599fc3={'raw':!![],'where':{'id':_0x258f0e[_0xd221('0x41')]['id']}},_0xded3c3={};_0xded3c3[_0xd221('0x2f')]=_[_0xd221('0x2b')](db[_0xd221('0x3a')][_0xd221('0x28')]);_0xded3c3[_0xd221('0x2a')]=_[_0xd221('0x2b')](_0x258f0e['query']);_0xded3c3[_0xd221('0x35')]=_[_0xd221('0x42')](_0xded3c3['model'],_0xded3c3[_0xd221('0x2a')]);_0x599fc3['attributes']=_[_0xd221('0x42')](_0xded3c3[_0xd221('0x2f')],qs[_0xd221('0x2d')](_0x258f0e[_0xd221('0x2a')][_0xd221('0x2d')]));_0x599fc3[_0xd221('0x2c')]=_0x599fc3[_0xd221('0x2c')][_0xd221('0x2e')]?_0x599fc3['attributes']:_0xded3c3[_0xd221('0x2f')];if(_0x258f0e[_0xd221('0x2a')][_0xd221('0x3b')]){_0x599fc3['include']=[{'all':!![]}];}_0x599fc3=_[_0xd221('0x37')]({},_0x599fc3,_0x258f0e['options']);return db[_0xd221('0x3a')][_0xd221('0x43')](_0x599fc3)[_0xd221('0x21')](handleEntityNotFound(_0x4e8d7f,null))['then'](respondWithResult(_0x4e8d7f,null))[_0xd221('0x3f')](handleError(_0x4e8d7f,null));};exports['create']=function(_0x1d5e97,_0x3ca0ad){return db[_0xd221('0x3a')][_0xd221('0x44')](_0x1d5e97[_0xd221('0x45')],{})['then'](respondWithResult(_0x3ca0ad,0xc9))['catch'](handleError(_0x3ca0ad,null));};exports[_0xd221('0x20')]=function(_0x57471b,_0x179f90){if(_0x57471b['body']['id']){delete _0x57471b[_0xd221('0x45')]['id'];}return db['MailTransferReport'][_0xd221('0x43')]({'where':{'id':_0x57471b[_0xd221('0x41')]['id']}})[_0xd221('0x21')](handleEntityNotFound(_0x179f90,null))[_0xd221('0x21')](saveUpdates(_0x57471b['body'],null))[_0xd221('0x21')](respondWithResult(_0x179f90,null))[_0xd221('0x3f')](handleError(_0x179f90,null));};exports['destroy']=function(_0x20f21f,_0x502826){return db[_0xd221('0x3a')][_0xd221('0x43')]({'where':{'id':_0x20f21f['params']['id']}})[_0xd221('0x21')](handleEntityNotFound(_0x502826,null))[_0xd221('0x21')](removeEntity(_0x502826,null))[_0xd221('0x3f')](handleError(_0x502826,null));};exports[_0xd221('0x46')]=function(_0x7097fa,_0x4355f8){return db[_0xd221('0x3a')][_0xd221('0x46')]()[_0xd221('0x21')](respondWithResult(_0x4355f8,null))[_0xd221('0x3f')](handleError(_0x4355f8,null));};