Built motion from commit a61a4a20.|2.5.46
[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 _0xd81f=['destroy','stack','name','send','MailServerOut','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','limit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','params','includeAll','find','create','body','zip-dir','request-promise','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','end','json','offset','undefined','count','status','set','Content-Range','apply','reject','update','then'];(function(_0x101a17,_0x5d047a){var _0x3b76ee=function(_0x89be1b){while(--_0x89be1b){_0x101a17['push'](_0x101a17['shift']());}};_0x3b76ee(++_0x5d047a);}(_0xd81f,0xbb));var _0xfd81=function(_0xe66cf2,_0x32ba5f){_0xe66cf2=_0xe66cf2-0x0;var _0x2d84e7=_0xd81f[_0xe66cf2];return _0x2d84e7;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xfd81('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfd81('0x1'));var moment=require('moment');var BPromise=require(_0xfd81('0x2'));var Mustache=require(_0xfd81('0x3'));var util=require(_0xfd81('0x4'));var path=require(_0xfd81('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xfd81('0x6'));var fs=require('fs');var fs_extra=require(_0xfd81('0x7'));var _=require(_0xfd81('0x8'));var squel=require(_0xfd81('0x9'));var crypto=require(_0xfd81('0xa'));var jsforce=require(_0xfd81('0xb'));var deskjs=require(_0xfd81('0xc'));var toCsv=require(_0xfd81('0xd'));var querystring=require(_0xfd81('0xe'));var Papa=require(_0xfd81('0xf'));var Redis=require(_0xfd81('0x10'));var authService=require(_0xfd81('0x11'));var qs=require(_0xfd81('0x12'));var as=require(_0xfd81('0x13'));var hardwareService=require(_0xfd81('0x14'));var logger=require(_0xfd81('0x15'))(_0xfd81('0x16'));var utils=require('../../config/utils');var config=require(_0xfd81('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xfd81('0x18'))['db'];function respondWithStatusCode(_0x46195a,_0x492026){_0x492026=_0x492026||0xcc;return function(_0x301b79){if(_0x301b79){return _0x46195a[_0xfd81('0x19')](_0x492026);}return _0x46195a['status'](_0x492026)[_0xfd81('0x1a')]();};}function respondWithResult(_0x5f5241,_0x306032){_0x306032=_0x306032||0xc8;return function(_0x1330ae){if(_0x1330ae){return _0x5f5241['status'](_0x306032)[_0xfd81('0x1b')](_0x1330ae);}};}function respondWithFilteredResult(_0x33ffcd,_0x291e14){return function(_0xa2b4fc){if(_0xa2b4fc){var _0x5e567e=typeof _0x291e14[_0xfd81('0x1c')]==='undefined'&&typeof _0x291e14['limit']===_0xfd81('0x1d');var _0x439c6c=_0xa2b4fc[_0xfd81('0x1e')];var _0x46fe7d=_0x5e567e?0x0:_0x291e14[_0xfd81('0x1c')];var _0xf6c44=_0x5e567e?_0xa2b4fc[_0xfd81('0x1e')]:_0x291e14[_0xfd81('0x1c')]+_0x291e14['limit'];var _0x463472;if(_0xf6c44>=_0x439c6c){_0xf6c44=_0x439c6c;_0x463472=0xc8;}else{_0x463472=0xce;}_0x33ffcd[_0xfd81('0x1f')](_0x463472);return _0x33ffcd[_0xfd81('0x20')](_0xfd81('0x21'),_0x46fe7d+'-'+_0xf6c44+'/'+_0x439c6c)[_0xfd81('0x1b')](_0xa2b4fc);}return null;};}function patchUpdates(_0x1c15d8){return function(_0x1c6150){try{jsonpatch[_0xfd81('0x22')](_0x1c6150,_0x1c15d8,!![]);}catch(_0x4ffd27){return BPromise[_0xfd81('0x23')](_0x4ffd27);}return _0x1c6150['save']();};}function saveUpdates(_0x252118,_0x2e1da6){return function(_0x41fe4a){if(_0x41fe4a){return _0x41fe4a[_0xfd81('0x24')](_0x252118)[_0xfd81('0x25')](function(_0x4efd8f){return _0x4efd8f;});}return null;};}function removeEntity(_0x6c3a28,_0x18db0b){return function(_0x2e3a72){if(_0x2e3a72){return _0x2e3a72[_0xfd81('0x26')]()[_0xfd81('0x25')](function(){_0x6c3a28['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2ffaee,_0x48540b){return function(_0x86bc57){if(!_0x86bc57){_0x2ffaee[_0xfd81('0x19')](0x194);}return _0x86bc57;};}function handleError(_0x182883,_0x985354){_0x985354=_0x985354||0x1f4;return function(_0x2e3c2b){logger['error'](_0x2e3c2b[_0xfd81('0x27')]);if(_0x2e3c2b['name']){delete _0x2e3c2b[_0xfd81('0x28')];}_0x182883[_0xfd81('0x1f')](_0x985354)[_0xfd81('0x29')](_0x2e3c2b);};}exports['index']=function(_0x587108,_0x3a4a42){var _0x5b9f6d={},_0x57078f={},_0x304557={'count':0x0,'rows':[]};var _0x4c5c36=_['map'](db[_0xfd81('0x2a')][_0xfd81('0x2b')],function(_0x5f3199){return{'name':_0x5f3199[_0xfd81('0x2c')],'type':_0x5f3199[_0xfd81('0x2d')][_0xfd81('0x2e')]};});_0x57078f[_0xfd81('0x2f')]=_[_0xfd81('0x30')](_0x4c5c36,_0xfd81('0x28'));_0x57078f[_0xfd81('0x31')]=_[_0xfd81('0x32')](_0x587108['query']);_0x57078f[_0xfd81('0x33')]=_[_0xfd81('0x34')](_0x57078f[_0xfd81('0x2f')],_0x57078f[_0xfd81('0x31')]);_0x5b9f6d[_0xfd81('0x35')]=_[_0xfd81('0x34')](_0x57078f[_0xfd81('0x2f')],qs[_0xfd81('0x36')](_0x587108[_0xfd81('0x31')][_0xfd81('0x36')]));_0x5b9f6d[_0xfd81('0x35')]=_0x5b9f6d[_0xfd81('0x35')][_0xfd81('0x37')]?_0x5b9f6d[_0xfd81('0x35')]:_0x57078f[_0xfd81('0x2f')];if(!_0x587108[_0xfd81('0x31')]['hasOwnProperty'](_0xfd81('0x38'))){_0x5b9f6d['limit']=qs['limit'](_0x587108[_0xfd81('0x31')][_0xfd81('0x39')]);_0x5b9f6d[_0xfd81('0x1c')]=qs[_0xfd81('0x1c')](_0x587108[_0xfd81('0x31')][_0xfd81('0x1c')]);}_0x5b9f6d[_0xfd81('0x3a')]=qs['sort'](_0x587108[_0xfd81('0x31')][_0xfd81('0x3b')]);_0x5b9f6d[_0xfd81('0x3c')]=qs[_0xfd81('0x33')](_[_0xfd81('0x3d')](_0x587108[_0xfd81('0x31')],_0x57078f[_0xfd81('0x33')]),_0x4c5c36);if(_0x587108['query']['filter']){_0x5b9f6d[_0xfd81('0x3c')]=_[_0xfd81('0x3e')](_0x5b9f6d[_0xfd81('0x3c')],{'$or':_[_0xfd81('0x30')](_0x4c5c36,function(_0x34c7fd){if(_0x34c7fd[_0xfd81('0x2d')]!==_0xfd81('0x3f')){var _0x2b3b8c={};_0x2b3b8c[_0x34c7fd[_0xfd81('0x28')]]={'$like':'%'+_0x587108[_0xfd81('0x31')][_0xfd81('0x40')]+'%'};return _0x2b3b8c;}})});}_0x5b9f6d=_[_0xfd81('0x3e')]({},_0x5b9f6d,_0x587108[_0xfd81('0x41')]);var _0x98c886={'where':_0x5b9f6d[_0xfd81('0x3c')]};return db[_0xfd81('0x2a')][_0xfd81('0x1e')](_0x98c886)['then'](function(_0x5bb346){_0x304557[_0xfd81('0x1e')]=_0x5bb346;if(_0x587108[_0xfd81('0x31')]['includeAll']){_0x5b9f6d[_0xfd81('0x42')]=[{'all':!![]}];}return db[_0xfd81('0x2a')][_0xfd81('0x43')](_0x5b9f6d);})[_0xfd81('0x25')](function(_0x1fd9f4){_0x304557[_0xfd81('0x44')]=_0x1fd9f4;return _0x304557;})[_0xfd81('0x25')](respondWithFilteredResult(_0x3a4a42,_0x5b9f6d))[_0xfd81('0x45')](handleError(_0x3a4a42,null));};exports['show']=function(_0x3146d5,_0xa946e3){var _0xc62ebf={'raw':!![],'where':{'id':_0x3146d5[_0xfd81('0x46')]['id']}},_0x3dcecf={};_0x3dcecf[_0xfd81('0x2f')]=_[_0xfd81('0x32')](db[_0xfd81('0x2a')][_0xfd81('0x2b')]);_0x3dcecf[_0xfd81('0x31')]=_[_0xfd81('0x32')](_0x3146d5[_0xfd81('0x31')]);_0x3dcecf[_0xfd81('0x33')]=_['intersection'](_0x3dcecf['model'],_0x3dcecf['query']);_0xc62ebf[_0xfd81('0x35')]=_[_0xfd81('0x34')](_0x3dcecf[_0xfd81('0x2f')],qs[_0xfd81('0x36')](_0x3146d5[_0xfd81('0x31')]['fields']));_0xc62ebf[_0xfd81('0x35')]=_0xc62ebf['attributes'][_0xfd81('0x37')]?_0xc62ebf[_0xfd81('0x35')]:_0x3dcecf[_0xfd81('0x2f')];if(_0x3146d5[_0xfd81('0x31')][_0xfd81('0x47')]){_0xc62ebf[_0xfd81('0x42')]=[{'all':!![]}];}_0xc62ebf=_[_0xfd81('0x3e')]({},_0xc62ebf,_0x3146d5[_0xfd81('0x41')]);return db[_0xfd81('0x2a')][_0xfd81('0x48')](_0xc62ebf)['then'](handleEntityNotFound(_0xa946e3,null))['then'](respondWithResult(_0xa946e3,null))[_0xfd81('0x45')](handleError(_0xa946e3,null));};exports['create']=function(_0x3f602b,_0x2cbc92){return db[_0xfd81('0x2a')][_0xfd81('0x49')](_0x3f602b[_0xfd81('0x4a')],{})['then'](respondWithResult(_0x2cbc92,0xc9))[_0xfd81('0x45')](handleError(_0x2cbc92,null));};exports[_0xfd81('0x24')]=function(_0x394b5c,_0x289892){if(_0x394b5c['body']['id']){delete _0x394b5c[_0xfd81('0x4a')]['id'];}return db[_0xfd81('0x2a')][_0xfd81('0x48')]({'where':{'id':_0x394b5c['params']['id']}})['then'](handleEntityNotFound(_0x289892,null))[_0xfd81('0x25')](saveUpdates(_0x394b5c[_0xfd81('0x4a')],null))[_0xfd81('0x25')](respondWithResult(_0x289892,null))[_0xfd81('0x45')](handleError(_0x289892,null));};exports[_0xfd81('0x26')]=function(_0x355e7e,_0x418fbe){return db[_0xfd81('0x2a')]['find']({'where':{'id':_0x355e7e[_0xfd81('0x46')]['id']}})[_0xfd81('0x25')](handleEntityNotFound(_0x418fbe,null))[_0xfd81('0x25')](removeEntity(_0x418fbe,null))['catch'](handleError(_0x418fbe,null));};