7be809c482316b0886bbda5e42638bf0c55af539
[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 _0x5444=['destroy','sendStatus','error','stack','name','render','merge','contact','message','agent','interaction','account','index','map','rawAttributes','type','model','query','keys','intersection','fields','attributes','hasOwnProperty','nolimit','order','where','filters','options','includeAll','include','MailTransferReport','catch','show','params','length','create','body','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','limit','count','offset','Content-Range','reject','save','update','then'];(function(_0x4db108,_0x7ed931){var _0x70ca37=function(_0xf4d1f8){while(--_0xf4d1f8){_0x4db108['push'](_0x4db108['shift']());}};_0x70ca37(++_0x7ed931);}(_0x5444,0x72));var _0x4544=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x5444[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x4544('0x0'));var rimraf=require(_0x4544('0x1'));var zipdir=require(_0x4544('0x2'));var jsonpatch=require(_0x4544('0x3'));var rp=require(_0x4544('0x4'));var moment=require(_0x4544('0x5'));var BPromise=require(_0x4544('0x6'));var Mustache=require(_0x4544('0x7'));var util=require('util');var path=require('path');var sox=require(_0x4544('0x8'));var csv=require(_0x4544('0x9'));var ejs=require(_0x4544('0xa'));var fs=require('fs');var fs_extra=require(_0x4544('0xb'));var _=require('lodash');var squel=require(_0x4544('0xc'));var crypto=require(_0x4544('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x4544('0xe'));var toCsv=require(_0x4544('0x9'));var querystring=require('querystring');var Papa=require(_0x4544('0xf'));var Redis=require('ioredis');var authService=require(_0x4544('0x10'));var qs=require(_0x4544('0x11'));var as=require(_0x4544('0x12'));var hardwareService=require(_0x4544('0x13'));var logger=require(_0x4544('0x14'))(_0x4544('0x15'));var utils=require(_0x4544('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x4544('0x17'));var db=require(_0x4544('0x18'))['db'];function respondWithStatusCode(_0x5ad76d,_0x56daaa){_0x56daaa=_0x56daaa||0xcc;return function(_0x176218){if(_0x176218){return _0x5ad76d['sendStatus'](_0x56daaa);}return _0x5ad76d[_0x4544('0x19')](_0x56daaa)[_0x4544('0x1a')]();};}function respondWithResult(_0x4a316f,_0x2eb21e){_0x2eb21e=_0x2eb21e||0xc8;return function(_0x4f7d1e){if(_0x4f7d1e){return _0x4a316f[_0x4544('0x19')](_0x2eb21e)[_0x4544('0x1b')](_0x4f7d1e);}};}function respondWithFilteredResult(_0x5a90c5,_0x2bdfe8){return function(_0x24e1f4){if(_0x24e1f4){var _0x4c432f=typeof _0x2bdfe8['offset']==='undefined'&&typeof _0x2bdfe8[_0x4544('0x1c')]==='undefined';var _0x464a18=_0x24e1f4[_0x4544('0x1d')];var _0x8f6d54=_0x4c432f?0x0:_0x2bdfe8[_0x4544('0x1e')];var _0x2df28b=_0x4c432f?_0x24e1f4[_0x4544('0x1d')]:_0x2bdfe8[_0x4544('0x1e')]+_0x2bdfe8[_0x4544('0x1c')];var _0x1c96f3;if(_0x2df28b>=_0x464a18){_0x2df28b=_0x464a18;_0x1c96f3=0xc8;}else{_0x1c96f3=0xce;}_0x5a90c5[_0x4544('0x19')](_0x1c96f3);return _0x5a90c5['set'](_0x4544('0x1f'),_0x8f6d54+'-'+_0x2df28b+'/'+_0x464a18)[_0x4544('0x1b')](_0x24e1f4);}return null;};}function patchUpdates(_0x3afe23){return function(_0x503e56){try{jsonpatch['apply'](_0x503e56,_0x3afe23,!![]);}catch(_0x1fe7b9){return BPromise[_0x4544('0x20')](_0x1fe7b9);}return _0x503e56[_0x4544('0x21')]();};}function saveUpdates(_0x310521,_0x29fef2){return function(_0x1198ab){if(_0x1198ab){return _0x1198ab[_0x4544('0x22')](_0x310521)[_0x4544('0x23')](function(_0x1026cb){return _0x1026cb;});}return null;};}function removeEntity(_0x436b33,_0x525a39){return function(_0x7e95df){if(_0x7e95df){return _0x7e95df[_0x4544('0x24')]()['then'](function(){_0x436b33[_0x4544('0x19')](0xcc)[_0x4544('0x1a')]();});}};}function handleEntityNotFound(_0xf59877,_0x2ed098){return function(_0x294c18){if(!_0x294c18){_0xf59877[_0x4544('0x25')](0x194);}return _0x294c18;};}function handleError(_0x1a4478,_0x3cad02){_0x3cad02=_0x3cad02||0x1f4;return function(_0x5be0c7){logger[_0x4544('0x26')](_0x5be0c7[_0x4544('0x27')]);if(_0x5be0c7[_0x4544('0x28')]){delete _0x5be0c7[_0x4544('0x28')];}_0x1a4478['status'](_0x3cad02)['send'](_0x5be0c7);};}function getMustacheRender(_0xb2338a,_0x4f2d97){return Mustache[_0x4544('0x29')](_0xb2338a,_[_0x4544('0x2a')](_0x4f2d97['body'],{'contact':_0x4f2d97[_0x4544('0x2b')],'message':_0x4f2d97[_0x4544('0x2c')],'agent':_0x4f2d97[_0x4544('0x2d')],'interaction':_0x4f2d97[_0x4544('0x2e')],'account':_0x4f2d97[_0x4544('0x2f')]}))||'';}exports[_0x4544('0x30')]=function(_0x5215f6,_0x52d249){var _0x509736={},_0x428bae={},_0x217e60={'count':0x0,'rows':[]};var _0x3daac1=_[_0x4544('0x31')](db['MailTransferReport'][_0x4544('0x32')],function(_0x4b17a1){return{'name':_0x4b17a1['fieldName'],'type':_0x4b17a1[_0x4544('0x33')]['key']};});_0x428bae[_0x4544('0x34')]=_[_0x4544('0x31')](_0x3daac1,_0x4544('0x28'));_0x428bae[_0x4544('0x35')]=_[_0x4544('0x36')](_0x5215f6[_0x4544('0x35')]);_0x428bae['filters']=_[_0x4544('0x37')](_0x428bae['model'],_0x428bae[_0x4544('0x35')]);_0x509736['attributes']=_[_0x4544('0x37')](_0x428bae[_0x4544('0x34')],qs[_0x4544('0x38')](_0x5215f6[_0x4544('0x35')][_0x4544('0x38')]));_0x509736['attributes']=_0x509736['attributes']['length']?_0x509736[_0x4544('0x39')]:_0x428bae[_0x4544('0x34')];if(!_0x5215f6[_0x4544('0x35')][_0x4544('0x3a')](_0x4544('0x3b'))){_0x509736[_0x4544('0x1c')]=qs['limit'](_0x5215f6['query'][_0x4544('0x1c')]);_0x509736[_0x4544('0x1e')]=qs[_0x4544('0x1e')](_0x5215f6['query'][_0x4544('0x1e')]);}_0x509736[_0x4544('0x3c')]=qs['sort'](_0x5215f6[_0x4544('0x35')]['sort']);_0x509736[_0x4544('0x3d')]=qs[_0x4544('0x3e')](_['pick'](_0x5215f6['query'],_0x428bae[_0x4544('0x3e')]),_0x3daac1);if(_0x5215f6[_0x4544('0x35')]['filter']){_0x509736[_0x4544('0x3d')]=_[_0x4544('0x2a')](_0x509736[_0x4544('0x3d')],{'$or':_[_0x4544('0x31')](_0x3daac1,function(_0x3ae8cc){if(_0x3ae8cc[_0x4544('0x33')]!=='VIRTUAL'){var _0x14898b={};_0x14898b[_0x3ae8cc[_0x4544('0x28')]]={'$like':'%'+_0x5215f6[_0x4544('0x35')]['filter']+'%'};return _0x14898b;}})});}_0x509736=_['merge']({},_0x509736,_0x5215f6[_0x4544('0x3f')]);var _0x219533={'where':_0x509736['where']};return db['MailTransferReport'][_0x4544('0x1d')](_0x219533)['then'](function(_0x1e7871){_0x217e60[_0x4544('0x1d')]=_0x1e7871;if(_0x5215f6['query'][_0x4544('0x40')]){_0x509736[_0x4544('0x41')]=[{'all':!![]}];}return db[_0x4544('0x42')]['findAll'](_0x509736);})[_0x4544('0x23')](function(_0x35160d){_0x217e60['rows']=_0x35160d;return _0x217e60;})[_0x4544('0x23')](respondWithFilteredResult(_0x52d249,_0x509736))[_0x4544('0x43')](handleError(_0x52d249,null));};exports[_0x4544('0x44')]=function(_0xe0bf0c,_0x23f54b){var _0x1eb6bd={'raw':!![],'where':{'id':_0xe0bf0c[_0x4544('0x45')]['id']}},_0x4d0a59={};_0x4d0a59[_0x4544('0x34')]=_[_0x4544('0x36')](db[_0x4544('0x42')][_0x4544('0x32')]);_0x4d0a59[_0x4544('0x35')]=_[_0x4544('0x36')](_0xe0bf0c[_0x4544('0x35')]);_0x4d0a59[_0x4544('0x3e')]=_[_0x4544('0x37')](_0x4d0a59[_0x4544('0x34')],_0x4d0a59[_0x4544('0x35')]);_0x1eb6bd[_0x4544('0x39')]=_[_0x4544('0x37')](_0x4d0a59[_0x4544('0x34')],qs[_0x4544('0x38')](_0xe0bf0c[_0x4544('0x35')][_0x4544('0x38')]));_0x1eb6bd[_0x4544('0x39')]=_0x1eb6bd[_0x4544('0x39')][_0x4544('0x46')]?_0x1eb6bd['attributes']:_0x4d0a59[_0x4544('0x34')];if(_0xe0bf0c[_0x4544('0x35')]['includeAll']){_0x1eb6bd[_0x4544('0x41')]=[{'all':!![]}];}_0x1eb6bd=_[_0x4544('0x2a')]({},_0x1eb6bd,_0xe0bf0c['options']);return db[_0x4544('0x42')]['find'](_0x1eb6bd)[_0x4544('0x23')](handleEntityNotFound(_0x23f54b,null))[_0x4544('0x23')](respondWithResult(_0x23f54b,null))[_0x4544('0x43')](handleError(_0x23f54b,null));};exports[_0x4544('0x47')]=function(_0x502f75,_0x3f4fb1){return db[_0x4544('0x42')][_0x4544('0x47')](_0x502f75['body'],{})['then'](respondWithResult(_0x3f4fb1,0xc9))[_0x4544('0x43')](handleError(_0x3f4fb1,null));};exports[_0x4544('0x22')]=function(_0x21f426,_0x599a6a){if(_0x21f426[_0x4544('0x48')]['id']){delete _0x21f426['body']['id'];}return db[_0x4544('0x42')][_0x4544('0x49')]({'where':{'id':_0x21f426['params']['id']}})['then'](handleEntityNotFound(_0x599a6a,null))[_0x4544('0x23')](saveUpdates(_0x21f426[_0x4544('0x48')],null))['then'](respondWithResult(_0x599a6a,null))[_0x4544('0x43')](handleError(_0x599a6a,null));};exports[_0x4544('0x24')]=function(_0x38a2b4,_0x21f0f2){return db['MailTransferReport'][_0x4544('0x49')]({'where':{'id':_0x38a2b4[_0x4544('0x45')]['id']}})[_0x4544('0x23')](handleEntityNotFound(_0x21f0f2,null))[_0x4544('0x23')](removeEntity(_0x21f0f2,null))[_0x4544('0x43')](handleError(_0x21f0f2,null));};exports[_0x4544('0x4a')]=function(_0x17a217,_0x3dc4fd){return db['MailTransferReport']['describe']()[_0x4544('0x23')](respondWithResult(_0x3dc4fd,null))['catch'](handleError(_0x3dc4fd,null));};