Built motion from commit (unavailable).|2.4.17
[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 _0x963b=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','http','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','info','request\x20sent','debug','stringify','error','code','MailAccount,\x20%s,\x20%s','message','result','catch','sendStatus','end','status','count','offset','limit','set','Content-Range','json','reject','save','update','then','destroy','get','MailAccounts','UserProfileResource','stack','name','send','MailServerIn','Smtp','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','rows','params','Imap','body','find','MailServerOut','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','pick','findAll','removeDispositions','ids','CannedAnswer','removeAnswers','key','email','ListId','active','cauthentication','user','password','pass','cpassword','authentication','host','port','service','cservice','cuser','role','UserProfileSection','userProfileId','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','MailInteraction','omit','getInteractions','fullname','Tag','Tags','color','tag','addApplications','sequelize','MailApplication','findAndCountAll','priority','getApplications','MailMessage','$gte','split','format','CmList','List','CmContact','DESC','isNil','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','auth','secure','SendMail','List\x20not\x20found','Contacts','messageId','out','YYYY-MM-DD\x20HH:mm:ss','Interaction','Messages','verifySmtp','VerifySmtp','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','User','html-pdf','eml-format','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring'];(function(_0x2a61d7,_0x17643d){var _0x188aad=function(_0x1bbbeb){while(--_0x1bbbeb){_0x2a61d7['push'](_0x2a61d7['shift']());}};_0x188aad(++_0x17643d);}(_0x963b,0xae));var _0xb963=function(_0x3a9661,_0x530b12){_0x3a9661=_0x3a9661-0x0;var _0x5bb119=_0x963b[_0x3a9661];return _0x5bb119;};'use strict';var pdf=require(_0xb963('0x0'));var emlformat=require(_0xb963('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xb963('0x2'));var moment=require(_0xb963('0x3'));var BPromise=require(_0xb963('0x4'));var Mustache=require(_0xb963('0x5'));var util=require(_0xb963('0x6'));var path=require(_0xb963('0x7'));var sox=require(_0xb963('0x8'));var csv=require(_0xb963('0x9'));var ejs=require(_0xb963('0xa'));var fs=require('fs');var _=require(_0xb963('0xb'));var squel=require(_0xb963('0xc'));var crypto=require(_0xb963('0xd'));var jsforce=require(_0xb963('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xb963('0xf'));var Papa=require(_0xb963('0x10'));var Redis=require(_0xb963('0x11'));var authService=require(_0xb963('0x12'));var qs=require(_0xb963('0x13'));var as=require(_0xb963('0x14'));var hardwareService=require(_0xb963('0x15'));var logger=require('../../config/logger')(_0xb963('0x16'));var utils=require(_0xb963('0x17'));var config=require(_0xb963('0x18'));var db=require('../../mysqldb')['db'];config[_0xb963('0x19')]=_[_0xb963('0x1a')](config[_0xb963('0x19')],{'host':_0xb963('0x1b'),'port':0x18eb});var socket=require(_0xb963('0x1c'))(new Redis(config[_0xb963('0x19')]));require('./mailAccount.socket')[_0xb963('0x1d')](socket);var jayson=require(_0xb963('0x1e'));var client=jayson[_0xb963('0x1f')][_0xb963('0x20')]({'port':0x232b});function checkPasswordPattern(_0x4f413e,_0x3cc7fb,_0x1340ef){if(_0x1340ef){var _0x48767b=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x48767b['test'](_0x3cc7fb)){return _0x4f413e;}else{throw new db[(_0xb963('0x21'))][(_0xb963('0x22'))](_0xb963('0x23'));}}else{return _0x4f413e;}}function respondWithRpcPromise(_0x9b01d4,_0x372cf5,_0x42c3a7,_0x511d28){return new BPromise(function(_0x116388,_0x1eff03){var _0x12266c=_0x511d28||client;return _0x12266c['request'](_0x9b01d4,_0x42c3a7)['then'](function(_0x57c216){logger[_0xb963('0x24')]('MailAccount,\x20%s,\x20%s',_0x372cf5,_0xb963('0x25'));logger[_0xb963('0x26')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x372cf5,_0xb963('0x25'),JSON[_0xb963('0x27')](_0x57c216));if(_0x57c216[_0xb963('0x28')]){if(_0x57c216[_0xb963('0x28')][_0xb963('0x29')]===0x1f4){logger['error'](_0xb963('0x2a'),_0x372cf5,_0x57c216['error'][_0xb963('0x2b')]);return _0x1eff03(_0x57c216[_0xb963('0x28')][_0xb963('0x2b')]);}logger[_0xb963('0x28')](_0xb963('0x2a'),_0x372cf5,_0x57c216[_0xb963('0x28')][_0xb963('0x2b')]);return _0x116388(_0x57c216[_0xb963('0x28')][_0xb963('0x2b')]);}else{logger[_0xb963('0x24')](_0xb963('0x2a'),_0x372cf5,'request\x20sent');_0x116388(_0x57c216[_0xb963('0x2c')][_0xb963('0x2b')]);}})[_0xb963('0x2d')](function(_0x402d66){logger[_0xb963('0x28')](_0xb963('0x2a'),_0x372cf5,_0x402d66);_0x1eff03(_0x402d66);});});}function respondWithStatusCode(_0x5a56e2,_0x27adf){_0x27adf=_0x27adf||0xcc;return function(_0x4d44e0){if(_0x4d44e0){return _0x5a56e2[_0xb963('0x2e')](_0x27adf);}return _0x5a56e2['status'](_0x27adf)[_0xb963('0x2f')]();};}function respondWithResult(_0x10767e,_0x59b77c){_0x59b77c=_0x59b77c||0xc8;return function(_0x240339){if(_0x240339){return _0x10767e[_0xb963('0x30')](_0x59b77c)['json'](_0x240339);}};}function respondWithFilteredResult(_0x778aab,_0x5debb4){return function(_0x3a6198){if(_0x3a6198){var _0x19b036=_0x3a6198[_0xb963('0x31')],_0x4e21a8=_0x5debb4['offset'],_0xdb78c7=_0x5debb4[_0xb963('0x32')]+_0x5debb4[_0xb963('0x33')],_0xc833df;if(_0xdb78c7>=_0x19b036){_0xdb78c7=_0x19b036;_0xc833df=0xc8;}else{_0xc833df=0xce;}_0x778aab[_0xb963('0x30')](_0xc833df);return _0x778aab[_0xb963('0x34')](_0xb963('0x35'),_0x4e21a8+'-'+_0xdb78c7+'/'+_0x19b036)[_0xb963('0x36')](_0x3a6198);}return null;};}function patchUpdates(_0x3b2af9){return function(_0x55814d){try{jsonpatch['apply'](_0x55814d,_0x3b2af9,!![]);}catch(_0x58a2ee){return BPromise[_0xb963('0x37')](_0x58a2ee);}return _0x55814d[_0xb963('0x38')]();};}function saveUpdates(_0x16eca3,_0x2cac96){return function(_0xe3c885){if(_0xe3c885){return _0xe3c885[_0xb963('0x39')](_0x16eca3)[_0xb963('0x3a')](function(_0x2abef1){return _0x2abef1;});}return null;};}function removeEntity(_0x53bec3,_0x9aeab6){return function(_0x22d3b2){if(_0x22d3b2){return _0x22d3b2[_0xb963('0x3b')]()[_0xb963('0x3a')](function(){var _0x1f844e=_0x22d3b2[_0xb963('0x3c')]({'plain':!![]});var _0x5e4dbe=_0xb963('0x3d');return db[_0xb963('0x3e')]['destroy']({'where':{'type':_0x5e4dbe,'resourceId':_0x1f844e['id']}})[_0xb963('0x3a')](function(){return _0x22d3b2;});})[_0xb963('0x3a')](function(){_0x53bec3[_0xb963('0x30')](0xcc)['end']();});}};}function handleEntityNotFound(_0x56a2e9,_0xae199a){return function(_0x1b2096){if(!_0x1b2096){_0x56a2e9[_0xb963('0x2e')](0x194);}return _0x1b2096;};}function handleError(_0x9e7cdf,_0x9881d8){_0x9881d8=_0x9881d8||0x1f4;return function(_0x5b4905){logger[_0xb963('0x28')](_0x5b4905[_0xb963('0x3f')]);if(_0x5b4905[_0xb963('0x40')]){delete _0x5b4905[_0xb963('0x40')];}_0x9e7cdf[_0xb963('0x30')](_0x9881d8)[_0xb963('0x41')](_0x5b4905);};}exports['index']=function(_0x2c99e2,_0x2507f3){var _0x2aeee7={'include':[{'model':db[_0xb963('0x42')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0xb963('0x43')},{'model':db[_0xb963('0x44')],'as':_0xb963('0x45')}]},_0x2a1801={},_0x3e76d4={'count':0x0,'rows':[]};var _0x14b957=_[_0xb963('0x46')](db[_0xb963('0x47')][_0xb963('0x48')],function(_0x522440){return{'name':_0x522440['fieldName'],'type':_0x522440[_0xb963('0x49')]['key']};});_0x2a1801[_0xb963('0x4a')]=_[_0xb963('0x46')](_0x14b957,_0xb963('0x40'));_0x2a1801[_0xb963('0x4b')]=_[_0xb963('0x4c')](_0x2c99e2[_0xb963('0x4b')]);_0x2a1801[_0xb963('0x4d')]=_[_0xb963('0x4e')](_0x2a1801[_0xb963('0x4a')],_0x2a1801[_0xb963('0x4b')]);_0x2aeee7[_0xb963('0x4f')]=_[_0xb963('0x4e')](_0x2a1801[_0xb963('0x4a')],qs[_0xb963('0x50')](_0x2c99e2[_0xb963('0x4b')][_0xb963('0x50')]));_0x2aeee7[_0xb963('0x4f')]=_0x2aeee7[_0xb963('0x4f')][_0xb963('0x51')]?_0x2aeee7[_0xb963('0x4f')]:_0x2a1801[_0xb963('0x4a')];if(!_0x2c99e2[_0xb963('0x4b')][_0xb963('0x52')](_0xb963('0x53'))){_0x2aeee7[_0xb963('0x33')]=qs[_0xb963('0x33')](_0x2c99e2['query'][_0xb963('0x33')]);_0x2aeee7[_0xb963('0x32')]=qs[_0xb963('0x32')](_0x2c99e2[_0xb963('0x4b')][_0xb963('0x32')]);}_0x2aeee7[_0xb963('0x54')]=qs['sort'](_0x2c99e2[_0xb963('0x4b')][_0xb963('0x55')]);_0x2aeee7[_0xb963('0x56')]=qs[_0xb963('0x4d')](_['pick'](_0x2c99e2['query'],_0x2a1801['filters']));if(_0x2c99e2['query'][_0xb963('0x57')]){_0x2aeee7['where']=_[_0xb963('0x58')](_0x2aeee7[_0xb963('0x56')],{'$or':_[_0xb963('0x46')](_0x14b957,function(_0x5db945){if(_0x5db945[_0xb963('0x49')]!==_0xb963('0x59')){var _0x1b239a={};_0x1b239a[_0x5db945[_0xb963('0x40')]]={'$like':'%'+_0x2c99e2[_0xb963('0x4b')][_0xb963('0x57')]+'%'};return _0x1b239a;}})});}_0x2aeee7=_['merge']({},_0x2aeee7,_0x2c99e2[_0xb963('0x5a')]);var _0x3ff70a={'where':_0x2aeee7['where']};return db[_0xb963('0x47')][_0xb963('0x31')](_0x3ff70a)[_0xb963('0x3a')](function(_0x1d5a0e){_0x3e76d4[_0xb963('0x31')]=_0x1d5a0e;if(_0x2c99e2[_0xb963('0x4b')][_0xb963('0x5b')]){_0x2aeee7[_0xb963('0x5c')]=[{'all':!![]}];}return db[_0xb963('0x47')]['findAll'](_0x2aeee7);})[_0xb963('0x3a')](function(_0x1180f8){_0x3e76d4[_0xb963('0x5d')]=_0x1180f8;return _0x3e76d4;})[_0xb963('0x3a')](respondWithFilteredResult(_0x2507f3,_0x2aeee7))['catch'](handleError(_0x2507f3,null));};exports['show']=function(_0x20e3b3,_0x4d0e1b){var _0x1700e0={'raw':![],'where':{'id':_0x20e3b3[_0xb963('0x5e')]['id']},'include':[{'model':db[_0xb963('0x42')],'as':_0xb963('0x5f')},{'model':db['MailServerOut'],'as':_0xb963('0x43')},{'model':db[_0xb963('0x44')],'as':_0xb963('0x45')}]},_0x56e43f={};_0x56e43f[_0xb963('0x4a')]=_[_0xb963('0x4c')](db['MailAccount'][_0xb963('0x48')]);_0x56e43f[_0xb963('0x4b')]=_[_0xb963('0x4c')](_0x20e3b3[_0xb963('0x4b')]);_0x56e43f[_0xb963('0x4d')]=_[_0xb963('0x4e')](_0x56e43f[_0xb963('0x4a')],_0x56e43f['query']);_0x1700e0[_0xb963('0x4f')]=_[_0xb963('0x4e')](_0x56e43f[_0xb963('0x4a')],qs[_0xb963('0x50')](_0x20e3b3[_0xb963('0x4b')][_0xb963('0x50')]));_0x1700e0['attributes']=_0x1700e0['attributes'][_0xb963('0x51')]?_0x1700e0[_0xb963('0x4f')]:_0x56e43f['model'];if(_0x20e3b3[_0xb963('0x4b')][_0xb963('0x5b')]){_0x1700e0['include']=[{'all':!![]}];}_0x1700e0=_['merge']({},_0x1700e0,_0x20e3b3[_0xb963('0x5a')]);return db['MailAccount']['find'](_0x1700e0)[_0xb963('0x3a')](handleEntityNotFound(_0x4d0e1b,null))[_0xb963('0x3a')](respondWithResult(_0x4d0e1b,null))['catch'](handleError(_0x4d0e1b,null));};exports[_0xb963('0x39')]=function(_0x55ec1a,_0x36f04a){if(_0x55ec1a['body']['id']){delete _0x55ec1a[_0xb963('0x60')]['id'];}return db[_0xb963('0x47')][_0xb963('0x61')]({'where':{'id':_0x55ec1a[_0xb963('0x5e')]['id']},'include':[{'model':db[_0xb963('0x42')],'as':_0xb963('0x5f')},{'model':db[_0xb963('0x62')],'as':_0xb963('0x43')},{'model':db[_0xb963('0x44')],'as':_0xb963('0x45')}]})[_0xb963('0x3a')](handleEntityNotFound(_0x36f04a,null))[_0xb963('0x3a')](saveUpdates(_0x55ec1a['body'],null))[_0xb963('0x3a')](function(_0x388e5e){if(_0x388e5e&&_0x55ec1a[_0xb963('0x60')][_0xb963('0x5f')]){return db['MailServerIn'][_0xb963('0x39')](_0x55ec1a[_0xb963('0x60')][_0xb963('0x5f')],{'where':{'MailAccountId':_0x388e5e['id']}})[_0xb963('0x3a')](function(){return _0x388e5e;});}return _0x388e5e;})[_0xb963('0x3a')](function(_0x48f74d){if(_0x48f74d&&_0x55ec1a[_0xb963('0x60')][_0xb963('0x43')]){return db[_0xb963('0x62')][_0xb963('0x39')](_0x55ec1a[_0xb963('0x60')][_0xb963('0x43')],{'where':{'MailAccountId':_0x48f74d['id']}})['then'](function(){return _0x48f74d;});}return _0x48f74d;})[_0xb963('0x3a')](respondWithResult(_0x36f04a,null))[_0xb963('0x2d')](handleError(_0x36f04a,null));};exports[_0xb963('0x63')]=function(_0x21c416,_0x2e52da){return db[_0xb963('0x47')][_0xb963('0x63')]()[_0xb963('0x3a')](respondWithResult(_0x2e52da,null))[_0xb963('0x2d')](handleError(_0x2e52da,null));};exports[_0xb963('0x64')]=function(_0x52fdda,_0x1b449c,_0x574670){if(_0x52fdda[_0xb963('0x60')]['id']){delete _0x52fdda[_0xb963('0x60')]['id'];}return db[_0xb963('0x47')]['find']({'where':{'id':_0x52fdda[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x1b449c,null))[_0xb963('0x3a')](function(_0x54454d){if(_0x54454d){_0x52fdda['body'][_0xb963('0x65')]=_0x54454d['id'];return db[_0xb963('0x66')][_0xb963('0x67')](_0x52fdda[_0xb963('0x60')]);}})['then'](respondWithResult(_0x1b449c,null))['catch'](handleError(_0x1b449c,null));};exports[_0xb963('0x68')]=function(_0x17cd00,_0x386e9f,_0x3d9457){var _0x4b37c1={'raw':![],'where':{}};var _0x2a7621={};var _0x2260cb={'count':0x0,'rows':[]};return db[_0xb963('0x47')][_0xb963('0x69')]({'where':{'id':_0x17cd00['params']['id']}})['then'](handleEntityNotFound(_0x386e9f,null))[_0xb963('0x3a')](function(_0x86fe42){if(_0x86fe42){_0x2a7621[_0xb963('0x4a')]=_[_0xb963('0x4c')](db[_0xb963('0x66')][_0xb963('0x48')]);_0x2a7621[_0xb963('0x4b')]=_[_0xb963('0x4c')](_0x17cd00[_0xb963('0x4b')]);_0x2a7621[_0xb963('0x4d')]=_[_0xb963('0x4e')](_0x2a7621[_0xb963('0x4a')],_0x2a7621[_0xb963('0x4b')]);_0x4b37c1[_0xb963('0x4f')]=_['intersection'](_0x2a7621[_0xb963('0x4a')],qs[_0xb963('0x50')](_0x17cd00[_0xb963('0x4b')][_0xb963('0x50')]));_0x4b37c1[_0xb963('0x4f')]=_0x4b37c1[_0xb963('0x4f')][_0xb963('0x51')]?_0x4b37c1[_0xb963('0x4f')]:_0x2a7621[_0xb963('0x4a')];if(!_0x17cd00[_0xb963('0x4b')][_0xb963('0x52')](_0xb963('0x53'))){_0x4b37c1['limit']=qs[_0xb963('0x33')](_0x17cd00['query'][_0xb963('0x33')]);_0x4b37c1[_0xb963('0x32')]=qs['offset'](_0x17cd00['query'][_0xb963('0x32')]);}_0x4b37c1[_0xb963('0x54')]=qs['sort'](_0x17cd00['query'][_0xb963('0x55')]);_0x4b37c1[_0xb963('0x56')]=qs[_0xb963('0x4d')](_[_0xb963('0x6a')](_0x17cd00[_0xb963('0x4b')],_0x2a7621[_0xb963('0x4d')]));_0x4b37c1[_0xb963('0x56')][_0xb963('0x65')]=_0x86fe42['id'];if(_0x17cd00[_0xb963('0x4b')][_0xb963('0x57')]){_0x4b37c1['where']=_['merge'](_0x4b37c1[_0xb963('0x56')],{'$or':_[_0xb963('0x46')](_0x4b37c1[_0xb963('0x4f')],function(_0x3ef66f){var _0xf6a087={};_0xf6a087[_0x3ef66f]={'$like':'%'+_0x17cd00[_0xb963('0x4b')][_0xb963('0x57')]+'%'};return _0xf6a087;})});}_0x4b37c1=_[_0xb963('0x58')]({},_0x4b37c1,_0x17cd00[_0xb963('0x5a')]);return db[_0xb963('0x66')][_0xb963('0x31')]({'where':_0x4b37c1[_0xb963('0x56')]})[_0xb963('0x3a')](function(_0x3d0050){_0x2260cb[_0xb963('0x31')]=_0x3d0050;if(_0x17cd00['query']['includeAll']){_0x4b37c1[_0xb963('0x5c')]=[{'all':!![]}];}return db['Disposition'][_0xb963('0x6b')](_0x4b37c1);})[_0xb963('0x3a')](function(_0x3562ee){_0x2260cb[_0xb963('0x5d')]=_0x3562ee;return _0x2260cb;});}})['then'](respondWithFilteredResult(_0x386e9f,_0x4b37c1))[_0xb963('0x2d')](handleError(_0x386e9f,null));};exports[_0xb963('0x6c')]=function(_0x23368b,_0x24b7b9,_0x4845dd){return db[_0xb963('0x47')][_0xb963('0x61')]({'where':{'id':_0x23368b[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x24b7b9,null))['then'](function(_0xd1796b){if(_0xd1796b){return _0xd1796b[_0xb963('0x6c')](_0x23368b['query'][_0xb963('0x6d')]);}})[_0xb963('0x3a')](respondWithStatusCode(_0x24b7b9,null))[_0xb963('0x2d')](handleError(_0x24b7b9,null));};exports['addAnswer']=function(_0xe0118e,_0x873561,_0x4412d4){if(_0xe0118e[_0xb963('0x60')]['id']){delete _0xe0118e[_0xb963('0x60')]['id'];}return db[_0xb963('0x47')]['find']({'where':{'id':_0xe0118e[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x873561,null))[_0xb963('0x3a')](function(_0x26d679){if(_0x26d679){_0xe0118e[_0xb963('0x60')][_0xb963('0x65')]=_0x26d679['id'];return db[_0xb963('0x6e')][_0xb963('0x67')](_0xe0118e[_0xb963('0x60')]);}})[_0xb963('0x3a')](respondWithResult(_0x873561,null))[_0xb963('0x2d')](handleError(_0x873561,null));};exports['getAnswers']=function(_0x35053b,_0x2beb6c,_0x2b623f){var _0x5b6dab={'raw':![],'where':{}};var _0x51244b={};var _0x47c12e={'count':0x0,'rows':[]};return db[_0xb963('0x47')][_0xb963('0x69')]({'where':{'id':_0x35053b[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x2beb6c,null))[_0xb963('0x3a')](function(_0x4c98fe){if(_0x4c98fe){_0x51244b['model']=_[_0xb963('0x4c')](db[_0xb963('0x6e')][_0xb963('0x48')]);_0x51244b[_0xb963('0x4b')]=_[_0xb963('0x4c')](_0x35053b['query']);_0x51244b['filters']=_[_0xb963('0x4e')](_0x51244b[_0xb963('0x4a')],_0x51244b['query']);_0x5b6dab[_0xb963('0x4f')]=_[_0xb963('0x4e')](_0x51244b[_0xb963('0x4a')],qs[_0xb963('0x50')](_0x35053b['query']['fields']));_0x5b6dab[_0xb963('0x4f')]=_0x5b6dab[_0xb963('0x4f')]['length']?_0x5b6dab[_0xb963('0x4f')]:_0x51244b[_0xb963('0x4a')];if(!_0x35053b[_0xb963('0x4b')][_0xb963('0x52')](_0xb963('0x53'))){_0x5b6dab[_0xb963('0x33')]=qs[_0xb963('0x33')](_0x35053b[_0xb963('0x4b')]['limit']);_0x5b6dab[_0xb963('0x32')]=qs['offset'](_0x35053b[_0xb963('0x4b')][_0xb963('0x32')]);}_0x5b6dab[_0xb963('0x54')]=qs[_0xb963('0x55')](_0x35053b[_0xb963('0x4b')]['sort']);_0x5b6dab[_0xb963('0x56')]=qs['filters'](_[_0xb963('0x6a')](_0x35053b[_0xb963('0x4b')],_0x51244b[_0xb963('0x4d')]));_0x5b6dab['where'][_0xb963('0x65')]=_0x4c98fe['id'];if(_0x35053b['query'][_0xb963('0x57')]){_0x5b6dab[_0xb963('0x56')]=_[_0xb963('0x58')](_0x5b6dab[_0xb963('0x56')],{'$or':_[_0xb963('0x46')](_0x5b6dab[_0xb963('0x4f')],function(_0x4d6538){var _0x4bc6fb={};_0x4bc6fb[_0x4d6538]={'$like':'%'+_0x35053b[_0xb963('0x4b')][_0xb963('0x57')]+'%'};return _0x4bc6fb;})});}_0x5b6dab=_[_0xb963('0x58')]({},_0x5b6dab,_0x35053b[_0xb963('0x5a')]);return db[_0xb963('0x6e')]['count']({'where':_0x5b6dab['where']})[_0xb963('0x3a')](function(_0x194628){_0x47c12e[_0xb963('0x31')]=_0x194628;if(_0x35053b[_0xb963('0x4b')][_0xb963('0x5b')]){_0x5b6dab[_0xb963('0x5c')]=[{'all':!![]}];}return db['CannedAnswer'][_0xb963('0x6b')](_0x5b6dab);})[_0xb963('0x3a')](function(_0x1b58a3){_0x47c12e['rows']=_0x1b58a3;return _0x47c12e;});}})[_0xb963('0x3a')](respondWithFilteredResult(_0x2beb6c,_0x5b6dab))[_0xb963('0x2d')](handleError(_0x2beb6c,null));};exports[_0xb963('0x6f')]=function(_0x30caaf,_0x58742d,_0x31a5d4){return db[_0xb963('0x47')][_0xb963('0x61')]({'where':{'id':_0x30caaf[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x58742d,null))[_0xb963('0x3a')](function(_0x32efb2){if(_0x32efb2){return _0x32efb2[_0xb963('0x6f')](_0x30caaf[_0xb963('0x4b')][_0xb963('0x6d')]);}})['then'](respondWithStatusCode(_0x58742d,null))['catch'](handleError(_0x58742d,null));};exports[_0xb963('0x67')]=function(_0x2da523,_0x513a9a){var _0x11aec8={'name':_0x2da523[_0xb963('0x60')][_0xb963('0x40')],'key':_0x2da523[_0xb963('0x60')][_0xb963('0x70')],'email':_0x2da523[_0xb963('0x60')][_0xb963('0x71')],'ListId':_0x2da523[_0xb963('0x60')][_0xb963('0x72')],'active':!_['isNil'](_0x2da523[_0xb963('0x60')][_0xb963('0x73')])?_0x2da523[_0xb963('0x60')][_0xb963('0x73')]:!![],'description':_0x2da523[_0xb963('0x60')]['description']||null,'Imap':{},'Smtp':{}};if(_['isNil'](_0x2da523[_0xb963('0x60')]['cservice'])){if(_0x2da523[_0xb963('0x60')][_0xb963('0x74')]){_0x11aec8[_0xb963('0x5f')][_0xb963('0x75')]=_0x11aec8[_0xb963('0x43')][_0xb963('0x75')]=_0x2da523[_0xb963('0x60')]['cuser'];_0x11aec8[_0xb963('0x5f')][_0xb963('0x76')]=_0x11aec8[_0xb963('0x43')][_0xb963('0x77')]=_0x2da523[_0xb963('0x60')][_0xb963('0x78')];}else{_0x11aec8['Imap'][_0xb963('0x79')]=_0x11aec8['Smtp']['authentication']=![];}_0x11aec8[_0xb963('0x5f')]['host']=_0x2da523[_0xb963('0x60')][_0xb963('0x5f')][_0xb963('0x7a')];_0x11aec8[_0xb963('0x5f')][_0xb963('0x7b')]=_0x2da523[_0xb963('0x60')][_0xb963('0x5f')][_0xb963('0x7b')];_0x11aec8['Smtp'][_0xb963('0x7a')]=_0x2da523[_0xb963('0x60')][_0xb963('0x43')]['host'];_0x11aec8['Smtp'][_0xb963('0x7b')]=_0x2da523['body'][_0xb963('0x43')][_0xb963('0x7b')];}else{_0x11aec8[_0xb963('0x5f')][_0xb963('0x7c')]=_0x11aec8[_0xb963('0x43')][_0xb963('0x7c')]=_0x2da523[_0xb963('0x60')][_0xb963('0x7d')];_0x11aec8['Imap'][_0xb963('0x75')]=_0x11aec8[_0xb963('0x43')][_0xb963('0x75')]=_0x2da523[_0xb963('0x60')][_0xb963('0x7e')];_0x11aec8[_0xb963('0x5f')][_0xb963('0x76')]=_0x11aec8[_0xb963('0x43')][_0xb963('0x77')]=_0x2da523[_0xb963('0x60')]['cpassword'];}return db['MailAccount'][_0xb963('0x67')](_0x11aec8,{'include':[{'model':db['MailServerOut'],'as':_0xb963('0x43')},{'model':db[_0xb963('0x42')],'as':_0xb963('0x5f')}]})[_0xb963('0x3a')](function(_0x119303){var _0x3d22a9=_0x2da523[_0xb963('0x75')][_0xb963('0x3c')]({'plain':!![]});if(!_0x3d22a9)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3d22a9[_0xb963('0x7f')]===_0xb963('0x75')){var _0x1c0672=_0x119303['get']({'plain':!![]});return db[_0xb963('0x80')][_0xb963('0x61')]({'where':{'name':_0xb963('0x3d'),'userProfileId':_0x3d22a9[_0xb963('0x81')]},'raw':!![]})[_0xb963('0x3a')](function(_0x41fb7e){if(_0x41fb7e&&_0x41fb7e['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x1c0672[_0xb963('0x40')],'resourceId':_0x1c0672['id'],'type':_0x41fb7e[_0xb963('0x40')],'sectionId':_0x41fb7e['id']},{})[_0xb963('0x3a')](function(){return _0x119303;});}else{return _0x119303;}})[_0xb963('0x2d')](function(_0x589f01){logger[_0xb963('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x589f01);throw _0x589f01;});}return _0x119303;})[_0xb963('0x3a')](respondWithResult(_0x513a9a,0xc9))[_0xb963('0x2d')](handleError(_0x513a9a,null));};exports[_0xb963('0x82')]=function(_0x4574aa,_0x5666c6,_0x1abfa0){return db[_0xb963('0x47')][_0xb963('0x69')]({'where':{'id':_0x4574aa[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x5666c6,null))[_0xb963('0x3a')](function(_0x20f876){if(_0x20f876){return _0x20f876['getImap']();}return null;})['then'](respondWithResult(_0x5666c6,null))['catch'](handleError(_0x5666c6,null));};exports[_0xb963('0x83')]=function(_0x192dc7,_0x22a621,_0x5a43ed){if(_0x192dc7[_0xb963('0x60')]['id']){delete _0x192dc7[_0xb963('0x60')]['id'];}return db[_0xb963('0x47')][_0xb963('0x61')]({'where':{'id':_0x192dc7[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x22a621,null))['then'](function(_0x5e804a){if(_0x5e804a){_0x192dc7[_0xb963('0x60')][_0xb963('0x65')]=_0x5e804a['id'];return db[_0xb963('0x42')]['create'](_0x192dc7[_0xb963('0x60')]);}})['then'](respondWithResult(_0x22a621,null))[_0xb963('0x2d')](handleError(_0x22a621,null));};exports[_0xb963('0x84')]=function(_0x38ea14,_0x237ef6,_0x22a923){return db[_0xb963('0x47')][_0xb963('0x69')]({'where':{'id':_0x38ea14['params']['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x237ef6,null))['then'](function(_0x7a0589){if(_0x7a0589){return _0x7a0589[_0xb963('0x85')](null);}return null;})[_0xb963('0x3a')](respondWithStatusCode(_0x237ef6,null))[_0xb963('0x2d')](handleError(_0x237ef6,null));};exports[_0xb963('0x86')]=function(_0x978c5c,_0x393dd5,_0x329bdc){return db['MailAccount'][_0xb963('0x69')]({'where':{'id':_0x978c5c[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x393dd5,null))[_0xb963('0x3a')](function(_0x5ed44d){if(_0x5ed44d){return _0x5ed44d[_0xb963('0x86')]();}return null;})[_0xb963('0x3a')](respondWithResult(_0x393dd5,null))[_0xb963('0x2d')](handleError(_0x393dd5,null));};exports[_0xb963('0x87')]=function(_0x30fd65,_0x13d0ce,_0x3a181f){if(_0x30fd65[_0xb963('0x60')]['id']){delete _0x30fd65['body']['id'];}return db[_0xb963('0x47')]['find']({'where':{'id':_0x30fd65['params']['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x13d0ce,null))['then'](function(_0x353b47){if(_0x353b47){_0x30fd65['body'][_0xb963('0x65')]=_0x353b47['id'];return db[_0xb963('0x62')][_0xb963('0x67')](_0x30fd65[_0xb963('0x60')]);}})[_0xb963('0x3a')](respondWithResult(_0x13d0ce,null))[_0xb963('0x2d')](handleError(_0x13d0ce,null));};exports[_0xb963('0x88')]=function(_0x2c1cc9,_0x58d28c,_0x447960){return db[_0xb963('0x47')][_0xb963('0x69')]({'where':{'id':_0x2c1cc9['params']['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x58d28c,null))[_0xb963('0x3a')](function(_0x1cf722){if(_0x1cf722){return _0x1cf722[_0xb963('0x89')](null);}return null;})[_0xb963('0x3a')](respondWithStatusCode(_0x58d28c,null))[_0xb963('0x2d')](handleError(_0x58d28c,null));};exports['addInteraction']=function(_0x12af45,_0x180b37,_0x141314){return db[_0xb963('0x8a')][_0xb963('0x61')]({'where':{'id':_0x12af45[_0xb963('0x5e')]['id']}})['then'](handleEntityNotFound(_0x180b37,null))['then'](function(_0x4e642a){if(_0x4e642a){return _0x4e642a['addInteraction'](_0x12af45[_0xb963('0x60')][_0xb963('0x6d')],_[_0xb963('0x8b')](_0x12af45['body'],['ids','id'])||{});}})['then'](respondWithResult(_0x180b37,null))[_0xb963('0x2d')](handleError(_0x180b37,null));};exports[_0xb963('0x8c')]=function(_0x15e633,_0x5f180a,_0x24f921){var _0x4c129e={'raw':![],'where':{}};var _0x32b0fc={};var _0x3ed34a={'count':0x0,'rows':[]};return db[_0xb963('0x47')][_0xb963('0x69')]({'where':{'id':_0x15e633[_0xb963('0x5e')]['id']}})['then'](handleEntityNotFound(_0x5f180a,null))['then'](function(_0x2891aa){if(_0x2891aa){_0x32b0fc[_0xb963('0x4a')]=_[_0xb963('0x4c')](db[_0xb963('0x8a')]['rawAttributes']);_0x32b0fc[_0xb963('0x4b')]=_[_0xb963('0x4c')](_0x15e633[_0xb963('0x4b')]);_0x32b0fc[_0xb963('0x4d')]=_[_0xb963('0x4e')](_0x32b0fc[_0xb963('0x4a')],_0x32b0fc[_0xb963('0x4b')]);_0x4c129e[_0xb963('0x4f')]=_[_0xb963('0x4e')](_0x32b0fc[_0xb963('0x4a')],qs[_0xb963('0x50')](_0x15e633['query'][_0xb963('0x50')]));_0x4c129e[_0xb963('0x4f')]=_0x4c129e[_0xb963('0x4f')][_0xb963('0x51')]?_0x4c129e['attributes']:_0x32b0fc[_0xb963('0x4a')];if(!_0x15e633[_0xb963('0x4b')]['hasOwnProperty'](_0xb963('0x53'))){_0x4c129e[_0xb963('0x33')]=qs[_0xb963('0x33')](_0x15e633[_0xb963('0x4b')][_0xb963('0x33')]);_0x4c129e[_0xb963('0x32')]=qs[_0xb963('0x32')](_0x15e633[_0xb963('0x4b')][_0xb963('0x32')]);}_0x4c129e[_0xb963('0x54')]=qs['sort'](_0x15e633[_0xb963('0x4b')][_0xb963('0x55')]);_0x4c129e[_0xb963('0x56')]=qs[_0xb963('0x4d')](_[_0xb963('0x6a')](_0x15e633['query'],_0x32b0fc['filters']));_0x4c129e[_0xb963('0x56')][_0xb963('0x65')]=_0x2891aa['id'];if(_0x15e633['query'][_0xb963('0x57')]){_0x4c129e[_0xb963('0x56')]=_[_0xb963('0x58')](_0x4c129e[_0xb963('0x56')],{'$or':_[_0xb963('0x46')](_0x4c129e['attributes'],function(_0x15d7bf){var _0x4ba70d={};_0x4ba70d[_0x15d7bf]={'$like':'%'+_0x15e633[_0xb963('0x4b')]['filter']+'%'};return _0x4ba70d;})});}_0x4c129e=_['merge']({},_0x4c129e,_0x15e633[_0xb963('0x5a')]);return db[_0xb963('0x8a')][_0xb963('0x31')]({'where':_0x4c129e['where']})[_0xb963('0x3a')](function(_0x217200){_0x3ed34a[_0xb963('0x31')]=_0x217200;if(_0x15e633['query'][_0xb963('0x5b')]){_0x4c129e[_0xb963('0x5c')]=[{'model':db['CmContact'],'as':'Contact','required':![]},{'model':db['User'],'as':'Owner','attributes':[_0xb963('0x40'),_0xb963('0x8d'),'internal'],'required':![]},{'model':db[_0xb963('0x8e')],'as':_0xb963('0x8f'),'attributes':['id',_0xb963('0x40'),_0xb963('0x90')],'where':_0x15e633[_0xb963('0x4b')]['tag']?{'id':_0x15e633[_0xb963('0x4b')][_0xb963('0x91')]}:undefined,'required':_0x15e633['query'][_0xb963('0x91')]?!![]:![]}];}return db[_0xb963('0x8a')][_0xb963('0x6b')](_0x4c129e);})[_0xb963('0x3a')](function(_0x6ab711){_0x3ed34a[_0xb963('0x5d')]=_0x6ab711;return _0x3ed34a;});}})[_0xb963('0x3a')](respondWithFilteredResult(_0x5f180a,_0x4c129e))['catch'](handleError(_0x5f180a,null));};exports[_0xb963('0x92')]=function(_0x297b0d,_0x58eff1,_0x5daaa2){return db['MailAccount'][_0xb963('0x69')]({'where':{'id':_0x297b0d[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x58eff1,null))[_0xb963('0x3a')](function(_0x45bc70){if(_0x45bc70){return db[_0xb963('0x93')]['transaction'](function(_0x125a8d){return db[_0xb963('0x94')][_0xb963('0x3b')]({'where':{'MailAccountId':_0x297b0d['params']['id']},'transaction':_0x125a8d})[_0xb963('0x3a')](function(_0x160b66){var _0x1338f6=_[_0xb963('0x46')](_0x297b0d['body'],function(_0x48ca75){_0x48ca75[_0xb963('0x65')]=_0x297b0d[_0xb963('0x5e')]['id'];return _0x48ca75;});return db[_0xb963('0x94')]['bulkCreate'](_0x1338f6,{'transaction':_0x125a8d});});})['then'](function(){return db['MailApplication'][_0xb963('0x95')]({'where':{'MailAccountId':_0x297b0d[_0xb963('0x5e')]['id']},'order':_0xb963('0x96')});});}})[_0xb963('0x3a')](respondWithResult(_0x58eff1,null))[_0xb963('0x2d')](handleError(_0x58eff1,null));};exports[_0xb963('0x97')]=function(_0x2f7855,_0x33b2b8,_0xbd0a4e){var _0x4b02a0={};var _0x2c0cee={};var _0x20097d;var _0x508762;return db[_0xb963('0x47')][_0xb963('0x69')]({'where':{'id':_0x2f7855[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x33b2b8,null))[_0xb963('0x3a')](function(_0x4b61b1){if(_0x4b61b1){_0x20097d=_0x4b61b1;_0x2c0cee['model']=_['keys'](db[_0xb963('0x94')]['rawAttributes']);_0x2c0cee[_0xb963('0x4b')]=_[_0xb963('0x4c')](_0x2f7855[_0xb963('0x4b')]);_0x2c0cee[_0xb963('0x4d')]=_['intersection'](_0x2c0cee[_0xb963('0x4a')],_0x2c0cee[_0xb963('0x4b')]);_0x4b02a0['attributes']=_[_0xb963('0x4e')](_0x2c0cee['model'],qs['fields'](_0x2f7855[_0xb963('0x4b')][_0xb963('0x50')]));_0x4b02a0['attributes']=_0x4b02a0[_0xb963('0x4f')][_0xb963('0x51')]?_0x4b02a0[_0xb963('0x4f')]:_0x2c0cee[_0xb963('0x4a')];_0x4b02a0['order']=qs[_0xb963('0x55')](_0x2f7855[_0xb963('0x4b')]['sort']);_0x4b02a0[_0xb963('0x56')]=qs[_0xb963('0x4d')](_[_0xb963('0x6a')](_0x2f7855['query'],_0x2c0cee[_0xb963('0x4d')]));if(_0x2f7855[_0xb963('0x4b')][_0xb963('0x57')]){_0x4b02a0[_0xb963('0x56')]=_[_0xb963('0x58')](_0x4b02a0[_0xb963('0x56')],{'$or':_[_0xb963('0x46')](_0x4b02a0[_0xb963('0x4f')],function(_0x185cf8){var _0x4cb36b={};_0x4cb36b[_0x185cf8]={'$like':'%'+_0x2f7855[_0xb963('0x4b')][_0xb963('0x57')]+'%'};return _0x4cb36b;})});}_0x4b02a0=_[_0xb963('0x58')]({},_0x4b02a0,_0x2f7855[_0xb963('0x5a')]);return _0x20097d[_0xb963('0x97')](_0x4b02a0);}})['then'](function(_0x4a3bcc){if(_0x4a3bcc){_0x508762=_0x4a3bcc[_0xb963('0x51')];if(!_0x2f7855['query']['hasOwnProperty'](_0xb963('0x53'))){_0x4b02a0[_0xb963('0x33')]=qs[_0xb963('0x33')](_0x2f7855[_0xb963('0x4b')]['limit']);_0x4b02a0[_0xb963('0x32')]=qs[_0xb963('0x32')](_0x2f7855['query']['offset']);}return _0x20097d[_0xb963('0x97')](_0x4b02a0);}})[_0xb963('0x3a')](function(_0x56688d){if(_0x56688d){return _0x56688d?{'count':_0x508762,'rows':_0x56688d}:null;}})[_0xb963('0x3a')](respondWithResult(_0x33b2b8,null))[_0xb963('0x2d')](handleError(_0x33b2b8,null));};exports['getMessages']=function(_0x468ca8,_0x48173b,_0x144a42){var _0x58418b={'raw':!![],'where':{}};var _0x43c04c={};var _0x357acc={'count':0x0,'rows':[]};return db['MailAccount'][_0xb963('0x69')]({'where':{'id':_0x468ca8[_0xb963('0x5e')]['id']}})['then'](handleEntityNotFound(_0x48173b,null))[_0xb963('0x3a')](function(_0x479e22){if(_0x479e22){_0x43c04c[_0xb963('0x4a')]=_[_0xb963('0x4c')](db[_0xb963('0x98')]['rawAttributes']);_0x43c04c[_0xb963('0x4b')]=_[_0xb963('0x4c')](_0x468ca8[_0xb963('0x4b')]);_0x43c04c[_0xb963('0x4d')]=_[_0xb963('0x4e')](_0x43c04c[_0xb963('0x4a')],_0x43c04c[_0xb963('0x4b')]);_0x58418b[_0xb963('0x4f')]=_[_0xb963('0x4e')](_0x43c04c['model'],qs[_0xb963('0x50')](_0x468ca8[_0xb963('0x4b')][_0xb963('0x50')]));_0x58418b[_0xb963('0x4f')]=_0x58418b[_0xb963('0x4f')][_0xb963('0x51')]?_0x58418b[_0xb963('0x4f')]:_0x43c04c[_0xb963('0x4a')];if(!_0x468ca8['query'][_0xb963('0x52')]('nolimit')){_0x58418b[_0xb963('0x33')]=qs[_0xb963('0x33')](_0x468ca8[_0xb963('0x4b')][_0xb963('0x33')]);_0x58418b['offset']=qs['offset'](_0x468ca8[_0xb963('0x4b')]['offset']);}_0x58418b[_0xb963('0x54')]=qs[_0xb963('0x55')](_0x468ca8[_0xb963('0x4b')][_0xb963('0x55')]);_0x58418b[_0xb963('0x56')]=qs[_0xb963('0x4d')](_[_0xb963('0x6a')](_0x468ca8[_0xb963('0x4b')],_0x43c04c[_0xb963('0x4d')]));_0x58418b['where']['MailAccountId']=_0x479e22['id'];if(_0x468ca8[_0xb963('0x4b')][_0xb963('0x57')]){_0x58418b[_0xb963('0x56')]=_['merge'](_0x58418b[_0xb963('0x56')],{'$or':_[_0xb963('0x46')](_0x58418b['attributes'],function(_0x24e5d1){var _0x20f4f6={};_0x20f4f6[_0x24e5d1]={'$like':'%'+_0x468ca8[_0xb963('0x4b')][_0xb963('0x57')]+'%'};return _0x20f4f6;})});}if(_0x468ca8['query'][_0xb963('0x99')]){var _0x370ad3=_0x468ca8[_0xb963('0x4b')][_0xb963('0x99')][_0xb963('0x9a')](',');var _0x110f59={};_0x110f59[_0x370ad3[0x0]]={'$gte':moment(_0x370ad3[0x1])[_0xb963('0x9b')]('YYYY-MM-DD\x20HH:mm:ss')};_0x58418b['where']=_[_0xb963('0x58')](_0x58418b[_0xb963('0x56')],_0x110f59);}_0x58418b=_[_0xb963('0x58')]({},_0x58418b,_0x468ca8[_0xb963('0x5a')]);return db['MailMessage'][_0xb963('0x31')]({'where':_0x58418b[_0xb963('0x56')]})[_0xb963('0x3a')](function(_0x1dab9a){_0x357acc[_0xb963('0x31')]=_0x1dab9a;if(_0x468ca8[_0xb963('0x4b')][_0xb963('0x5b')]){_0x58418b[_0xb963('0x5c')]=[{'all':!![]}];}return db['MailMessage'][_0xb963('0x6b')](_0x58418b);})[_0xb963('0x3a')](function(_0x45e632){_0x357acc[_0xb963('0x5d')]=_0x45e632;return _0x357acc;});}})['then'](respondWithFilteredResult(_0x48173b,_0x58418b))[_0xb963('0x2d')](handleError(_0x48173b,null));};exports['send']=function(_0xa43814,_0x33a20e,_0x5c49d7){var _0x52b8bb,_0xbcccab={},_0x4fafb9;if(_0xa43814['body']['to']){_0x4fafb9=_0xa43814[_0xb963('0x60')]['to'][_0xb963('0x9a')](',')[0x0];}return db[_0xb963('0x47')][_0xb963('0x61')]({'where':{'id':_0xa43814[_0xb963('0x5e')]['id']},'include':[{'model':db[_0xb963('0x9c')],'as':_0xb963('0x9d'),'include':[{'model':db[_0xb963('0x9e')],'as':'Contacts','where':{'email':_0x4fafb9},'limit':0x1,'order':[['updatedAt',_0xb963('0x9f')]]}]},{'model':db['MailServerOut'],'as':_0xb963('0x43'),'raw':!![]}]})['then'](handleEntityNotFound(_0x33a20e,null))[_0xb963('0x3a')](function(_0x1f99e9){if(_0x1f99e9){_0x52b8bb=_0x1f99e9;if(_0x1f99e9['Smtp']){if(_[_0xb963('0xa0')](_0xa43814[_0xb963('0x60')][_0xb963('0xa1')])){_0xa43814['body'][_0xb963('0xa1')]=util['format'](_0xb963('0xa2'),_0x1f99e9[_0xb963('0x40')],_0x1f99e9[_0xb963('0x71')]||_0x1f99e9[_0xb963('0x43')][_0xb963('0x75')]);}if(_0xa43814['body'][_0xb963('0xa3')]&&_0xa43814[_0xb963('0x60')][_0xb963('0xa3')][_0xb963('0x51')]){for(var _0x64cff4=0x0;_0x64cff4<_0xa43814[_0xb963('0x60')][_0xb963('0xa3')][_0xb963('0x51')];_0x64cff4+=0x1){_0xa43814[_0xb963('0x60')][_0xb963('0xa3')][_0x64cff4]={'filename':_0xa43814['body'][_0xb963('0xa3')][_0x64cff4][_0xb963('0x40')],'path':path[_0xb963('0xa4')](config[_0xb963('0xa5')],_0xb963('0xa6'),_0xa43814[_0xb963('0x60')][_0xb963('0xa3')][_0x64cff4][_0xb963('0xa7')])};}}var _0x34093f={'tls':{'rejectUnauthorized':![]}};if(_[_0xb963('0xa0')](_0x1f99e9[_0xb963('0x43')][_0xb963('0x7c')])){if(_0x1f99e9[_0xb963('0x43')][_0xb963('0x79')]){_0x34093f[_0xb963('0xa8')]={'user':_0x1f99e9['Smtp'][_0xb963('0x75')],'pass':_0x1f99e9[_0xb963('0x43')][_0xb963('0x77')]};}_0x34093f[_0xb963('0x7a')]=_0x1f99e9[_0xb963('0x43')][_0xb963('0x7a')];_0x34093f['port']=_0x1f99e9['Smtp'][_0xb963('0x7b')];_0x34093f[_0xb963('0xa9')]=_0x1f99e9['Smtp']['secure'];}else{_0x34093f[_0xb963('0x7c')]=_0x1f99e9[_0xb963('0x43')][_0xb963('0x7c')];_0x34093f[_0xb963('0xa8')]={'user':_0x1f99e9['Smtp']['user'],'pass':_0x1f99e9['Smtp'][_0xb963('0x77')]};}return respondWithRpcPromise(_0xb963('0xaa'),'sendMail',{'account':_0x34093f,'message':_0xa43814['body']});}else{throw new Error(_0xb963('0xab'));}}})[_0xb963('0x3a')](function(_0x3e7e35){if(_0x3e7e35){_0xbcccab=_0x3e7e35;if(_0x52b8bb['List']){if(_0x52b8bb[_0xb963('0x9d')][_0xb963('0xac')][_0xb963('0x51')]){return _0x52b8bb[_0xb963('0x9d')][_0xb963('0xac')][0x0];}else{return db[_0xb963('0x9e')]['create'](_[_0xb963('0x1a')](_0xa43814[_0xb963('0x60')],{'firstName':_0xa43814['body']['to'],'email':_0xa43814[_0xb963('0x60')]['to'],'phone':_0xa43814[_0xb963('0x60')]['to'],'ListId':_0x52b8bb['ListId']}));}}else{throw new Error('List\x20not\x20found');}}})[_0xb963('0x3a')](function(_0x589756){if(_0x589756){var _0x585be6={'UserId':_0xa43814['user']['id'],'ContactId':_0x589756['id'],'MailAccountId':_0x52b8bb['id'],'inReplyTo':_0xbcccab[_0xb963('0xad')],'to':_0xa43814['body'][_0xb963('0xa1')],'cc':_0xa43814[_0xb963('0x60')]['cc'],'subject':_0xa43814[_0xb963('0x60')]['subject'],'attach':_0xa43814[_0xb963('0x60')]['attach'],'firstMsgDirection':_0xb963('0xae'),'lastMsgAt':moment()[_0xb963('0x9b')](_0xb963('0xaf')),'lastMsgDirection':'out','lastMsgBody':_0xa43814['body']['body'],'Messages':[_[_0xb963('0x58')](_0xa43814[_0xb963('0x60')],{'messageId':_0xbcccab[_0xb963('0xad')],'sentAt':moment()[_0xb963('0x9b')](_0xb963('0xaf')),'read':!![],'MailAccountId':_0x52b8bb['id'],'UserId':_0xa43814[_0xb963('0x75')]['id'],'ContactId':_0x589756['id']})]};if(_0xa43814[_0xb963('0x60')][_0xb963('0xb0')]){_0x585be6=_[_0xb963('0x58')](_0x585be6,_0xa43814['body']['Interaction']);}return db[_0xb963('0x8a')][_0xb963('0x67')](_0x585be6,{'include':[{'model':db[_0xb963('0x98')],'as':_0xb963('0xb1')}]});}})[_0xb963('0x3a')](respondWithResult(_0x33a20e,null))[_0xb963('0x2d')](handleError(_0x33a20e,null));};exports[_0xb963('0xb2')]=function(_0x2b4f57,_0x42fbd5,_0x380ae1){return db[_0xb963('0x47')][_0xb963('0x61')]({'where':{'id':_0x2b4f57['params']['id']},'include':[{'model':db['MailServerOut'],'as':_0xb963('0x43'),'raw':!![]}]})[_0xb963('0x3a')](handleEntityNotFound(_0x42fbd5,null))[_0xb963('0x3a')](function(_0x16fb9f){if(_0x16fb9f&&_0x16fb9f[_0xb963('0x43')]){var _0x524336={'id':_0x16fb9f['id'],'tls':{'rejectUnauthorized':![]}};if(_0x16fb9f[_0xb963('0x43')][_0xb963('0x7c')]){_0x524336['service']=_0x16fb9f['Smtp'][_0xb963('0x7c')];}else{_0x524336['host']=_0x16fb9f[_0xb963('0x43')][_0xb963('0x7a')];_0x524336['port']=_0x16fb9f[_0xb963('0x43')][_0xb963('0x7b')];_0x524336[_0xb963('0xa9')]=_0x16fb9f[_0xb963('0x43')][_0xb963('0xa9')];}if(_0x16fb9f[_0xb963('0x43')][_0xb963('0x79')]){_0x524336['auth']={'user':_0x16fb9f['Smtp'][_0xb963('0x75')],'pass':_0x16fb9f['Smtp'][_0xb963('0x77')]};}return respondWithRpcPromise(_0xb963('0xb3'),_0xb963('0xb2'),{'account':_0x524336});}})[_0xb963('0x3a')](respondWithResult(_0x42fbd5,null))[_0xb963('0x2d')](handleError(_0x42fbd5,null));};exports['destroy']=function(_0x346ffe,_0x15bc7f){return db[_0xb963('0x47')][_0xb963('0x61')]({'where':{'id':_0x346ffe['params']['id']}})['then'](handleEntityNotFound(_0x15bc7f,null))[_0xb963('0x3a')](function(_0x25c8af){if(_0x25c8af&&_0x25c8af[_0xb963('0x7c')]){throw new db[(_0xb963('0x21'))][(_0xb963('0x22'))](_0xb963('0xb4'));}return _0x25c8af;})['then'](removeEntity(_0x15bc7f,null))[_0xb963('0x2d')](handleError(_0x15bc7f,null));};exports[_0xb963('0xb5')]=function(_0x2a619e,_0x5a805a,_0x44512b){return db[_0xb963('0x47')][_0xb963('0x61')]({'where':{'id':_0x2a619e[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x5a805a,null))['then'](function(_0xd3baeb){if(_0xd3baeb){return _0xd3baeb[_0xb963('0xb5')](_0x2a619e[_0xb963('0x60')][_0xb963('0x6d')],_['omit'](_0x2a619e['body'],[_0xb963('0x6d'),'id'])||{})[_0xb963('0xb6')](function(_0x420ab6){for(var _0x4f981f=0x0;_0x4f981f<_0x2a619e[_0xb963('0x60')][_0xb963('0x6d')][_0xb963('0x51')];_0x4f981f+=0x1){socket[_0xb963('0xb7')](_0xb963('0xb8'),{'UserId':_0x2a619e[_0xb963('0x60')][_0xb963('0x6d')][_0x4f981f],'MailAccountId':_0x2a619e[_0xb963('0x5e')]['id']});}return _0x420ab6;});}})[_0xb963('0x3a')](respondWithResult(_0x5a805a,null))[_0xb963('0x2d')](handleError(_0x5a805a,null));};exports[_0xb963('0xb9')]=function(_0x3534ee,_0x463d20,_0x3d9a98){return db[_0xb963('0x47')][_0xb963('0x61')]({'where':{'id':_0x3534ee[_0xb963('0x5e')]['id']}})[_0xb963('0x3a')](handleEntityNotFound(_0x463d20,null))[_0xb963('0x3a')](function(_0x303103){if(_0x303103){return _0x303103[_0xb963('0xb9')](_0x3534ee[_0xb963('0x4b')]['ids'])[_0xb963('0x3a')](function(){if(_[_0xb963('0xba')](_0x3534ee[_0xb963('0x4b')]['ids'])){for(var _0x4612bc=0x0;_0x4612bc<_0x3534ee[_0xb963('0x4b')][_0xb963('0x6d')][_0xb963('0x51')];_0x4612bc+=0x1){socket['emit'](_0xb963('0xbb'),{'UserId':Number(_0x3534ee[_0xb963('0x4b')][_0xb963('0x6d')][_0x4612bc]),'MailAccountId':Number(_0x3534ee['params']['id'])});}}else{socket[_0xb963('0xb7')](_0xb963('0xbb'),{'UserId':Number(_0x3534ee[_0xb963('0x4b')]['ids']),'MailAccountId':Number(_0x3534ee[_0xb963('0x5e')]['id'])});}});}})[_0xb963('0x3a')](respondWithStatusCode(_0x463d20,null))[_0xb963('0x2d')](handleError(_0x463d20,null));};exports[_0xb963('0xbc')]=function(_0x4af885,_0x3028d1,_0x1d0beb){var _0x2e8a25={};var _0x3a4ddd={};var _0x2e055f;var _0x3be0b9;return db[_0xb963('0x47')][_0xb963('0x69')]({'where':{'id':_0x4af885[_0xb963('0x5e')]['id']}})['then'](handleEntityNotFound(_0x3028d1,null))[_0xb963('0x3a')](function(_0x91b376){if(_0x91b376){_0x2e055f=_0x91b376;_0x3a4ddd[_0xb963('0x4a')]=_[_0xb963('0x4c')](db[_0xb963('0xbd')][_0xb963('0x48')]);_0x3a4ddd[_0xb963('0x4b')]=_[_0xb963('0x4c')](_0x4af885[_0xb963('0x4b')]);_0x3a4ddd[_0xb963('0x4d')]=_[_0xb963('0x4e')](_0x3a4ddd[_0xb963('0x4a')],_0x3a4ddd[_0xb963('0x4b')]);_0x2e8a25[_0xb963('0x4f')]=_[_0xb963('0x4e')](_0x3a4ddd['model'],qs[_0xb963('0x50')](_0x4af885[_0xb963('0x4b')][_0xb963('0x50')]));_0x2e8a25[_0xb963('0x4f')]=_0x2e8a25['attributes'][_0xb963('0x51')]?_0x2e8a25[_0xb963('0x4f')]:_0x3a4ddd[_0xb963('0x4a')];_0x2e8a25[_0xb963('0x54')]=qs[_0xb963('0x55')](_0x4af885[_0xb963('0x4b')]['sort']);_0x2e8a25[_0xb963('0x56')]=qs[_0xb963('0x4d')](_['pick'](_0x4af885[_0xb963('0x4b')],_0x3a4ddd[_0xb963('0x4d')]));if(_0x4af885[_0xb963('0x4b')]['filter']){_0x2e8a25[_0xb963('0x56')]=_[_0xb963('0x58')](_0x2e8a25[_0xb963('0x56')],{'$or':_[_0xb963('0x46')](_0x2e8a25[_0xb963('0x4f')],function(_0x1de4b9){var _0x4da74f={};_0x4da74f[_0x1de4b9]={'$like':'%'+_0x4af885[_0xb963('0x4b')]['filter']+'%'};return _0x4da74f;})});}_0x2e8a25=_[_0xb963('0x58')]({},_0x2e8a25,_0x4af885['options']);return _0x2e055f[_0xb963('0xbc')](_0x2e8a25);}})[_0xb963('0x3a')](function(_0x177a76){if(_0x177a76){_0x3be0b9=_0x177a76[_0xb963('0x51')];if(!_0x4af885[_0xb963('0x4b')][_0xb963('0x52')]('nolimit')){_0x2e8a25[_0xb963('0x33')]=qs[_0xb963('0x33')](_0x4af885['query'][_0xb963('0x33')]);_0x2e8a25[_0xb963('0x32')]=qs['offset'](_0x4af885[_0xb963('0x4b')]['offset']);}return _0x2e055f[_0xb963('0xbc')](_0x2e8a25);}})['then'](function(_0x41fa8f){if(_0x41fa8f){return _0x41fa8f?{'count':_0x3be0b9,'rows':_0x41fa8f}:null;}})[_0xb963('0x3a')](respondWithResult(_0x3028d1,null))[_0xb963('0x2d')](handleError(_0x3028d1,null));};