Built motion from commit (unavailable).|2.5.14
[motion2.git] / server / api / mailAccount / mailAccount.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 _0x1257=['basename','auth','secure','SendMail','sendMail','List\x20not\x20found','Contacts','messageId','subject','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','addAgents','spread','emit','removeAgents','userMailAccount:remove','getAgents','User','html-pdf','rimraf','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','http','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','error','code','message','info','sendStatus','status','end','offset','limit','set','json','apply','reject','save','MailAccounts','UserProfileResource','destroy','stack','name','index','MailServerIn','Imap','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','count','include','MailAccount','rows','catch','params','find','update','body','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','includeAll','findAll','removeDispositions','addAnswer','CannedAnswer','getAnswers','removeAnswers','ids','key','email','ListId','isNil','active','description','cauthentication','user','cuser','password','cpassword','authentication','host','port','service','pass','Unable\x20to\x20retrieve\x20the\x20current\x20user','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','findOne','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Owner','fullname','internal','Tag','Tags','tag','addApplications','sequelize','transaction','MailApplication','bulkCreate','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','split','YYYY-MM-DD\x20HH:mm:ss','send','List','updatedAt','from','format','%s\x20<%s>','attachments','join','root','server/files/attachments'];(function(_0x25e3c2,_0x2ba8fb){var _0x13ce09=function(_0x10f346){while(--_0x10f346){_0x25e3c2['push'](_0x25e3c2['shift']());}};_0x13ce09(++_0x2ba8fb);}(_0x1257,0xd6));var _0x7125=function(_0x432682,_0x253044){_0x432682=_0x432682-0x0;var _0x463d05=_0x1257[_0x432682];return _0x463d05;};'use strict';var pdf=require(_0x7125('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x7125('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7125('0x2'));var rp=require(_0x7125('0x3'));var moment=require(_0x7125('0x4'));var BPromise=require(_0x7125('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x7125('0x6'));var sox=require(_0x7125('0x7'));var csv=require(_0x7125('0x8'));var ejs=require(_0x7125('0x9'));var fs=require('fs');var _=require(_0x7125('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7125('0xb'));var deskjs=require(_0x7125('0xc'));var toCsv=require(_0x7125('0x8'));var querystring=require(_0x7125('0xd'));var Papa=require(_0x7125('0xe'));var Redis=require(_0x7125('0xf'));var authService=require(_0x7125('0x10'));var qs=require(_0x7125('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7125('0x12'));var logger=require(_0x7125('0x13'))('api');var utils=require(_0x7125('0x14'));var config=require(_0x7125('0x15'));var licenseUtil=require(_0x7125('0x16'));var db=require(_0x7125('0x17'))['db'];config[_0x7125('0x18')]=_[_0x7125('0x19')](config[_0x7125('0x18')],{'host':_0x7125('0x1a'),'port':0x18eb});var socket=require(_0x7125('0x1b'))(new Redis(config['redis']));require('./mailAccount.socket')[_0x7125('0x1c')](socket);var jayson=require(_0x7125('0x1d'));var client=jayson[_0x7125('0x1e')][_0x7125('0x1f')]({'port':0x232b});function respondWithRpcPromise(_0x54c354,_0x47a8e7,_0x4efbd8,_0x35a831){return new BPromise(function(_0x558b68,_0x415fbc){var _0x5159ac=_0x35a831||client;return _0x5159ac[_0x7125('0x20')](_0x54c354,_0x4efbd8)[_0x7125('0x21')](function(_0x2bc377){logger['info'](_0x7125('0x22'),_0x47a8e7,'request\x20sent');logger['debug']('MailAccount,\x20%s,\x20%s,\x20%s',_0x47a8e7,_0x7125('0x23'),JSON['stringify'](_0x2bc377));if(_0x2bc377[_0x7125('0x24')]){if(_0x2bc377[_0x7125('0x24')][_0x7125('0x25')]===0x1f4){logger['error']('MailAccount,\x20%s,\x20%s',_0x47a8e7,_0x2bc377[_0x7125('0x24')]['message']);return _0x415fbc(_0x2bc377['error'][_0x7125('0x26')]);}logger[_0x7125('0x24')](_0x7125('0x22'),_0x47a8e7,_0x2bc377['error'][_0x7125('0x26')]);return _0x558b68(_0x2bc377['error'][_0x7125('0x26')]);}else{logger[_0x7125('0x27')](_0x7125('0x22'),_0x47a8e7,'request\x20sent');_0x558b68(_0x2bc377['result']['message']);}})['catch'](function(_0x4e20ee){logger[_0x7125('0x24')](_0x7125('0x22'),_0x47a8e7,_0x4e20ee);_0x415fbc(_0x4e20ee);});});}function respondWithStatusCode(_0x45fe8c,_0x54680d){_0x54680d=_0x54680d||0xcc;return function(_0x48cefb){if(_0x48cefb){return _0x45fe8c[_0x7125('0x28')](_0x54680d);}return _0x45fe8c[_0x7125('0x29')](_0x54680d)[_0x7125('0x2a')]();};}function respondWithResult(_0xe8e74d,_0x5ebc73){_0x5ebc73=_0x5ebc73||0xc8;return function(_0x555212){if(_0x555212){return _0xe8e74d[_0x7125('0x29')](_0x5ebc73)['json'](_0x555212);}};}function respondWithFilteredResult(_0x240479,_0x535991){return function(_0x60bf6e){if(_0x60bf6e){var _0x53a373=_0x60bf6e['count'],_0x269325=_0x535991[_0x7125('0x2b')],_0x556d38=_0x535991[_0x7125('0x2b')]+_0x535991[_0x7125('0x2c')],_0x3dfa64;if(_0x556d38>=_0x53a373){_0x556d38=_0x53a373;_0x3dfa64=0xc8;}else{_0x3dfa64=0xce;}_0x240479[_0x7125('0x29')](_0x3dfa64);return _0x240479[_0x7125('0x2d')]('Content-Range',_0x269325+'-'+_0x556d38+'/'+_0x53a373)[_0x7125('0x2e')](_0x60bf6e);}return null;};}function patchUpdates(_0xda4ec9){return function(_0x5dac22){try{jsonpatch[_0x7125('0x2f')](_0x5dac22,_0xda4ec9,!![]);}catch(_0xb49bc6){return BPromise[_0x7125('0x30')](_0xb49bc6);}return _0x5dac22[_0x7125('0x31')]();};}function saveUpdates(_0x5508ac,_0x324340){return function(_0x119c32){if(_0x119c32){return _0x119c32['update'](_0x5508ac)[_0x7125('0x21')](function(_0x520d5c){return _0x520d5c;});}return null;};}function removeEntity(_0x18b086,_0x1b7fa2){return function(_0x459a8c){if(_0x459a8c){return _0x459a8c['destroy']()['then'](function(){var _0x17cf17=_0x459a8c['get']({'plain':!![]});var _0x124551=_0x7125('0x32');return db[_0x7125('0x33')][_0x7125('0x34')]({'where':{'type':_0x124551,'resourceId':_0x17cf17['id']}})[_0x7125('0x21')](function(){return _0x459a8c;});})[_0x7125('0x21')](function(){_0x18b086['status'](0xcc)[_0x7125('0x2a')]();});}};}function handleEntityNotFound(_0x5a6b51,_0x184de9){return function(_0x27ed9b){if(!_0x27ed9b){_0x5a6b51['sendStatus'](0x194);}return _0x27ed9b;};}function handleError(_0x4c94f8,_0x45cfd9){_0x45cfd9=_0x45cfd9||0x1f4;return function(_0x1f102f){logger[_0x7125('0x24')](_0x1f102f[_0x7125('0x35')]);if(_0x1f102f[_0x7125('0x36')]){delete _0x1f102f[_0x7125('0x36')];}_0x4c94f8[_0x7125('0x29')](_0x45cfd9)['send'](_0x1f102f);};}exports[_0x7125('0x37')]=function(_0xeac26,_0xa5a2f0){var _0x441ff7={'include':[{'model':db[_0x7125('0x38')],'as':_0x7125('0x39')},{'model':db[_0x7125('0x3a')],'as':_0x7125('0x3b')},{'model':db[_0x7125('0x3c')],'as':_0x7125('0x3d')}]},_0x328a0f={},_0x3daf3b={'count':0x0,'rows':[]};var _0x2c0812=_[_0x7125('0x3e')](db['MailAccount'][_0x7125('0x3f')],function(_0x4ac619){return{'name':_0x4ac619[_0x7125('0x40')],'type':_0x4ac619[_0x7125('0x41')]['key']};});_0x328a0f[_0x7125('0x42')]=_['map'](_0x2c0812,_0x7125('0x36'));_0x328a0f[_0x7125('0x43')]=_[_0x7125('0x44')](_0xeac26[_0x7125('0x43')]);_0x328a0f[_0x7125('0x45')]=_[_0x7125('0x46')](_0x328a0f[_0x7125('0x42')],_0x328a0f['query']);_0x441ff7[_0x7125('0x47')]=_[_0x7125('0x46')](_0x328a0f['model'],qs['fields'](_0xeac26[_0x7125('0x43')][_0x7125('0x48')]));_0x441ff7[_0x7125('0x47')]=_0x441ff7[_0x7125('0x47')][_0x7125('0x49')]?_0x441ff7['attributes']:_0x328a0f[_0x7125('0x42')];if(!_0xeac26[_0x7125('0x43')][_0x7125('0x4a')](_0x7125('0x4b'))){_0x441ff7['limit']=qs[_0x7125('0x2c')](_0xeac26[_0x7125('0x43')][_0x7125('0x2c')]);_0x441ff7[_0x7125('0x2b')]=qs['offset'](_0xeac26[_0x7125('0x43')][_0x7125('0x2b')]);}_0x441ff7[_0x7125('0x4c')]=qs[_0x7125('0x4d')](_0xeac26['query'][_0x7125('0x4d')]);_0x441ff7[_0x7125('0x4e')]=qs['filters'](_[_0x7125('0x4f')](_0xeac26['query'],_0x328a0f['filters']),_0x2c0812);if(_0xeac26[_0x7125('0x43')][_0x7125('0x50')]){_0x441ff7[_0x7125('0x4e')]=_[_0x7125('0x51')](_0x441ff7[_0x7125('0x4e')],{'$or':_[_0x7125('0x3e')](_0x2c0812,function(_0x3e53bc){if(_0x3e53bc[_0x7125('0x41')]!=='VIRTUAL'){var _0x2baad1={};_0x2baad1[_0x3e53bc['name']]={'$like':'%'+_0xeac26[_0x7125('0x43')][_0x7125('0x50')]+'%'};return _0x2baad1;}})});}_0x441ff7=_[_0x7125('0x51')]({},_0x441ff7,_0xeac26[_0x7125('0x52')]);var _0x5f887={'where':_0x441ff7[_0x7125('0x4e')]};return db['MailAccount'][_0x7125('0x53')](_0x5f887)[_0x7125('0x21')](function(_0x4b6632){_0x3daf3b[_0x7125('0x53')]=_0x4b6632;if(_0xeac26['query']['includeAll']){_0x441ff7[_0x7125('0x54')]=[{'all':!![]}];}return db[_0x7125('0x55')]['findAll'](_0x441ff7);})[_0x7125('0x21')](function(_0x2785f4){_0x3daf3b[_0x7125('0x56')]=_0x2785f4;return _0x3daf3b;})['then'](respondWithFilteredResult(_0xa5a2f0,_0x441ff7))[_0x7125('0x57')](handleError(_0xa5a2f0,null));};exports['show']=function(_0x5b2aa4,_0x42d8e4){var _0x54b940={'raw':![],'where':{'id':_0x5b2aa4[_0x7125('0x58')]['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0x7125('0x3a')],'as':_0x7125('0x3b')},{'model':db[_0x7125('0x3c')],'as':_0x7125('0x3d')}]},_0x551e68={};_0x551e68['model']=_['keys'](db[_0x7125('0x55')][_0x7125('0x3f')]);_0x551e68[_0x7125('0x43')]=_[_0x7125('0x44')](_0x5b2aa4[_0x7125('0x43')]);_0x551e68['filters']=_[_0x7125('0x46')](_0x551e68[_0x7125('0x42')],_0x551e68['query']);_0x54b940['attributes']=_[_0x7125('0x46')](_0x551e68[_0x7125('0x42')],qs[_0x7125('0x48')](_0x5b2aa4[_0x7125('0x43')][_0x7125('0x48')]));_0x54b940[_0x7125('0x47')]=_0x54b940[_0x7125('0x47')]['length']?_0x54b940['attributes']:_0x551e68[_0x7125('0x42')];if(_0x5b2aa4[_0x7125('0x43')]['includeAll']){_0x54b940[_0x7125('0x54')]=[{'all':!![]}];}_0x54b940=_[_0x7125('0x51')]({},_0x54b940,_0x5b2aa4['options']);return db['MailAccount'][_0x7125('0x59')](_0x54b940)[_0x7125('0x21')](handleEntityNotFound(_0x42d8e4,null))[_0x7125('0x21')](respondWithResult(_0x42d8e4,null))[_0x7125('0x57')](handleError(_0x42d8e4,null));};exports[_0x7125('0x5a')]=function(_0x3459b,_0x36bc78){if(_0x3459b[_0x7125('0x5b')]['id']){delete _0x3459b['body']['id'];}return db['MailAccount']['find']({'where':{'id':_0x3459b[_0x7125('0x58')]['id']},'include':[{'model':db[_0x7125('0x38')],'as':_0x7125('0x39')},{'model':db[_0x7125('0x3a')],'as':_0x7125('0x3b')},{'model':db[_0x7125('0x3c')],'as':'mandatoryDispositionPause'}]})[_0x7125('0x21')](handleEntityNotFound(_0x36bc78,null))[_0x7125('0x21')](saveUpdates(_0x3459b[_0x7125('0x5b')],null))[_0x7125('0x21')](function(_0x4e47cb){if(_0x4e47cb&&_0x3459b['body'][_0x7125('0x39')]){return db['MailServerIn']['update'](_0x3459b[_0x7125('0x5b')][_0x7125('0x39')],{'where':{'MailAccountId':_0x4e47cb['id']}})['then'](function(){return _0x4e47cb;});}return _0x4e47cb;})['then'](function(_0x6a20a9){if(_0x6a20a9&&_0x3459b[_0x7125('0x5b')]['Smtp']){return db[_0x7125('0x3a')][_0x7125('0x5a')](_0x3459b['body']['Smtp'],{'where':{'MailAccountId':_0x6a20a9['id']}})[_0x7125('0x21')](function(){return _0x6a20a9;});}return _0x6a20a9;})[_0x7125('0x21')](respondWithResult(_0x36bc78,null))['catch'](handleError(_0x36bc78,null));};exports['describe']=function(_0x3b22bb,_0x126ff5){return db[_0x7125('0x55')][_0x7125('0x5c')]()[_0x7125('0x21')](respondWithResult(_0x126ff5,null))[_0x7125('0x57')](handleError(_0x126ff5,null));};exports[_0x7125('0x5d')]=function(_0x326734,_0x32ae5b,_0x23edd7){if(_0x326734[_0x7125('0x5b')]['id']){delete _0x326734[_0x7125('0x5b')]['id'];}return db[_0x7125('0x55')][_0x7125('0x59')]({'where':{'id':_0x326734[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x32ae5b,null))['then'](function(_0x29016b){if(_0x29016b){_0x326734['body'][_0x7125('0x5e')]=_0x29016b['id'];return db[_0x7125('0x5f')][_0x7125('0x60')](_0x326734[_0x7125('0x5b')]);}})[_0x7125('0x21')](respondWithResult(_0x32ae5b,null))['catch'](handleError(_0x32ae5b,null));};exports[_0x7125('0x61')]=function(_0x2c9034,_0x5943f9,_0x3423c6){var _0x3b1b3d={'raw':![],'where':{}};var _0x17448c={};var _0x21527f={'count':0x0,'rows':[]};return db[_0x7125('0x55')]['findOne']({'where':{'id':_0x2c9034['params']['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x5943f9,null))[_0x7125('0x21')](function(_0x2a0069){if(_0x2a0069){_0x17448c['model']=_[_0x7125('0x44')](db['Disposition'][_0x7125('0x3f')]);_0x17448c['query']=_[_0x7125('0x44')](_0x2c9034[_0x7125('0x43')]);_0x17448c[_0x7125('0x45')]=_['intersection'](_0x17448c['model'],_0x17448c[_0x7125('0x43')]);_0x3b1b3d[_0x7125('0x47')]=_[_0x7125('0x46')](_0x17448c['model'],qs[_0x7125('0x48')](_0x2c9034[_0x7125('0x43')][_0x7125('0x48')]));_0x3b1b3d[_0x7125('0x47')]=_0x3b1b3d[_0x7125('0x47')]['length']?_0x3b1b3d[_0x7125('0x47')]:_0x17448c[_0x7125('0x42')];if(!_0x2c9034[_0x7125('0x43')][_0x7125('0x4a')](_0x7125('0x4b'))){_0x3b1b3d[_0x7125('0x2c')]=qs['limit'](_0x2c9034[_0x7125('0x43')][_0x7125('0x2c')]);_0x3b1b3d[_0x7125('0x2b')]=qs[_0x7125('0x2b')](_0x2c9034[_0x7125('0x43')][_0x7125('0x2b')]);}_0x3b1b3d[_0x7125('0x4c')]=qs[_0x7125('0x4d')](_0x2c9034[_0x7125('0x43')]['sort']);_0x3b1b3d[_0x7125('0x4e')]=qs[_0x7125('0x45')](_['pick'](_0x2c9034[_0x7125('0x43')],_0x17448c[_0x7125('0x45')]));_0x3b1b3d[_0x7125('0x4e')][_0x7125('0x5e')]=_0x2a0069['id'];if(_0x2c9034['query'][_0x7125('0x50')]){_0x3b1b3d['where']=_[_0x7125('0x51')](_0x3b1b3d[_0x7125('0x4e')],{'$or':_[_0x7125('0x3e')](_0x3b1b3d[_0x7125('0x47')],function(_0x395927){var _0x2085c2={};_0x2085c2[_0x395927]={'$like':'%'+_0x2c9034[_0x7125('0x43')]['filter']+'%'};return _0x2085c2;})});}_0x3b1b3d=_['merge']({},_0x3b1b3d,_0x2c9034[_0x7125('0x52')]);return db[_0x7125('0x5f')][_0x7125('0x53')]({'where':_0x3b1b3d['where']})[_0x7125('0x21')](function(_0xa722dd){_0x21527f[_0x7125('0x53')]=_0xa722dd;if(_0x2c9034['query'][_0x7125('0x62')]){_0x3b1b3d[_0x7125('0x54')]=[{'all':!![]}];}return db[_0x7125('0x5f')][_0x7125('0x63')](_0x3b1b3d);})['then'](function(_0x2afeb6){_0x21527f['rows']=_0x2afeb6;return _0x21527f;});}})[_0x7125('0x21')](respondWithFilteredResult(_0x5943f9,_0x3b1b3d))['catch'](handleError(_0x5943f9,null));};exports['removeDispositions']=function(_0x5f1bd8,_0x18c2c5,_0x40db7b){return db[_0x7125('0x55')]['find']({'where':{'id':_0x5f1bd8['params']['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x18c2c5,null))[_0x7125('0x21')](function(_0x351e47){if(_0x351e47){return _0x351e47[_0x7125('0x64')](_0x5f1bd8[_0x7125('0x43')]['ids']);}})[_0x7125('0x21')](respondWithStatusCode(_0x18c2c5,null))['catch'](handleError(_0x18c2c5,null));};exports[_0x7125('0x65')]=function(_0xf80597,_0x5568d9,_0x5415bc){if(_0xf80597[_0x7125('0x5b')]['id']){delete _0xf80597[_0x7125('0x5b')]['id'];}return db[_0x7125('0x55')][_0x7125('0x59')]({'where':{'id':_0xf80597['params']['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x5568d9,null))['then'](function(_0x46fbd2){if(_0x46fbd2){_0xf80597[_0x7125('0x5b')][_0x7125('0x5e')]=_0x46fbd2['id'];return db[_0x7125('0x66')][_0x7125('0x60')](_0xf80597[_0x7125('0x5b')]);}})['then'](respondWithResult(_0x5568d9,null))['catch'](handleError(_0x5568d9,null));};exports[_0x7125('0x67')]=function(_0x117e68,_0x194539,_0x47cc8f){var _0x352c27={'raw':![],'where':{}};var _0x348641={};var _0x396f22={'count':0x0,'rows':[]};return db[_0x7125('0x55')]['findOne']({'where':{'id':_0x117e68[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x194539,null))[_0x7125('0x21')](function(_0xe0d2b1){if(_0xe0d2b1){_0x348641[_0x7125('0x42')]=_[_0x7125('0x44')](db['CannedAnswer'][_0x7125('0x3f')]);_0x348641[_0x7125('0x43')]=_['keys'](_0x117e68[_0x7125('0x43')]);_0x348641[_0x7125('0x45')]=_[_0x7125('0x46')](_0x348641[_0x7125('0x42')],_0x348641[_0x7125('0x43')]);_0x352c27[_0x7125('0x47')]=_[_0x7125('0x46')](_0x348641[_0x7125('0x42')],qs[_0x7125('0x48')](_0x117e68[_0x7125('0x43')][_0x7125('0x48')]));_0x352c27[_0x7125('0x47')]=_0x352c27[_0x7125('0x47')]['length']?_0x352c27['attributes']:_0x348641[_0x7125('0x42')];if(!_0x117e68['query'][_0x7125('0x4a')]('nolimit')){_0x352c27[_0x7125('0x2c')]=qs[_0x7125('0x2c')](_0x117e68[_0x7125('0x43')][_0x7125('0x2c')]);_0x352c27[_0x7125('0x2b')]=qs[_0x7125('0x2b')](_0x117e68[_0x7125('0x43')]['offset']);}_0x352c27[_0x7125('0x4c')]=qs[_0x7125('0x4d')](_0x117e68[_0x7125('0x43')]['sort']);_0x352c27[_0x7125('0x4e')]=qs[_0x7125('0x45')](_['pick'](_0x117e68[_0x7125('0x43')],_0x348641[_0x7125('0x45')]));_0x352c27['where'][_0x7125('0x5e')]=_0xe0d2b1['id'];if(_0x117e68[_0x7125('0x43')][_0x7125('0x50')]){_0x352c27[_0x7125('0x4e')]=_['merge'](_0x352c27[_0x7125('0x4e')],{'$or':_[_0x7125('0x3e')](_0x352c27['attributes'],function(_0x59cf8f){var _0x1d93ec={};_0x1d93ec[_0x59cf8f]={'$like':'%'+_0x117e68['query']['filter']+'%'};return _0x1d93ec;})});}_0x352c27=_[_0x7125('0x51')]({},_0x352c27,_0x117e68[_0x7125('0x52')]);return db[_0x7125('0x66')][_0x7125('0x53')]({'where':_0x352c27[_0x7125('0x4e')]})['then'](function(_0x5d10f3){_0x396f22[_0x7125('0x53')]=_0x5d10f3;if(_0x117e68[_0x7125('0x43')][_0x7125('0x62')]){_0x352c27[_0x7125('0x54')]=[{'all':!![]}];}return db[_0x7125('0x66')][_0x7125('0x63')](_0x352c27);})[_0x7125('0x21')](function(_0x587488){_0x396f22[_0x7125('0x56')]=_0x587488;return _0x396f22;});}})[_0x7125('0x21')](respondWithFilteredResult(_0x194539,_0x352c27))[_0x7125('0x57')](handleError(_0x194539,null));};exports['removeAnswers']=function(_0x4ec445,_0x28b99f,_0x53bb74){return db[_0x7125('0x55')][_0x7125('0x59')]({'where':{'id':_0x4ec445[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x28b99f,null))['then'](function(_0xca7b9e){if(_0xca7b9e){return _0xca7b9e[_0x7125('0x68')](_0x4ec445[_0x7125('0x43')][_0x7125('0x69')]);}})[_0x7125('0x21')](respondWithStatusCode(_0x28b99f,null))['catch'](handleError(_0x28b99f,null));};exports[_0x7125('0x60')]=function(_0x118bfe,_0x1da5c7){var _0x20c380={'name':_0x118bfe[_0x7125('0x5b')][_0x7125('0x36')],'key':_0x118bfe[_0x7125('0x5b')][_0x7125('0x6a')],'email':_0x118bfe[_0x7125('0x5b')][_0x7125('0x6b')],'ListId':_0x118bfe[_0x7125('0x5b')][_0x7125('0x6c')],'active':!_[_0x7125('0x6d')](_0x118bfe['body'][_0x7125('0x6e')])?_0x118bfe['body'][_0x7125('0x6e')]:!![],'description':_0x118bfe['body'][_0x7125('0x6f')]||null,'Imap':{},'Smtp':{}};if(_[_0x7125('0x6d')](_0x118bfe['body']['cservice'])){if(_0x118bfe[_0x7125('0x5b')][_0x7125('0x70')]){_0x20c380[_0x7125('0x39')][_0x7125('0x71')]=_0x20c380[_0x7125('0x3b')][_0x7125('0x71')]=_0x118bfe[_0x7125('0x5b')][_0x7125('0x72')];_0x20c380[_0x7125('0x39')][_0x7125('0x73')]=_0x20c380['Smtp']['pass']=_0x118bfe['body'][_0x7125('0x74')];}else{_0x20c380[_0x7125('0x39')][_0x7125('0x75')]=_0x20c380['Smtp'][_0x7125('0x75')]=![];}_0x20c380[_0x7125('0x39')]['host']=_0x118bfe[_0x7125('0x5b')][_0x7125('0x39')][_0x7125('0x76')];_0x20c380[_0x7125('0x39')][_0x7125('0x77')]=_0x118bfe[_0x7125('0x5b')][_0x7125('0x39')][_0x7125('0x77')];_0x20c380[_0x7125('0x3b')][_0x7125('0x76')]=_0x118bfe[_0x7125('0x5b')][_0x7125('0x3b')][_0x7125('0x76')];_0x20c380['Smtp']['port']=_0x118bfe['body'][_0x7125('0x3b')]['port'];}else{_0x20c380[_0x7125('0x39')][_0x7125('0x78')]=_0x20c380[_0x7125('0x3b')][_0x7125('0x78')]=_0x118bfe[_0x7125('0x5b')]['cservice'];_0x20c380[_0x7125('0x39')][_0x7125('0x71')]=_0x20c380[_0x7125('0x3b')][_0x7125('0x71')]=_0x118bfe[_0x7125('0x5b')][_0x7125('0x72')];_0x20c380[_0x7125('0x39')][_0x7125('0x73')]=_0x20c380[_0x7125('0x3b')][_0x7125('0x79')]=_0x118bfe['body'][_0x7125('0x74')];}return db[_0x7125('0x55')][_0x7125('0x60')](_0x20c380,{'include':[{'model':db[_0x7125('0x3a')],'as':_0x7125('0x3b')},{'model':db[_0x7125('0x38')],'as':'Imap'}]})[_0x7125('0x21')](function(_0x163119){var _0x1f5c8d=_0x118bfe[_0x7125('0x71')]['get']({'plain':!![]});if(!_0x1f5c8d)throw new Error(_0x7125('0x7a'));if(_0x1f5c8d['role']===_0x7125('0x71')){var _0xd2334f=_0x163119['get']({'plain':!![]});return db['UserProfileSection'][_0x7125('0x59')]({'where':{'name':_0x7125('0x32'),'userProfileId':_0x1f5c8d['userProfileId']},'raw':!![]})['then'](function(_0x5d0aac){if(_0x5d0aac&&_0x5d0aac[_0x7125('0x7b')]===0x0){return db[_0x7125('0x33')]['create']({'name':_0xd2334f[_0x7125('0x36')],'resourceId':_0xd2334f['id'],'type':_0x5d0aac[_0x7125('0x36')],'sectionId':_0x5d0aac['id']},{})[_0x7125('0x21')](function(){return _0x163119;});}else{return _0x163119;}})['catch'](function(_0x22a9ce){logger[_0x7125('0x24')](_0x7125('0x7c'),_0x22a9ce);throw _0x22a9ce;});}return _0x163119;})['then'](respondWithResult(_0x1da5c7,0xc9))[_0x7125('0x57')](handleError(_0x1da5c7,null));};exports[_0x7125('0x7d')]=function(_0x402b51,_0x5d6faa,_0x4a61d6){return db[_0x7125('0x55')]['findOne']({'where':{'id':_0x402b51[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x5d6faa,null))['then'](function(_0x5f0b2d){if(_0x5f0b2d){return _0x5f0b2d[_0x7125('0x7d')]();}return null;})[_0x7125('0x21')](respondWithResult(_0x5d6faa,null))[_0x7125('0x57')](handleError(_0x5d6faa,null));};exports[_0x7125('0x7e')]=function(_0x9e946a,_0x327031,_0x1ec98d){if(_0x9e946a[_0x7125('0x5b')]['id']){delete _0x9e946a[_0x7125('0x5b')]['id'];}return db[_0x7125('0x55')]['find']({'where':{'id':_0x9e946a[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x327031,null))['then'](function(_0x22b898){if(_0x22b898){_0x9e946a[_0x7125('0x5b')]['MailAccountId']=_0x22b898['id'];return db[_0x7125('0x38')][_0x7125('0x60')](_0x9e946a[_0x7125('0x5b')]);}})[_0x7125('0x21')](respondWithResult(_0x327031,null))[_0x7125('0x57')](handleError(_0x327031,null));};exports[_0x7125('0x7f')]=function(_0x4d104b,_0x24ef7b,_0x1626d0){return db['MailAccount'][_0x7125('0x80')]({'where':{'id':_0x4d104b[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x24ef7b,null))['then'](function(_0x22c733){if(_0x22c733){return _0x22c733[_0x7125('0x81')](null);}return null;})[_0x7125('0x21')](respondWithStatusCode(_0x24ef7b,null))['catch'](handleError(_0x24ef7b,null));};exports[_0x7125('0x82')]=function(_0x46ac98,_0xa183e,_0x117458){return db[_0x7125('0x55')]['findOne']({'where':{'id':_0x46ac98[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0xa183e,null))[_0x7125('0x21')](function(_0x3c6821){if(_0x3c6821){return _0x3c6821[_0x7125('0x82')]();}return null;})[_0x7125('0x21')](respondWithResult(_0xa183e,null))[_0x7125('0x57')](handleError(_0xa183e,null));};exports[_0x7125('0x83')]=function(_0xfc7686,_0x2b423d,_0x348fa9){if(_0xfc7686[_0x7125('0x5b')]['id']){delete _0xfc7686[_0x7125('0x5b')]['id'];}return db[_0x7125('0x55')][_0x7125('0x59')]({'where':{'id':_0xfc7686[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x2b423d,null))['then'](function(_0x54e670){if(_0x54e670){_0xfc7686[_0x7125('0x5b')]['MailAccountId']=_0x54e670['id'];return db[_0x7125('0x3a')][_0x7125('0x60')](_0xfc7686['body']);}})[_0x7125('0x21')](respondWithResult(_0x2b423d,null))[_0x7125('0x57')](handleError(_0x2b423d,null));};exports[_0x7125('0x84')]=function(_0x3ac781,_0x450b6d,_0x33193e){return db[_0x7125('0x55')]['findOne']({'where':{'id':_0x3ac781['params']['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x450b6d,null))['then'](function(_0x572280){if(_0x572280){return _0x572280[_0x7125('0x85')](null);}return null;})[_0x7125('0x21')](respondWithStatusCode(_0x450b6d,null))[_0x7125('0x57')](handleError(_0x450b6d,null));};exports[_0x7125('0x86')]=function(_0x5e8fba,_0x55129c,_0x341cdb){return db[_0x7125('0x87')][_0x7125('0x59')]({'where':{'id':_0x5e8fba['params']['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x55129c,null))[_0x7125('0x21')](function(_0x3a1671){if(_0x3a1671){return _0x3a1671['addInteraction'](_0x5e8fba[_0x7125('0x5b')][_0x7125('0x69')],_[_0x7125('0x88')](_0x5e8fba[_0x7125('0x5b')],[_0x7125('0x69'),'id'])||{});}})[_0x7125('0x21')](respondWithResult(_0x55129c,null))['catch'](handleError(_0x55129c,null));};exports[_0x7125('0x89')]=function(_0x430a05,_0x509437,_0x589eb3){var _0x17ace1={'raw':![],'where':{}};var _0x15d2b3={};var _0x2f33b7={'count':0x0,'rows':[]};return db['MailAccount'][_0x7125('0x80')]({'where':{'id':_0x430a05[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x509437,null))[_0x7125('0x21')](function(_0x5039e0){if(_0x5039e0){_0x15d2b3[_0x7125('0x42')]=_[_0x7125('0x44')](db[_0x7125('0x87')]['rawAttributes']);_0x15d2b3[_0x7125('0x43')]=_[_0x7125('0x44')](_0x430a05['query']);_0x15d2b3[_0x7125('0x45')]=_[_0x7125('0x46')](_0x15d2b3[_0x7125('0x42')],_0x15d2b3['query']);_0x17ace1[_0x7125('0x47')]=_[_0x7125('0x46')](_0x15d2b3['model'],qs[_0x7125('0x48')](_0x430a05['query'][_0x7125('0x48')]));_0x17ace1['attributes']=_0x17ace1[_0x7125('0x47')]['length']?_0x17ace1[_0x7125('0x47')]:_0x15d2b3[_0x7125('0x42')];if(!_0x430a05[_0x7125('0x43')][_0x7125('0x4a')](_0x7125('0x4b'))){_0x17ace1[_0x7125('0x2c')]=qs['limit'](_0x430a05[_0x7125('0x43')]['limit']);_0x17ace1['offset']=qs[_0x7125('0x2b')](_0x430a05[_0x7125('0x43')][_0x7125('0x2b')]);}_0x17ace1[_0x7125('0x4c')]=qs['sort'](_0x430a05['query'][_0x7125('0x4d')]);_0x17ace1[_0x7125('0x4e')]=qs['filters'](_[_0x7125('0x4f')](_0x430a05['query'],_0x15d2b3[_0x7125('0x45')]));_0x17ace1['where'][_0x7125('0x5e')]=_0x5039e0['id'];if(_0x430a05[_0x7125('0x43')][_0x7125('0x50')]){_0x17ace1['where']=_[_0x7125('0x51')](_0x17ace1['where'],{'$or':_['map'](_0x17ace1[_0x7125('0x47')],function(_0x550020){var _0x3ec101={};_0x3ec101[_0x550020]={'$like':'%'+_0x430a05['query']['filter']+'%'};return _0x3ec101;})});}_0x17ace1=_[_0x7125('0x51')]({},_0x17ace1,_0x430a05['options']);return db['MailInteraction']['count']({'where':_0x17ace1[_0x7125('0x4e')]})[_0x7125('0x21')](function(_0x547f54){_0x2f33b7[_0x7125('0x53')]=_0x547f54;if(_0x430a05[_0x7125('0x43')][_0x7125('0x62')]){_0x17ace1[_0x7125('0x54')]=[{'model':db[_0x7125('0x8a')],'as':'Contact','required':![]},{'model':db['User'],'as':_0x7125('0x8b'),'attributes':[_0x7125('0x36'),_0x7125('0x8c'),_0x7125('0x8d')],'required':![]},{'model':db[_0x7125('0x8e')],'as':_0x7125('0x8f'),'attributes':['id','name','color'],'where':_0x430a05[_0x7125('0x43')]['tag']?{'id':_0x430a05[_0x7125('0x43')][_0x7125('0x90')]}:undefined,'required':_0x430a05['query'][_0x7125('0x90')]?!![]:![]}];}return db[_0x7125('0x87')]['findAll'](_0x17ace1);})[_0x7125('0x21')](function(_0x12b52e){_0x2f33b7['rows']=_0x12b52e;return _0x2f33b7;});}})[_0x7125('0x21')](respondWithFilteredResult(_0x509437,_0x17ace1))[_0x7125('0x57')](handleError(_0x509437,null));};exports[_0x7125('0x91')]=function(_0x5eb3a0,_0x50b432,_0x5ee197){return db[_0x7125('0x55')]['findOne']({'where':{'id':_0x5eb3a0['params']['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x50b432,null))['then'](function(_0x402350){if(_0x402350){return db[_0x7125('0x92')][_0x7125('0x93')](function(_0x4f48f5){return db[_0x7125('0x94')][_0x7125('0x34')]({'where':{'MailAccountId':_0x5eb3a0[_0x7125('0x58')]['id']},'transaction':_0x4f48f5})[_0x7125('0x21')](function(_0xe9da99){var _0xf2b5e4=_['map'](_0x5eb3a0['body'],function(_0x452fa7){_0x452fa7[_0x7125('0x5e')]=_0x5eb3a0[_0x7125('0x58')]['id'];return _0x452fa7;});return db[_0x7125('0x94')][_0x7125('0x95')](_0xf2b5e4,{'transaction':_0x4f48f5});});})[_0x7125('0x21')](function(){return db['MailApplication'][_0x7125('0x96')]({'where':{'MailAccountId':_0x5eb3a0[_0x7125('0x58')]['id']},'order':_0x7125('0x97')});});}})['then'](respondWithResult(_0x50b432,null))[_0x7125('0x57')](handleError(_0x50b432,null));};exports['getApplications']=function(_0x32a9d6,_0x4aeb79,_0x15a695){var _0x5e6b51={};var _0x5a2128={};var _0x2acdf3;var _0x878f02;return db[_0x7125('0x55')][_0x7125('0x80')]({'where':{'id':_0x32a9d6['params']['id']}})['then'](handleEntityNotFound(_0x4aeb79,null))[_0x7125('0x21')](function(_0x5e3dfd){if(_0x5e3dfd){_0x2acdf3=_0x5e3dfd;_0x5a2128['model']=_['keys'](db[_0x7125('0x94')][_0x7125('0x3f')]);_0x5a2128[_0x7125('0x43')]=_[_0x7125('0x44')](_0x32a9d6[_0x7125('0x43')]);_0x5a2128['filters']=_['intersection'](_0x5a2128[_0x7125('0x42')],_0x5a2128['query']);_0x5e6b51[_0x7125('0x47')]=_[_0x7125('0x46')](_0x5a2128[_0x7125('0x42')],qs[_0x7125('0x48')](_0x32a9d6[_0x7125('0x43')][_0x7125('0x48')]));_0x5e6b51[_0x7125('0x47')]=_0x5e6b51[_0x7125('0x47')][_0x7125('0x49')]?_0x5e6b51[_0x7125('0x47')]:_0x5a2128['model'];_0x5e6b51[_0x7125('0x4c')]=qs['sort'](_0x32a9d6[_0x7125('0x43')][_0x7125('0x4d')]);_0x5e6b51[_0x7125('0x4e')]=qs[_0x7125('0x45')](_[_0x7125('0x4f')](_0x32a9d6[_0x7125('0x43')],_0x5a2128[_0x7125('0x45')]));if(_0x32a9d6[_0x7125('0x43')][_0x7125('0x50')]){_0x5e6b51[_0x7125('0x4e')]=_['merge'](_0x5e6b51[_0x7125('0x4e')],{'$or':_[_0x7125('0x3e')](_0x5e6b51['attributes'],function(_0x5c6dd8){var _0x381729={};_0x381729[_0x5c6dd8]={'$like':'%'+_0x32a9d6[_0x7125('0x43')]['filter']+'%'};return _0x381729;})});}_0x5e6b51=_['merge']({},_0x5e6b51,_0x32a9d6['options']);return _0x2acdf3[_0x7125('0x98')](_0x5e6b51);}})[_0x7125('0x21')](function(_0x1d6274){if(_0x1d6274){_0x878f02=_0x1d6274[_0x7125('0x49')];if(!_0x32a9d6[_0x7125('0x43')][_0x7125('0x4a')]('nolimit')){_0x5e6b51[_0x7125('0x2c')]=qs['limit'](_0x32a9d6[_0x7125('0x43')][_0x7125('0x2c')]);_0x5e6b51[_0x7125('0x2b')]=qs[_0x7125('0x2b')](_0x32a9d6[_0x7125('0x43')][_0x7125('0x2b')]);}return _0x2acdf3['getApplications'](_0x5e6b51);}})[_0x7125('0x21')](function(_0x20409e){if(_0x20409e){return _0x20409e?{'count':_0x878f02,'rows':_0x20409e}:null;}})['then'](respondWithResult(_0x4aeb79,null))[_0x7125('0x57')](handleError(_0x4aeb79,null));};exports[_0x7125('0x99')]=function(_0x25f7de,_0x16dff4,_0x1e2173){var _0x30d82e={'raw':!![],'where':{}};var _0x5650ad={};var _0x428111={'count':0x0,'rows':[]};return db['MailAccount'][_0x7125('0x80')]({'where':{'id':_0x25f7de[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x16dff4,null))[_0x7125('0x21')](function(_0xa957e8){if(_0xa957e8){_0x5650ad[_0x7125('0x42')]=_[_0x7125('0x44')](db[_0x7125('0x9a')][_0x7125('0x3f')]);_0x5650ad[_0x7125('0x43')]=_['keys'](_0x25f7de['query']);_0x5650ad[_0x7125('0x45')]=_['intersection'](_0x5650ad[_0x7125('0x42')],_0x5650ad['query']);_0x30d82e[_0x7125('0x47')]=_[_0x7125('0x46')](_0x5650ad['model'],qs[_0x7125('0x48')](_0x25f7de[_0x7125('0x43')][_0x7125('0x48')]));_0x30d82e[_0x7125('0x47')]=_0x30d82e[_0x7125('0x47')][_0x7125('0x49')]?_0x30d82e[_0x7125('0x47')]:_0x5650ad[_0x7125('0x42')];if(!_0x25f7de[_0x7125('0x43')][_0x7125('0x4a')](_0x7125('0x4b'))){_0x30d82e[_0x7125('0x2c')]=qs[_0x7125('0x2c')](_0x25f7de[_0x7125('0x43')][_0x7125('0x2c')]);_0x30d82e[_0x7125('0x2b')]=qs[_0x7125('0x2b')](_0x25f7de['query'][_0x7125('0x2b')]);}_0x30d82e[_0x7125('0x4c')]=qs['sort'](_0x25f7de[_0x7125('0x43')]['sort']);_0x30d82e['where']=qs[_0x7125('0x45')](_['pick'](_0x25f7de[_0x7125('0x43')],_0x5650ad[_0x7125('0x45')]));_0x30d82e[_0x7125('0x4e')][_0x7125('0x5e')]=_0xa957e8['id'];if(_0x25f7de[_0x7125('0x43')][_0x7125('0x50')]){_0x30d82e[_0x7125('0x4e')]=_[_0x7125('0x51')](_0x30d82e[_0x7125('0x4e')],{'$or':_[_0x7125('0x3e')](_0x30d82e['attributes'],function(_0xd939cd){var _0x265eb3={};_0x265eb3[_0xd939cd]={'$like':'%'+_0x25f7de[_0x7125('0x43')]['filter']+'%'};return _0x265eb3;})});}if(_0x25f7de[_0x7125('0x43')][_0x7125('0x9b')]){var _0x24fa63=_0x25f7de[_0x7125('0x43')][_0x7125('0x9b')][_0x7125('0x9c')](',');var _0x2d9438={};_0x2d9438[_0x24fa63[0x0]]={'$gte':moment(_0x24fa63[0x1])['format'](_0x7125('0x9d'))};_0x30d82e[_0x7125('0x4e')]=_[_0x7125('0x51')](_0x30d82e[_0x7125('0x4e')],_0x2d9438);}_0x30d82e=_[_0x7125('0x51')]({},_0x30d82e,_0x25f7de['options']);return db[_0x7125('0x9a')][_0x7125('0x53')]({'where':_0x30d82e[_0x7125('0x4e')]})[_0x7125('0x21')](function(_0x16a31e){_0x428111[_0x7125('0x53')]=_0x16a31e;if(_0x25f7de[_0x7125('0x43')][_0x7125('0x62')]){_0x30d82e['include']=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x30d82e);})[_0x7125('0x21')](function(_0x46d921){_0x428111[_0x7125('0x56')]=_0x46d921;return _0x428111;});}})[_0x7125('0x21')](respondWithFilteredResult(_0x16dff4,_0x30d82e))[_0x7125('0x57')](handleError(_0x16dff4,null));};exports[_0x7125('0x9e')]=function(_0x4ab6f0,_0x2f5f9e,_0x5663cf){var _0x3504c1,_0x339d66={},_0x59ce45;if(_0x4ab6f0['body']['to']){_0x59ce45=_0x4ab6f0[_0x7125('0x5b')]['to'][_0x7125('0x9c')](',')[0x0];}return db[_0x7125('0x55')][_0x7125('0x59')]({'where':{'id':_0x4ab6f0[_0x7125('0x58')]['id']},'include':[{'model':db['CmList'],'as':_0x7125('0x9f'),'include':[{'model':db[_0x7125('0x8a')],'as':'Contacts','where':{'email':_0x59ce45},'limit':0x1,'order':[[_0x7125('0xa0'),'DESC']]}]},{'model':db[_0x7125('0x3a')],'as':'Smtp','raw':!![]}]})[_0x7125('0x21')](handleEntityNotFound(_0x2f5f9e,null))[_0x7125('0x21')](function(_0x301d51){if(_0x301d51){_0x3504c1=_0x301d51;if(_0x301d51[_0x7125('0x3b')]){if(_['isNil'](_0x4ab6f0[_0x7125('0x5b')][_0x7125('0xa1')])){_0x4ab6f0[_0x7125('0x5b')]['from']=util[_0x7125('0xa2')](_0x7125('0xa3'),_0x301d51['name'],_0x301d51[_0x7125('0x6b')]||_0x301d51[_0x7125('0x3b')][_0x7125('0x71')]);}if(_0x4ab6f0[_0x7125('0x5b')][_0x7125('0xa4')]&&_0x4ab6f0[_0x7125('0x5b')][_0x7125('0xa4')]['length']){for(var _0x495c2a=0x0;_0x495c2a<_0x4ab6f0[_0x7125('0x5b')][_0x7125('0xa4')][_0x7125('0x49')];_0x495c2a+=0x1){_0x4ab6f0[_0x7125('0x5b')][_0x7125('0xa4')][_0x495c2a]={'filename':_0x4ab6f0['body'][_0x7125('0xa4')][_0x495c2a][_0x7125('0x36')],'path':path[_0x7125('0xa5')](config[_0x7125('0xa6')],_0x7125('0xa7'),_0x4ab6f0[_0x7125('0x5b')][_0x7125('0xa4')][_0x495c2a][_0x7125('0xa8')])};}}var _0x528a4c={'tls':{'rejectUnauthorized':![]}};if(_[_0x7125('0x6d')](_0x301d51[_0x7125('0x3b')][_0x7125('0x78')])){if(_0x301d51['Smtp'][_0x7125('0x75')]){_0x528a4c[_0x7125('0xa9')]={'user':_0x301d51[_0x7125('0x3b')]['user'],'pass':_0x301d51['Smtp'][_0x7125('0x79')]};}_0x528a4c[_0x7125('0x76')]=_0x301d51['Smtp'][_0x7125('0x76')];_0x528a4c[_0x7125('0x77')]=_0x301d51[_0x7125('0x3b')][_0x7125('0x77')];_0x528a4c[_0x7125('0xaa')]=_0x301d51['Smtp'][_0x7125('0xaa')];}else{_0x528a4c[_0x7125('0x78')]=_0x301d51[_0x7125('0x3b')][_0x7125('0x78')];_0x528a4c['auth']={'user':_0x301d51['Smtp']['user'],'pass':_0x301d51[_0x7125('0x3b')]['pass']};}return respondWithRpcPromise(_0x7125('0xab'),_0x7125('0xac'),{'account':_0x528a4c,'message':_0x4ab6f0[_0x7125('0x5b')]});}else{throw new Error(_0x7125('0xad'));}}})[_0x7125('0x21')](function(_0x598f6f){if(_0x598f6f){_0x339d66=_0x598f6f;if(_0x3504c1[_0x7125('0x9f')]){if(_0x3504c1[_0x7125('0x9f')][_0x7125('0xae')]['length']){return _0x3504c1[_0x7125('0x9f')][_0x7125('0xae')][0x0];}else{return db['CmContact']['create'](_[_0x7125('0x19')](_0x4ab6f0[_0x7125('0x5b')],{'firstName':_0x4ab6f0[_0x7125('0x5b')]['to'],'email':_0x4ab6f0[_0x7125('0x5b')]['to'],'phone':_0x4ab6f0[_0x7125('0x5b')]['to'],'ListId':_0x3504c1[_0x7125('0x6c')]}));}}else{throw new Error('List\x20not\x20found');}}})[_0x7125('0x21')](function(_0x2d440d){if(_0x2d440d){var _0x281c0f={'UserId':_0x4ab6f0[_0x7125('0x71')]['id'],'ContactId':_0x2d440d['id'],'MailAccountId':_0x3504c1['id'],'inReplyTo':_0x339d66[_0x7125('0xaf')],'to':_0x4ab6f0['body'][_0x7125('0xa1')],'cc':_0x4ab6f0[_0x7125('0x5b')]['cc'],'subject':_0x4ab6f0[_0x7125('0x5b')][_0x7125('0xb0')],'attach':_0x4ab6f0['body'][_0x7125('0xb1')],'firstMsgDirection':_0x7125('0xb2'),'lastMsgAt':moment()[_0x7125('0xa2')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0x7125('0xb2'),'lastMsgBody':_0x4ab6f0[_0x7125('0x5b')][_0x7125('0x5b')],'Messages':[_['merge'](_0x4ab6f0[_0x7125('0x5b')],{'messageId':_0x339d66[_0x7125('0xaf')],'sentAt':moment()[_0x7125('0xa2')](_0x7125('0x9d')),'read':!![],'MailAccountId':_0x3504c1['id'],'UserId':_0x4ab6f0['user']['id'],'ContactId':_0x2d440d['id']})]};if(_0x4ab6f0[_0x7125('0x5b')][_0x7125('0xb3')]){_0x281c0f=_[_0x7125('0x51')](_0x281c0f,_0x4ab6f0[_0x7125('0x5b')][_0x7125('0xb3')]);}return db['MailInteraction'][_0x7125('0x60')](_0x281c0f,{'include':[{'model':db[_0x7125('0x9a')],'as':_0x7125('0xb4')}]});}})[_0x7125('0x21')](respondWithResult(_0x2f5f9e,null))['catch'](handleError(_0x2f5f9e,null));};exports[_0x7125('0xb5')]=function(_0x3108c7,_0x7dd4c7,_0x6951ed){return db['MailAccount']['find']({'where':{'id':_0x3108c7[_0x7125('0x58')]['id']},'include':[{'model':db[_0x7125('0x3a')],'as':'Smtp','raw':!![]}]})[_0x7125('0x21')](handleEntityNotFound(_0x7dd4c7,null))[_0x7125('0x21')](function(_0x36016e){if(_0x36016e&&_0x36016e[_0x7125('0x3b')]){var _0x240f27={'id':_0x36016e['id'],'tls':{'rejectUnauthorized':![]}};if(_0x36016e[_0x7125('0x3b')]['service']){_0x240f27[_0x7125('0x78')]=_0x36016e[_0x7125('0x3b')][_0x7125('0x78')];}else{_0x240f27['host']=_0x36016e[_0x7125('0x3b')][_0x7125('0x76')];_0x240f27['port']=_0x36016e[_0x7125('0x3b')][_0x7125('0x77')];_0x240f27['secure']=_0x36016e['Smtp'][_0x7125('0xaa')];}if(_0x36016e[_0x7125('0x3b')][_0x7125('0x75')]){_0x240f27[_0x7125('0xa9')]={'user':_0x36016e['Smtp'][_0x7125('0x71')],'pass':_0x36016e[_0x7125('0x3b')][_0x7125('0x79')]};}return respondWithRpcPromise(_0x7125('0xb6'),_0x7125('0xb5'),{'account':_0x240f27});}})['then'](respondWithResult(_0x7dd4c7,null))[_0x7125('0x57')](handleError(_0x7dd4c7,null));};exports[_0x7125('0x34')]=function(_0x3e79d8,_0x458e43){return db['MailAccount'][_0x7125('0x59')]({'where':{'id':_0x3e79d8[_0x7125('0x58')]['id']}})['then'](handleEntityNotFound(_0x458e43,null))[_0x7125('0x21')](function(_0x1564e6){if(_0x1564e6&&_0x1564e6[_0x7125('0x78')]){throw new db[(_0x7125('0xb7'))]['ValidationError']('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x1564e6;})['then'](removeEntity(_0x458e43,null))['catch'](handleError(_0x458e43,null));};exports[_0x7125('0xb8')]=function(_0x424e07,_0x2ffb72,_0x4e12ce){return db[_0x7125('0x55')][_0x7125('0x59')]({'where':{'id':_0x424e07['params']['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x2ffb72,null))[_0x7125('0x21')](function(_0x53163e){if(_0x53163e){return _0x53163e[_0x7125('0xb8')](_0x424e07[_0x7125('0x5b')][_0x7125('0x69')],_[_0x7125('0x88')](_0x424e07[_0x7125('0x5b')],['ids','id'])||{})[_0x7125('0xb9')](function(_0x4ec162){for(var _0x401b04=0x0;_0x401b04<_0x424e07['body'][_0x7125('0x69')][_0x7125('0x49')];_0x401b04+=0x1){socket[_0x7125('0xba')]('userMailAccount:save',{'UserId':_0x424e07[_0x7125('0x5b')][_0x7125('0x69')][_0x401b04],'MailAccountId':_0x424e07[_0x7125('0x58')]['id']});}return _0x4ec162;});}})[_0x7125('0x21')](respondWithResult(_0x2ffb72,null))[_0x7125('0x57')](handleError(_0x2ffb72,null));};exports[_0x7125('0xbb')]=function(_0xffb3e9,_0x50d746,_0x309ed9){return db[_0x7125('0x55')]['find']({'where':{'id':_0xffb3e9[_0x7125('0x58')]['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x50d746,null))[_0x7125('0x21')](function(_0x2347a3){if(_0x2347a3){return _0x2347a3[_0x7125('0xbb')](_0xffb3e9[_0x7125('0x43')][_0x7125('0x69')])[_0x7125('0x21')](function(){if(_['isArray'](_0xffb3e9['query'][_0x7125('0x69')])){for(var _0x222174=0x0;_0x222174<_0xffb3e9['query']['ids']['length'];_0x222174+=0x1){socket[_0x7125('0xba')](_0x7125('0xbc'),{'UserId':Number(_0xffb3e9[_0x7125('0x43')][_0x7125('0x69')][_0x222174]),'MailAccountId':Number(_0xffb3e9[_0x7125('0x58')]['id'])});}}else{socket[_0x7125('0xba')]('userMailAccount:remove',{'UserId':Number(_0xffb3e9[_0x7125('0x43')][_0x7125('0x69')]),'MailAccountId':Number(_0xffb3e9[_0x7125('0x58')]['id'])});}});}})[_0x7125('0x21')](respondWithStatusCode(_0x50d746,null))['catch'](handleError(_0x50d746,null));};exports[_0x7125('0xbd')]=function(_0xe8c9db,_0x3c7fc4,_0x35b7e2){var _0x3b81c3={};var _0x14ed09={};var _0x4f298a;var _0x198cc1;return db[_0x7125('0x55')][_0x7125('0x80')]({'where':{'id':_0xe8c9db['params']['id']}})[_0x7125('0x21')](handleEntityNotFound(_0x3c7fc4,null))[_0x7125('0x21')](function(_0x3c761a){if(_0x3c761a){_0x4f298a=_0x3c761a;_0x14ed09[_0x7125('0x42')]=_[_0x7125('0x44')](db[_0x7125('0xbe')][_0x7125('0x3f')]);_0x14ed09[_0x7125('0x43')]=_[_0x7125('0x44')](_0xe8c9db[_0x7125('0x43')]);_0x14ed09[_0x7125('0x45')]=_[_0x7125('0x46')](_0x14ed09[_0x7125('0x42')],_0x14ed09[_0x7125('0x43')]);_0x3b81c3['attributes']=_['intersection'](_0x14ed09[_0x7125('0x42')],qs['fields'](_0xe8c9db[_0x7125('0x43')]['fields']));_0x3b81c3[_0x7125('0x47')]=_0x3b81c3[_0x7125('0x47')][_0x7125('0x49')]?_0x3b81c3['attributes']:_0x14ed09['model'];_0x3b81c3[_0x7125('0x4c')]=qs['sort'](_0xe8c9db['query'][_0x7125('0x4d')]);_0x3b81c3[_0x7125('0x4e')]=qs['filters'](_['pick'](_0xe8c9db['query'],_0x14ed09[_0x7125('0x45')]));if(_0xe8c9db[_0x7125('0x43')]['filter']){_0x3b81c3[_0x7125('0x4e')]=_[_0x7125('0x51')](_0x3b81c3['where'],{'$or':_['map'](_0x3b81c3[_0x7125('0x47')],function(_0x12e5cd){var _0x57a196={};_0x57a196[_0x12e5cd]={'$like':'%'+_0xe8c9db[_0x7125('0x43')][_0x7125('0x50')]+'%'};return _0x57a196;})});}_0x3b81c3=_[_0x7125('0x51')]({},_0x3b81c3,_0xe8c9db[_0x7125('0x52')]);return _0x4f298a[_0x7125('0xbd')](_0x3b81c3);}})[_0x7125('0x21')](function(_0xeda504){if(_0xeda504){_0x198cc1=_0xeda504[_0x7125('0x49')];if(!_0xe8c9db[_0x7125('0x43')]['hasOwnProperty'](_0x7125('0x4b'))){_0x3b81c3[_0x7125('0x2c')]=qs['limit'](_0xe8c9db[_0x7125('0x43')][_0x7125('0x2c')]);_0x3b81c3[_0x7125('0x2b')]=qs['offset'](_0xe8c9db[_0x7125('0x43')]['offset']);}return _0x4f298a[_0x7125('0xbd')](_0x3b81c3);}})[_0x7125('0x21')](function(_0x3ee45d){if(_0x3ee45d){return _0x3ee45d?{'count':_0x198cc1,'rows':_0x3ee45d}:null;}})[_0x7125('0x21')](respondWithResult(_0x3c7fc4,null))['catch'](handleError(_0x3c7fc4,null));};