Built motion from commit ff78e754.|2.6.29
[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 _0x53ae=['ejs','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','apply','save','update','then','sendStatus','error','name','send','rawAttributes','fieldName','type','model','map','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','MailServerOut','includeAll','findAll','catch','show','params','fields','find','create','body','destroy','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv'];(function(_0x520db8,_0x4606b5){var _0x4e658b=function(_0x7453d0){while(--_0x7453d0){_0x520db8['push'](_0x520db8['shift']());}};_0x4e658b(++_0x4606b5);}(_0x53ae,0x1db));var _0xe53a=function(_0x35a953,_0x3d6108){_0x35a953=_0x35a953-0x0;var _0x30a579=_0x53ae[_0x35a953];return _0x30a579;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe53a('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe53a('0x1'));var rp=require(_0xe53a('0x2'));var moment=require(_0xe53a('0x3'));var BPromise=require(_0xe53a('0x4'));var Mustache=require(_0xe53a('0x5'));var util=require(_0xe53a('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xe53a('0x7'));var ejs=require(_0xe53a('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xe53a('0x9'));var crypto=require(_0xe53a('0xa'));var jsforce=require(_0xe53a('0xb'));var deskjs=require(_0xe53a('0xc'));var toCsv=require(_0xe53a('0x7'));var querystring=require(_0xe53a('0xd'));var Papa=require('papaparse');var Redis=require(_0xe53a('0xe'));var authService=require(_0xe53a('0xf'));var qs=require(_0xe53a('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xe53a('0x11'))(_0xe53a('0x12'));var utils=require(_0xe53a('0x13'));var config=require(_0xe53a('0x14'));var licenseUtil=require(_0xe53a('0x15'));var db=require(_0xe53a('0x16'))['db'];function respondWithStatusCode(_0x548b6d,_0x2256aa){_0x2256aa=_0x2256aa||0xcc;return function(_0x3c2f9d){if(_0x3c2f9d){return _0x548b6d['sendStatus'](_0x2256aa);}return _0x548b6d[_0xe53a('0x17')](_0x2256aa)[_0xe53a('0x18')]();};}function respondWithResult(_0x52f681,_0x2e8c67){_0x2e8c67=_0x2e8c67||0xc8;return function(_0x24faff){if(_0x24faff){return _0x52f681[_0xe53a('0x17')](_0x2e8c67)[_0xe53a('0x19')](_0x24faff);}};}function respondWithFilteredResult(_0x4db281,_0x3ebe43){return function(_0x1cd96e){if(_0x1cd96e){var _0x2e678a=typeof _0x3ebe43[_0xe53a('0x1a')]===_0xe53a('0x1b')&&typeof _0x3ebe43[_0xe53a('0x1c')]===_0xe53a('0x1b');var _0x593209=_0x1cd96e[_0xe53a('0x1d')];var _0x301743=_0x2e678a?0x0:_0x3ebe43['offset'];var _0x12640a=_0x2e678a?_0x1cd96e[_0xe53a('0x1d')]:_0x3ebe43[_0xe53a('0x1a')]+_0x3ebe43[_0xe53a('0x1c')];var _0x2c2b09;if(_0x12640a>=_0x593209){_0x12640a=_0x593209;_0x2c2b09=0xc8;}else{_0x2c2b09=0xce;}_0x4db281[_0xe53a('0x17')](_0x2c2b09);return _0x4db281['set']('Content-Range',_0x301743+'-'+_0x12640a+'/'+_0x593209)[_0xe53a('0x19')](_0x1cd96e);}return null;};}function patchUpdates(_0x39e427){return function(_0xa4f60a){try{jsonpatch[_0xe53a('0x1e')](_0xa4f60a,_0x39e427,!![]);}catch(_0x56f15d){return BPromise['reject'](_0x56f15d);}return _0xa4f60a[_0xe53a('0x1f')]();};}function saveUpdates(_0x265cba,_0x566e22){return function(_0x37fa98){if(_0x37fa98){return _0x37fa98[_0xe53a('0x20')](_0x265cba)[_0xe53a('0x21')](function(_0x274bce){return _0x274bce;});}return null;};}function removeEntity(_0x3fb37a,_0x1e271c){return function(_0x59b7c8){if(_0x59b7c8){return _0x59b7c8['destroy']()[_0xe53a('0x21')](function(){_0x3fb37a[_0xe53a('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2de9c3,_0x56afb2){return function(_0x36c146){if(!_0x36c146){_0x2de9c3[_0xe53a('0x22')](0x194);}return _0x36c146;};}function handleError(_0x4645dd,_0x4cfd6c){_0x4cfd6c=_0x4cfd6c||0x1f4;return function(_0x33fbca){logger[_0xe53a('0x23')](_0x33fbca['stack']);if(_0x33fbca[_0xe53a('0x24')]){delete _0x33fbca[_0xe53a('0x24')];}_0x4645dd[_0xe53a('0x17')](_0x4cfd6c)[_0xe53a('0x25')](_0x33fbca);};}exports['index']=function(_0x275039,_0x237383){var _0x2cae14={},_0x9f860c={},_0x22eba2={'count':0x0,'rows':[]};var _0x59707a=_['map'](db['MailServerOut'][_0xe53a('0x26')],function(_0x44c749){return{'name':_0x44c749[_0xe53a('0x27')],'type':_0x44c749[_0xe53a('0x28')]['key']};});_0x9f860c[_0xe53a('0x29')]=_[_0xe53a('0x2a')](_0x59707a,_0xe53a('0x24'));_0x9f860c[_0xe53a('0x2b')]=_[_0xe53a('0x2c')](_0x275039[_0xe53a('0x2b')]);_0x9f860c['filters']=_[_0xe53a('0x2d')](_0x9f860c[_0xe53a('0x29')],_0x9f860c[_0xe53a('0x2b')]);_0x2cae14['attributes']=_['intersection'](_0x9f860c['model'],qs['fields'](_0x275039[_0xe53a('0x2b')]['fields']));_0x2cae14[_0xe53a('0x2e')]=_0x2cae14['attributes'][_0xe53a('0x2f')]?_0x2cae14[_0xe53a('0x2e')]:_0x9f860c['model'];if(!_0x275039[_0xe53a('0x2b')][_0xe53a('0x30')](_0xe53a('0x31'))){_0x2cae14[_0xe53a('0x1c')]=qs[_0xe53a('0x1c')](_0x275039[_0xe53a('0x2b')]['limit']);_0x2cae14[_0xe53a('0x1a')]=qs['offset'](_0x275039[_0xe53a('0x2b')][_0xe53a('0x1a')]);}_0x2cae14[_0xe53a('0x32')]=qs[_0xe53a('0x33')](_0x275039['query'][_0xe53a('0x33')]);_0x2cae14[_0xe53a('0x34')]=qs[_0xe53a('0x35')](_[_0xe53a('0x36')](_0x275039['query'],_0x9f860c[_0xe53a('0x35')]),_0x59707a);if(_0x275039[_0xe53a('0x2b')][_0xe53a('0x37')]){_0x2cae14[_0xe53a('0x34')]=_[_0xe53a('0x38')](_0x2cae14[_0xe53a('0x34')],{'$or':_[_0xe53a('0x2a')](_0x59707a,function(_0x1f3adb){if(_0x1f3adb[_0xe53a('0x28')]!==_0xe53a('0x39')){var _0x3d9c37={};_0x3d9c37[_0x1f3adb[_0xe53a('0x24')]]={'$like':'%'+_0x275039[_0xe53a('0x2b')][_0xe53a('0x37')]+'%'};return _0x3d9c37;}})});}_0x2cae14=_[_0xe53a('0x38')]({},_0x2cae14,_0x275039['options']);var _0x23fb95={'where':_0x2cae14[_0xe53a('0x34')]};return db[_0xe53a('0x3a')][_0xe53a('0x1d')](_0x23fb95)[_0xe53a('0x21')](function(_0x47c5c2){_0x22eba2[_0xe53a('0x1d')]=_0x47c5c2;if(_0x275039[_0xe53a('0x2b')][_0xe53a('0x3b')]){_0x2cae14['include']=[{'all':!![]}];}return db[_0xe53a('0x3a')][_0xe53a('0x3c')](_0x2cae14);})[_0xe53a('0x21')](function(_0x5ae155){_0x22eba2['rows']=_0x5ae155;return _0x22eba2;})['then'](respondWithFilteredResult(_0x237383,_0x2cae14))[_0xe53a('0x3d')](handleError(_0x237383,null));};exports[_0xe53a('0x3e')]=function(_0x36686e,_0x19452c){var _0x5e35e9={'raw':!![],'where':{'id':_0x36686e[_0xe53a('0x3f')]['id']}},_0x3f53b1={};_0x3f53b1[_0xe53a('0x29')]=_[_0xe53a('0x2c')](db[_0xe53a('0x3a')][_0xe53a('0x26')]);_0x3f53b1[_0xe53a('0x2b')]=_[_0xe53a('0x2c')](_0x36686e[_0xe53a('0x2b')]);_0x3f53b1[_0xe53a('0x35')]=_[_0xe53a('0x2d')](_0x3f53b1[_0xe53a('0x29')],_0x3f53b1[_0xe53a('0x2b')]);_0x5e35e9['attributes']=_['intersection'](_0x3f53b1[_0xe53a('0x29')],qs['fields'](_0x36686e[_0xe53a('0x2b')][_0xe53a('0x40')]));_0x5e35e9[_0xe53a('0x2e')]=_0x5e35e9[_0xe53a('0x2e')][_0xe53a('0x2f')]?_0x5e35e9[_0xe53a('0x2e')]:_0x3f53b1['model'];if(_0x36686e[_0xe53a('0x2b')][_0xe53a('0x3b')]){_0x5e35e9['include']=[{'all':!![]}];}_0x5e35e9=_['merge']({},_0x5e35e9,_0x36686e['options']);return db['MailServerOut'][_0xe53a('0x41')](_0x5e35e9)[_0xe53a('0x21')](handleEntityNotFound(_0x19452c,null))[_0xe53a('0x21')](respondWithResult(_0x19452c,null))[_0xe53a('0x3d')](handleError(_0x19452c,null));};exports['create']=function(_0x1c93fa,_0x195e36){return db[_0xe53a('0x3a')][_0xe53a('0x42')](_0x1c93fa[_0xe53a('0x43')],{})[_0xe53a('0x21')](respondWithResult(_0x195e36,0xc9))['catch'](handleError(_0x195e36,null));};exports[_0xe53a('0x20')]=function(_0x5127a5,_0x485ffe){if(_0x5127a5['body']['id']){delete _0x5127a5[_0xe53a('0x43')]['id'];}return db[_0xe53a('0x3a')][_0xe53a('0x41')]({'where':{'id':_0x5127a5[_0xe53a('0x3f')]['id']}})[_0xe53a('0x21')](handleEntityNotFound(_0x485ffe,null))[_0xe53a('0x21')](saveUpdates(_0x5127a5['body'],null))[_0xe53a('0x21')](respondWithResult(_0x485ffe,null))[_0xe53a('0x3d')](handleError(_0x485ffe,null));};exports[_0xe53a('0x44')]=function(_0x1b26e1,_0x57067c){return db[_0xe53a('0x3a')][_0xe53a('0x41')]({'where':{'id':_0x1b26e1[_0xe53a('0x3f')]['id']}})[_0xe53a('0x21')](handleEntityNotFound(_0x57067c,null))[_0xe53a('0x21')](removeEntity(_0x57067c,null))[_0xe53a('0x3d')](handleError(_0x57067c,null));};