9a1b2817f80e48a0af93978f590020986c603d5b
[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 _0xc886=['api','../../mysqldb','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','stack','name','index','fieldName','key','map','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','MailTransferReport','includeAll','include','findAll','rows','catch','show','params','rawAttributes','create','body','find','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger'];(function(_0x38d887,_0x261d68){var _0x84c717=function(_0x4c5a40){while(--_0x4c5a40){_0x38d887['push'](_0x38d887['shift']());}};_0x84c717(++_0x261d68);}(_0xc886,0x16b));var _0x6c88=function(_0x455ae2,_0x3dd6e7){_0x455ae2=_0x455ae2-0x0;var _0x2f8754=_0xc886[_0x455ae2];return _0x2f8754;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6c88('0x0'));var zipdir=require(_0x6c88('0x1'));var jsonpatch=require(_0x6c88('0x2'));var rp=require(_0x6c88('0x3'));var moment=require(_0x6c88('0x4'));var BPromise=require(_0x6c88('0x5'));var Mustache=require(_0x6c88('0x6'));var util=require(_0x6c88('0x7'));var path=require(_0x6c88('0x8'));var sox=require(_0x6c88('0x9'));var csv=require(_0x6c88('0xa'));var ejs=require(_0x6c88('0xb'));var fs=require('fs');var fs_extra=require(_0x6c88('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x6c88('0xd'));var jsforce=require(_0x6c88('0xe'));var deskjs=require(_0x6c88('0xf'));var toCsv=require(_0x6c88('0xa'));var querystring=require(_0x6c88('0x10'));var Papa=require(_0x6c88('0x11'));var Redis=require('ioredis');var authService=require(_0x6c88('0x12'));var qs=require(_0x6c88('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6c88('0x14'));var logger=require(_0x6c88('0x15'))(_0x6c88('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x6c88('0x17'))['db'];function respondWithStatusCode(_0x341551,_0x3fe190){_0x3fe190=_0x3fe190||0xcc;return function(_0x389281){if(_0x389281){return _0x341551['sendStatus'](_0x3fe190);}return _0x341551['status'](_0x3fe190)[_0x6c88('0x18')]();};}function respondWithResult(_0x1e489f,_0x376249){_0x376249=_0x376249||0xc8;return function(_0x251d0e){if(_0x251d0e){return _0x1e489f[_0x6c88('0x19')](_0x376249)[_0x6c88('0x1a')](_0x251d0e);}};}function respondWithFilteredResult(_0x227746,_0x57625d){return function(_0x34bed0){if(_0x34bed0){var _0x3fcbe4=typeof _0x57625d[_0x6c88('0x1b')]===_0x6c88('0x1c')&&typeof _0x57625d[_0x6c88('0x1d')]===_0x6c88('0x1c');var _0x3f3ec1=_0x34bed0[_0x6c88('0x1e')];var _0x1e5792=_0x3fcbe4?0x0:_0x57625d[_0x6c88('0x1b')];var _0x467695=_0x3fcbe4?_0x34bed0[_0x6c88('0x1e')]:_0x57625d[_0x6c88('0x1b')]+_0x57625d[_0x6c88('0x1d')];var _0x453ac3;if(_0x467695>=_0x3f3ec1){_0x467695=_0x3f3ec1;_0x453ac3=0xc8;}else{_0x453ac3=0xce;}_0x227746['status'](_0x453ac3);return _0x227746[_0x6c88('0x1f')](_0x6c88('0x20'),_0x1e5792+'-'+_0x467695+'/'+_0x3f3ec1)['json'](_0x34bed0);}return null;};}function patchUpdates(_0x29aa70){return function(_0x2d6908){try{jsonpatch[_0x6c88('0x21')](_0x2d6908,_0x29aa70,!![]);}catch(_0x596ddf){return BPromise[_0x6c88('0x22')](_0x596ddf);}return _0x2d6908[_0x6c88('0x23')]();};}function saveUpdates(_0x5e51d7,_0x3c1019){return function(_0x3b0690){if(_0x3b0690){return _0x3b0690[_0x6c88('0x24')](_0x5e51d7)[_0x6c88('0x25')](function(_0x577ae1){return _0x577ae1;});}return null;};}function removeEntity(_0x29513f,_0x407d88){return function(_0x3fa0da){if(_0x3fa0da){return _0x3fa0da[_0x6c88('0x26')]()[_0x6c88('0x25')](function(){_0x29513f[_0x6c88('0x19')](0xcc)[_0x6c88('0x18')]();});}};}function handleEntityNotFound(_0x37b80d,_0x1b78c2){return function(_0x4cb69a){if(!_0x4cb69a){_0x37b80d[_0x6c88('0x27')](0x194);}return _0x4cb69a;};}function handleError(_0x573380,_0x2d2983){_0x2d2983=_0x2d2983||0x1f4;return function(_0x23934d){logger['error'](_0x23934d[_0x6c88('0x28')]);if(_0x23934d[_0x6c88('0x29')]){delete _0x23934d[_0x6c88('0x29')];}_0x573380['status'](_0x2d2983)['send'](_0x23934d);};}exports[_0x6c88('0x2a')]=function(_0x1f84a4,_0x34b4c7){var _0x26230d={},_0xc3376a={},_0x53df9b={'count':0x0,'rows':[]};var _0x550c1c=_['map'](db['MailTransferReport']['rawAttributes'],function(_0x553640){return{'name':_0x553640[_0x6c88('0x2b')],'type':_0x553640['type'][_0x6c88('0x2c')]};});_0xc3376a['model']=_[_0x6c88('0x2d')](_0x550c1c,_0x6c88('0x29'));_0xc3376a[_0x6c88('0x2e')]=_[_0x6c88('0x2f')](_0x1f84a4[_0x6c88('0x2e')]);_0xc3376a[_0x6c88('0x30')]=_[_0x6c88('0x31')](_0xc3376a[_0x6c88('0x32')],_0xc3376a[_0x6c88('0x2e')]);_0x26230d[_0x6c88('0x33')]=_[_0x6c88('0x31')](_0xc3376a[_0x6c88('0x32')],qs[_0x6c88('0x34')](_0x1f84a4[_0x6c88('0x2e')][_0x6c88('0x34')]));_0x26230d[_0x6c88('0x33')]=_0x26230d[_0x6c88('0x33')][_0x6c88('0x35')]?_0x26230d['attributes']:_0xc3376a['model'];if(!_0x1f84a4[_0x6c88('0x2e')]['hasOwnProperty'](_0x6c88('0x36'))){_0x26230d[_0x6c88('0x1d')]=qs['limit'](_0x1f84a4['query']['limit']);_0x26230d[_0x6c88('0x1b')]=qs[_0x6c88('0x1b')](_0x1f84a4['query'][_0x6c88('0x1b')]);}_0x26230d[_0x6c88('0x37')]=qs[_0x6c88('0x38')](_0x1f84a4[_0x6c88('0x2e')][_0x6c88('0x38')]);_0x26230d[_0x6c88('0x39')]=qs['filters'](_[_0x6c88('0x3a')](_0x1f84a4[_0x6c88('0x2e')],_0xc3376a[_0x6c88('0x30')]),_0x550c1c);if(_0x1f84a4[_0x6c88('0x2e')][_0x6c88('0x3b')]){_0x26230d[_0x6c88('0x39')]=_[_0x6c88('0x3c')](_0x26230d['where'],{'$or':_[_0x6c88('0x2d')](_0x550c1c,function(_0x3b261a){if(_0x3b261a[_0x6c88('0x3d')]!==_0x6c88('0x3e')){var _0x578bbe={};_0x578bbe[_0x3b261a[_0x6c88('0x29')]]={'$like':'%'+_0x1f84a4[_0x6c88('0x2e')]['filter']+'%'};return _0x578bbe;}})});}_0x26230d=_[_0x6c88('0x3c')]({},_0x26230d,_0x1f84a4[_0x6c88('0x3f')]);var _0xb75645={'where':_0x26230d[_0x6c88('0x39')]};return db[_0x6c88('0x40')][_0x6c88('0x1e')](_0xb75645)[_0x6c88('0x25')](function(_0x1fd7b6){_0x53df9b[_0x6c88('0x1e')]=_0x1fd7b6;if(_0x1f84a4[_0x6c88('0x2e')][_0x6c88('0x41')]){_0x26230d[_0x6c88('0x42')]=[{'all':!![]}];}return db['MailTransferReport'][_0x6c88('0x43')](_0x26230d);})[_0x6c88('0x25')](function(_0x1feb67){_0x53df9b[_0x6c88('0x44')]=_0x1feb67;return _0x53df9b;})[_0x6c88('0x25')](respondWithFilteredResult(_0x34b4c7,_0x26230d))[_0x6c88('0x45')](handleError(_0x34b4c7,null));};exports[_0x6c88('0x46')]=function(_0x3ad24b,_0x54a674){var _0x5f3dd1={'raw':!![],'where':{'id':_0x3ad24b[_0x6c88('0x47')]['id']}},_0x373807={};_0x373807[_0x6c88('0x32')]=_[_0x6c88('0x2f')](db['MailTransferReport'][_0x6c88('0x48')]);_0x373807['query']=_[_0x6c88('0x2f')](_0x3ad24b[_0x6c88('0x2e')]);_0x373807[_0x6c88('0x30')]=_[_0x6c88('0x31')](_0x373807['model'],_0x373807['query']);_0x5f3dd1['attributes']=_['intersection'](_0x373807[_0x6c88('0x32')],qs[_0x6c88('0x34')](_0x3ad24b[_0x6c88('0x2e')][_0x6c88('0x34')]));_0x5f3dd1[_0x6c88('0x33')]=_0x5f3dd1[_0x6c88('0x33')][_0x6c88('0x35')]?_0x5f3dd1[_0x6c88('0x33')]:_0x373807[_0x6c88('0x32')];if(_0x3ad24b['query'][_0x6c88('0x41')]){_0x5f3dd1[_0x6c88('0x42')]=[{'all':!![]}];}_0x5f3dd1=_[_0x6c88('0x3c')]({},_0x5f3dd1,_0x3ad24b[_0x6c88('0x3f')]);return db[_0x6c88('0x40')]['find'](_0x5f3dd1)[_0x6c88('0x25')](handleEntityNotFound(_0x54a674,null))[_0x6c88('0x25')](respondWithResult(_0x54a674,null))[_0x6c88('0x45')](handleError(_0x54a674,null));};exports[_0x6c88('0x49')]=function(_0x205c5a,_0x52cd3e){return db[_0x6c88('0x40')]['create'](_0x205c5a['body'],{})[_0x6c88('0x25')](respondWithResult(_0x52cd3e,0xc9))[_0x6c88('0x45')](handleError(_0x52cd3e,null));};exports[_0x6c88('0x24')]=function(_0x18d74b,_0x22c5df){if(_0x18d74b[_0x6c88('0x4a')]['id']){delete _0x18d74b[_0x6c88('0x4a')]['id'];}return db[_0x6c88('0x40')][_0x6c88('0x4b')]({'where':{'id':_0x18d74b[_0x6c88('0x47')]['id']}})[_0x6c88('0x25')](handleEntityNotFound(_0x22c5df,null))['then'](saveUpdates(_0x18d74b['body'],null))[_0x6c88('0x25')](respondWithResult(_0x22c5df,null))[_0x6c88('0x45')](handleError(_0x22c5df,null));};exports['destroy']=function(_0x4c0afa,_0x4ac5b0){return db[_0x6c88('0x40')][_0x6c88('0x4b')]({'where':{'id':_0x4c0afa['params']['id']}})[_0x6c88('0x25')](handleEntityNotFound(_0x4ac5b0,null))[_0x6c88('0x25')](removeEntity(_0x4ac5b0,null))['catch'](handleError(_0x4ac5b0,null));};exports[_0x6c88('0x4c')]=function(_0x174e10,_0x1ff77f){return db[_0x6c88('0x40')][_0x6c88('0x4c')]()[_0x6c88('0x25')](respondWithResult(_0x1ff77f,null))[_0x6c88('0x45')](handleError(_0x1ff77f,null));};