Built motion from commit 616d3211.|2.6.4
[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 _0xaada=['../../mysqldb','sendStatus','status','json','offset','limit','count','set','Content-Range','reject','save','update','then','destroy','end','name','send','index','map','MailServerOut','rawAttributes','fieldName','type','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','filter','options','findAll','rows','catch','show','params','include','find','create','body','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment'];(function(_0x42167f,_0x36c277){var _0x20f119=function(_0x1f79f3){while(--_0x1f79f3){_0x42167f['push'](_0x42167f['shift']());}};_0x20f119(++_0x36c277);}(_0xaada,0x151));var _0xaaad=function(_0x1cb9cc,_0x5f493f){_0x1cb9cc=_0x1cb9cc-0x0;var _0x3b1dda=_0xaada[_0x1cb9cc];return _0x3b1dda;};'use strict';var emlformat=require(_0xaaad('0x0'));var rimraf=require(_0xaaad('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xaaad('0x2'));var rp=require('request-promise');var moment=require(_0xaaad('0x3'));var BPromise=require(_0xaaad('0x4'));var Mustache=require(_0xaaad('0x5'));var util=require(_0xaaad('0x6'));var path=require(_0xaaad('0x7'));var sox=require(_0xaaad('0x8'));var csv=require(_0xaaad('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xaaad('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xaaad('0xb'));var deskjs=require(_0xaaad('0xc'));var toCsv=require(_0xaaad('0x9'));var querystring=require(_0xaaad('0xd'));var Papa=require(_0xaaad('0xe'));var Redis=require(_0xaaad('0xf'));var authService=require(_0xaaad('0x10'));var qs=require(_0xaaad('0x11'));var as=require(_0xaaad('0x12'));var hardwareService=require(_0xaaad('0x13'));var logger=require(_0xaaad('0x14'))('api');var utils=require(_0xaaad('0x15'));var config=require(_0xaaad('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xaaad('0x17'))['db'];function respondWithStatusCode(_0x345898,_0x1ffed8){_0x1ffed8=_0x1ffed8||0xcc;return function(_0x505ed6){if(_0x505ed6){return _0x345898[_0xaaad('0x18')](_0x1ffed8);}return _0x345898['status'](_0x1ffed8)['end']();};}function respondWithResult(_0x2c73f9,_0x11608b){_0x11608b=_0x11608b||0xc8;return function(_0x3bea53){if(_0x3bea53){return _0x2c73f9[_0xaaad('0x19')](_0x11608b)[_0xaaad('0x1a')](_0x3bea53);}};}function respondWithFilteredResult(_0x2d3fa8,_0x5e0db8){return function(_0x5c807d){if(_0x5c807d){var _0x557513=typeof _0x5e0db8[_0xaaad('0x1b')]==='undefined'&&typeof _0x5e0db8[_0xaaad('0x1c')]==='undefined';var _0xa4028c=_0x5c807d[_0xaaad('0x1d')];var _0x31b736=_0x557513?0x0:_0x5e0db8[_0xaaad('0x1b')];var _0x1d1610=_0x557513?_0x5c807d[_0xaaad('0x1d')]:_0x5e0db8[_0xaaad('0x1b')]+_0x5e0db8['limit'];var _0x4c83b1;if(_0x1d1610>=_0xa4028c){_0x1d1610=_0xa4028c;_0x4c83b1=0xc8;}else{_0x4c83b1=0xce;}_0x2d3fa8[_0xaaad('0x19')](_0x4c83b1);return _0x2d3fa8[_0xaaad('0x1e')](_0xaaad('0x1f'),_0x31b736+'-'+_0x1d1610+'/'+_0xa4028c)['json'](_0x5c807d);}return null;};}function patchUpdates(_0x5b4270){return function(_0x1431eb){try{jsonpatch['apply'](_0x1431eb,_0x5b4270,!![]);}catch(_0x33f226){return BPromise[_0xaaad('0x20')](_0x33f226);}return _0x1431eb[_0xaaad('0x21')]();};}function saveUpdates(_0x387d44,_0x478839){return function(_0x4db019){if(_0x4db019){return _0x4db019[_0xaaad('0x22')](_0x387d44)[_0xaaad('0x23')](function(_0x482a5c){return _0x482a5c;});}return null;};}function removeEntity(_0x484a41,_0x2cbb3a){return function(_0x3fd1a4){if(_0x3fd1a4){return _0x3fd1a4[_0xaaad('0x24')]()[_0xaaad('0x23')](function(){_0x484a41[_0xaaad('0x19')](0xcc)[_0xaaad('0x25')]();});}};}function handleEntityNotFound(_0x9ea6d,_0x5baf0e){return function(_0x5818ed){if(!_0x5818ed){_0x9ea6d[_0xaaad('0x18')](0x194);}return _0x5818ed;};}function handleError(_0x29960d,_0x5ecc43){_0x5ecc43=_0x5ecc43||0x1f4;return function(_0x11aa64){logger['error'](_0x11aa64['stack']);if(_0x11aa64[_0xaaad('0x26')]){delete _0x11aa64[_0xaaad('0x26')];}_0x29960d[_0xaaad('0x19')](_0x5ecc43)[_0xaaad('0x27')](_0x11aa64);};}exports[_0xaaad('0x28')]=function(_0x2eff2c,_0x581522){var _0x442ade={},_0x49f63c={},_0x342ec2={'count':0x0,'rows':[]};var _0x6ce112=_[_0xaaad('0x29')](db[_0xaaad('0x2a')][_0xaaad('0x2b')],function(_0x4583e0){return{'name':_0x4583e0[_0xaaad('0x2c')],'type':_0x4583e0[_0xaaad('0x2d')]['key']};});_0x49f63c['model']=_['map'](_0x6ce112,_0xaaad('0x26'));_0x49f63c[_0xaaad('0x2e')]=_[_0xaaad('0x2f')](_0x2eff2c[_0xaaad('0x2e')]);_0x49f63c[_0xaaad('0x30')]=_[_0xaaad('0x31')](_0x49f63c[_0xaaad('0x32')],_0x49f63c[_0xaaad('0x2e')]);_0x442ade['attributes']=_[_0xaaad('0x31')](_0x49f63c[_0xaaad('0x32')],qs[_0xaaad('0x33')](_0x2eff2c[_0xaaad('0x2e')][_0xaaad('0x33')]));_0x442ade['attributes']=_0x442ade[_0xaaad('0x34')][_0xaaad('0x35')]?_0x442ade[_0xaaad('0x34')]:_0x49f63c['model'];if(!_0x2eff2c[_0xaaad('0x2e')][_0xaaad('0x36')](_0xaaad('0x37'))){_0x442ade[_0xaaad('0x1c')]=qs['limit'](_0x2eff2c[_0xaaad('0x2e')][_0xaaad('0x1c')]);_0x442ade[_0xaaad('0x1b')]=qs[_0xaaad('0x1b')](_0x2eff2c[_0xaaad('0x2e')]['offset']);}_0x442ade[_0xaaad('0x38')]=qs[_0xaaad('0x39')](_0x2eff2c[_0xaaad('0x2e')]['sort']);_0x442ade[_0xaaad('0x3a')]=qs[_0xaaad('0x30')](_['pick'](_0x2eff2c[_0xaaad('0x2e')],_0x49f63c[_0xaaad('0x30')]),_0x6ce112);if(_0x2eff2c[_0xaaad('0x2e')]['filter']){_0x442ade[_0xaaad('0x3a')]=_[_0xaaad('0x3b')](_0x442ade['where'],{'$or':_[_0xaaad('0x29')](_0x6ce112,function(_0x1d285a){if(_0x1d285a[_0xaaad('0x2d')]!==_0xaaad('0x3c')){var _0x237206={};_0x237206[_0x1d285a['name']]={'$like':'%'+_0x2eff2c[_0xaaad('0x2e')][_0xaaad('0x3d')]+'%'};return _0x237206;}})});}_0x442ade=_['merge']({},_0x442ade,_0x2eff2c[_0xaaad('0x3e')]);var _0x5cb196={'where':_0x442ade[_0xaaad('0x3a')]};return db['MailServerOut']['count'](_0x5cb196)[_0xaaad('0x23')](function(_0x529456){_0x342ec2[_0xaaad('0x1d')]=_0x529456;if(_0x2eff2c[_0xaaad('0x2e')]['includeAll']){_0x442ade['include']=[{'all':!![]}];}return db['MailServerOut'][_0xaaad('0x3f')](_0x442ade);})[_0xaaad('0x23')](function(_0x333a2f){_0x342ec2[_0xaaad('0x40')]=_0x333a2f;return _0x342ec2;})[_0xaaad('0x23')](respondWithFilteredResult(_0x581522,_0x442ade))[_0xaaad('0x41')](handleError(_0x581522,null));};exports[_0xaaad('0x42')]=function(_0xf1f82b,_0x22fd8c){var _0x3438c6={'raw':!![],'where':{'id':_0xf1f82b[_0xaaad('0x43')]['id']}},_0x2cc7c1={};_0x2cc7c1[_0xaaad('0x32')]=_[_0xaaad('0x2f')](db['MailServerOut'][_0xaaad('0x2b')]);_0x2cc7c1[_0xaaad('0x2e')]=_[_0xaaad('0x2f')](_0xf1f82b['query']);_0x2cc7c1[_0xaaad('0x30')]=_[_0xaaad('0x31')](_0x2cc7c1[_0xaaad('0x32')],_0x2cc7c1[_0xaaad('0x2e')]);_0x3438c6['attributes']=_['intersection'](_0x2cc7c1['model'],qs[_0xaaad('0x33')](_0xf1f82b['query'][_0xaaad('0x33')]));_0x3438c6[_0xaaad('0x34')]=_0x3438c6[_0xaaad('0x34')][_0xaaad('0x35')]?_0x3438c6[_0xaaad('0x34')]:_0x2cc7c1[_0xaaad('0x32')];if(_0xf1f82b['query']['includeAll']){_0x3438c6[_0xaaad('0x44')]=[{'all':!![]}];}_0x3438c6=_[_0xaaad('0x3b')]({},_0x3438c6,_0xf1f82b[_0xaaad('0x3e')]);return db[_0xaaad('0x2a')][_0xaaad('0x45')](_0x3438c6)['then'](handleEntityNotFound(_0x22fd8c,null))[_0xaaad('0x23')](respondWithResult(_0x22fd8c,null))['catch'](handleError(_0x22fd8c,null));};exports[_0xaaad('0x46')]=function(_0xca4ee3,_0x256c2a){return db[_0xaaad('0x2a')][_0xaaad('0x46')](_0xca4ee3['body'],{})[_0xaaad('0x23')](respondWithResult(_0x256c2a,0xc9))[_0xaaad('0x41')](handleError(_0x256c2a,null));};exports[_0xaaad('0x22')]=function(_0x5a85b8,_0x4eb8b2){if(_0x5a85b8[_0xaaad('0x47')]['id']){delete _0x5a85b8[_0xaaad('0x47')]['id'];}return db[_0xaaad('0x2a')]['find']({'where':{'id':_0x5a85b8[_0xaaad('0x43')]['id']}})[_0xaaad('0x23')](handleEntityNotFound(_0x4eb8b2,null))[_0xaaad('0x23')](saveUpdates(_0x5a85b8[_0xaaad('0x47')],null))[_0xaaad('0x23')](respondWithResult(_0x4eb8b2,null))[_0xaaad('0x41')](handleError(_0x4eb8b2,null));};exports[_0xaaad('0x24')]=function(_0x4c4648,_0x439315){return db[_0xaaad('0x2a')][_0xaaad('0x45')]({'where':{'id':_0x4c4648[_0xaaad('0x43')]['id']}})['then'](handleEntityNotFound(_0x439315,null))['then'](removeEntity(_0x439315,null))[_0xaaad('0x41')](handleError(_0x439315,null));};