2a4191673ef2498a1103513fa6104bb2f2dbc736
[motion2.git] / server / api / mailServerOut / mailServerOut.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 _0x59d2=['name','send','index','map','MailServerOut','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','length','nolimit','offset','order','sort','where','filter','merge','VIRTUAL','options','count','includeAll','include','rows','catch','show','params','keys','create','body','find','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','set','Content-Range','apply','update','then','destroy','error'];(function(_0x31ee55,_0x5a187d){var _0x5560e8=function(_0xebe3a6){while(--_0xebe3a6){_0x31ee55['push'](_0x31ee55['shift']());}};_0x5560e8(++_0x5a187d);}(_0x59d2,0x6c));var _0x259d=function(_0x55e08b,_0x421620){_0x55e08b=_0x55e08b-0x0;var _0xd1a7ff=_0x59d2[_0x55e08b];return _0xd1a7ff;};'use strict';var pdf=require(_0x259d('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x259d('0x1'));var zipdir=require(_0x259d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x259d('0x3'));var moment=require(_0x259d('0x4'));var BPromise=require(_0x259d('0x5'));var Mustache=require(_0x259d('0x6'));var util=require(_0x259d('0x7'));var path=require(_0x259d('0x8'));var sox=require(_0x259d('0x9'));var csv=require('to-csv');var ejs=require(_0x259d('0xa'));var fs=require('fs');var _=require(_0x259d('0xb'));var squel=require(_0x259d('0xc'));var crypto=require(_0x259d('0xd'));var jsforce=require(_0x259d('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x259d('0xf'));var querystring=require(_0x259d('0x10'));var Papa=require(_0x259d('0x11'));var Redis=require(_0x259d('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x259d('0x13'))(_0x259d('0x14'));var utils=require(_0x259d('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x259d('0x16'));var db=require(_0x259d('0x17'))['db'];function respondWithStatusCode(_0x2ac1b9,_0x5229e5){_0x5229e5=_0x5229e5||0xcc;return function(_0x44f4d8){if(_0x44f4d8){return _0x2ac1b9[_0x259d('0x18')](_0x5229e5);}return _0x2ac1b9[_0x259d('0x19')](_0x5229e5)[_0x259d('0x1a')]();};}function respondWithResult(_0x50339f,_0x1e76a7){_0x1e76a7=_0x1e76a7||0xc8;return function(_0xb2df80){if(_0xb2df80){return _0x50339f[_0x259d('0x19')](_0x1e76a7)[_0x259d('0x1b')](_0xb2df80);}};}function respondWithFilteredResult(_0x162a08,_0x25a6de){return function(_0x356533){if(_0x356533){var _0x478960=_0x356533['count'],_0x5b2059=_0x25a6de['offset'],_0xb73a04=_0x25a6de['offset']+_0x25a6de[_0x259d('0x1c')],_0x834e69;if(_0xb73a04>=_0x478960){_0xb73a04=_0x478960;_0x834e69=0xc8;}else{_0x834e69=0xce;}_0x162a08[_0x259d('0x19')](_0x834e69);return _0x162a08[_0x259d('0x1d')](_0x259d('0x1e'),_0x5b2059+'-'+_0xb73a04+'/'+_0x478960)[_0x259d('0x1b')](_0x356533);}return null;};}function patchUpdates(_0x57e6eb){return function(_0x5d6f0a){try{jsonpatch[_0x259d('0x1f')](_0x5d6f0a,_0x57e6eb,!![]);}catch(_0x1091bc){return BPromise['reject'](_0x1091bc);}return _0x5d6f0a['save']();};}function saveUpdates(_0xf42181,_0x23200b){return function(_0xfcb3f4){if(_0xfcb3f4){return _0xfcb3f4[_0x259d('0x20')](_0xf42181)[_0x259d('0x21')](function(_0x13f24d){return _0x13f24d;});}return null;};}function removeEntity(_0x50461f,_0x308086){return function(_0x5acf6c){if(_0x5acf6c){return _0x5acf6c[_0x259d('0x22')]()[_0x259d('0x21')](function(){_0x50461f[_0x259d('0x19')](0xcc)[_0x259d('0x1a')]();});}};}function handleEntityNotFound(_0x1f0894,_0x41d25c){return function(_0x342184){if(!_0x342184){_0x1f0894[_0x259d('0x18')](0x194);}return _0x342184;};}function handleError(_0xba183c,_0x5d6b6f){_0x5d6b6f=_0x5d6b6f||0x1f4;return function(_0x5207a3){logger[_0x259d('0x23')](_0x5207a3['stack']);if(_0x5207a3[_0x259d('0x24')]){delete _0x5207a3[_0x259d('0x24')];}_0xba183c['status'](_0x5d6b6f)[_0x259d('0x25')](_0x5207a3);};}exports[_0x259d('0x26')]=function(_0x40e905,_0x3a3170){var _0x276ca5={},_0x44d3ce={},_0x2c766f={'count':0x0,'rows':[]};var _0x328a66=_[_0x259d('0x27')](db[_0x259d('0x28')][_0x259d('0x29')],function(_0xea940f){return{'name':_0xea940f[_0x259d('0x2a')],'type':_0xea940f[_0x259d('0x2b')][_0x259d('0x2c')]};});_0x44d3ce[_0x259d('0x2d')]=_[_0x259d('0x27')](_0x328a66,_0x259d('0x24'));_0x44d3ce[_0x259d('0x2e')]=_['keys'](_0x40e905[_0x259d('0x2e')]);_0x44d3ce[_0x259d('0x2f')]=_['intersection'](_0x44d3ce['model'],_0x44d3ce[_0x259d('0x2e')]);_0x276ca5[_0x259d('0x30')]=_[_0x259d('0x31')](_0x44d3ce[_0x259d('0x2d')],qs['fields'](_0x40e905[_0x259d('0x2e')][_0x259d('0x32')]));_0x276ca5[_0x259d('0x30')]=_0x276ca5[_0x259d('0x30')][_0x259d('0x33')]?_0x276ca5[_0x259d('0x30')]:_0x44d3ce['model'];if(!_0x40e905[_0x259d('0x2e')]['hasOwnProperty'](_0x259d('0x34'))){_0x276ca5[_0x259d('0x1c')]=qs[_0x259d('0x1c')](_0x40e905['query']['limit']);_0x276ca5['offset']=qs[_0x259d('0x35')](_0x40e905[_0x259d('0x2e')][_0x259d('0x35')]);}_0x276ca5[_0x259d('0x36')]=qs[_0x259d('0x37')](_0x40e905[_0x259d('0x2e')]['sort']);_0x276ca5[_0x259d('0x38')]=qs['filters'](_['pick'](_0x40e905[_0x259d('0x2e')],_0x44d3ce[_0x259d('0x2f')]),_0x328a66);if(_0x40e905[_0x259d('0x2e')][_0x259d('0x39')]){_0x276ca5[_0x259d('0x38')]=_[_0x259d('0x3a')](_0x276ca5['where'],{'$or':_[_0x259d('0x27')](_0x328a66,function(_0x5e9dfc){if(_0x5e9dfc[_0x259d('0x2b')]!==_0x259d('0x3b')){var _0x105fdc={};_0x105fdc[_0x5e9dfc['name']]={'$like':'%'+_0x40e905['query'][_0x259d('0x39')]+'%'};return _0x105fdc;}})});}_0x276ca5=_[_0x259d('0x3a')]({},_0x276ca5,_0x40e905[_0x259d('0x3c')]);var _0xa04045={'where':_0x276ca5['where']};return db['MailServerOut'][_0x259d('0x3d')](_0xa04045)[_0x259d('0x21')](function(_0x5d0a63){_0x2c766f[_0x259d('0x3d')]=_0x5d0a63;if(_0x40e905['query'][_0x259d('0x3e')]){_0x276ca5[_0x259d('0x3f')]=[{'all':!![]}];}return db['MailServerOut']['findAll'](_0x276ca5);})['then'](function(_0x67fe7b){_0x2c766f[_0x259d('0x40')]=_0x67fe7b;return _0x2c766f;})['then'](respondWithFilteredResult(_0x3a3170,_0x276ca5))[_0x259d('0x41')](handleError(_0x3a3170,null));};exports[_0x259d('0x42')]=function(_0xf75729,_0x1fd256){var _0x3fc596={'raw':!![],'where':{'id':_0xf75729[_0x259d('0x43')]['id']}},_0x168791={};_0x168791[_0x259d('0x2d')]=_[_0x259d('0x44')](db[_0x259d('0x28')][_0x259d('0x29')]);_0x168791['query']=_['keys'](_0xf75729['query']);_0x168791[_0x259d('0x2f')]=_['intersection'](_0x168791[_0x259d('0x2d')],_0x168791['query']);_0x3fc596[_0x259d('0x30')]=_[_0x259d('0x31')](_0x168791[_0x259d('0x2d')],qs[_0x259d('0x32')](_0xf75729[_0x259d('0x2e')][_0x259d('0x32')]));_0x3fc596[_0x259d('0x30')]=_0x3fc596[_0x259d('0x30')][_0x259d('0x33')]?_0x3fc596['attributes']:_0x168791[_0x259d('0x2d')];if(_0xf75729[_0x259d('0x2e')][_0x259d('0x3e')]){_0x3fc596[_0x259d('0x3f')]=[{'all':!![]}];}_0x3fc596=_[_0x259d('0x3a')]({},_0x3fc596,_0xf75729[_0x259d('0x3c')]);return db['MailServerOut']['find'](_0x3fc596)[_0x259d('0x21')](handleEntityNotFound(_0x1fd256,null))[_0x259d('0x21')](respondWithResult(_0x1fd256,null))['catch'](handleError(_0x1fd256,null));};exports['create']=function(_0xfba7a9,_0x17cf32){return db[_0x259d('0x28')][_0x259d('0x45')](_0xfba7a9[_0x259d('0x46')],{})[_0x259d('0x21')](respondWithResult(_0x17cf32,0xc9))[_0x259d('0x41')](handleError(_0x17cf32,null));};exports[_0x259d('0x20')]=function(_0xb5958c,_0x4dd4c0){if(_0xb5958c[_0x259d('0x46')]['id']){delete _0xb5958c[_0x259d('0x46')]['id'];}return db[_0x259d('0x28')][_0x259d('0x47')]({'where':{'id':_0xb5958c[_0x259d('0x43')]['id']}})[_0x259d('0x21')](handleEntityNotFound(_0x4dd4c0,null))[_0x259d('0x21')](saveUpdates(_0xb5958c[_0x259d('0x46')],null))[_0x259d('0x21')](respondWithResult(_0x4dd4c0,null))['catch'](handleError(_0x4dd4c0,null));};exports[_0x259d('0x22')]=function(_0x3b22e4,_0x5299ca){return db[_0x259d('0x28')]['find']({'where':{'id':_0x3b22e4[_0x259d('0x43')]['id']}})[_0x259d('0x21')](handleEntityNotFound(_0x5299ca,null))[_0x259d('0x21')](removeEntity(_0x5299ca,null))[_0x259d('0x41')](handleError(_0x5299ca,null));};