Built motion from commit (unavailable).|2.4.4
[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 _0x04e8=['autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','CmContact','Contact','Owner','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','MailApplication','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','CmList','List','updatedAt','DESC','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','auth','secure','SendMail','sendMail','Contacts','defaults','List\x20not\x20found','messageId','subject','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','User','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','register','jayson/promise','client','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','catch','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','destroy','get','UserProfileResource','stack','name','send','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','MailAccount','rawAttributes','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','map','type','key','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','params','Imap','Smtp','length','find','body','update','describe','MailAccountId','Disposition','create','getDispositions','findOne','removeDispositions','ids','addAnswer','getAnswers','CannedAnswer','removeAnswers','email','ListId','isNil','active','cauthentication','cuser','password','pass','cpassword','authentication','host','port','service','cservice','user','role','UserProfileSection'];(function(_0x2c373b,_0x2bee68){var _0x813a56=function(_0x271aa4){while(--_0x271aa4){_0x2c373b['push'](_0x2c373b['shift']());}};_0x813a56(++_0x2bee68);}(_0x04e8,0x109));var _0x804e=function(_0x34dff8,_0x4657db){_0x34dff8=_0x34dff8-0x0;var _0xf13117=_0x04e8[_0x34dff8];return _0xf13117;};'use strict';var pdf=require(_0x804e('0x0'));var emlformat=require(_0x804e('0x1'));var rimraf=require(_0x804e('0x2'));var zipdir=require(_0x804e('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x804e('0x4'));var BPromise=require(_0x804e('0x5'));var Mustache=require(_0x804e('0x6'));var util=require(_0x804e('0x7'));var path=require(_0x804e('0x8'));var sox=require(_0x804e('0x9'));var csv=require(_0x804e('0xa'));var ejs=require(_0x804e('0xb'));var fs=require('fs');var _=require(_0x804e('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x804e('0xd'));var deskjs=require(_0x804e('0xe'));var toCsv=require(_0x804e('0xa'));var querystring=require('querystring');var Papa=require(_0x804e('0xf'));var Redis=require(_0x804e('0x10'));var authService=require(_0x804e('0x11'));var qs=require(_0x804e('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x804e('0x13'))('api');var utils=require(_0x804e('0x14'));var config=require(_0x804e('0x15'));var db=require(_0x804e('0x16'))['db'];config[_0x804e('0x17')]=_['defaults'](config[_0x804e('0x17')],{'host':_0x804e('0x18'),'port':0x18eb});var socket=require(_0x804e('0x19'))(new Redis(config[_0x804e('0x17')]));require('./mailAccount.socket')[_0x804e('0x1a')](socket);var jayson=require(_0x804e('0x1b'));var client=jayson[_0x804e('0x1c')]['http']({'port':0x232b});function checkPasswordPattern(_0x18d877,_0x1a2ff5,_0x1eccf0){if(_0x1eccf0){var _0x317cce=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x317cce['test'](_0x1a2ff5)){return _0x18d877;}else{throw new Error(_0x804e('0x1d'));}}else{return _0x18d877;}}function respondWithRpcPromise(_0x4181f9,_0x4d0389,_0x44a339,_0x11eb2f){return new BPromise(function(_0x4f3ff3,_0xd04972){var _0x551581=_0x11eb2f||client;return _0x551581['request'](_0x4181f9,_0x44a339)[_0x804e('0x1e')](function(_0x434894){logger[_0x804e('0x1f')](_0x804e('0x20'),_0x4d0389,_0x804e('0x21'));logger[_0x804e('0x22')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x4d0389,_0x804e('0x21'),JSON[_0x804e('0x23')](_0x434894));if(_0x434894[_0x804e('0x24')]){if(_0x434894[_0x804e('0x24')][_0x804e('0x25')]===0x1f4){logger[_0x804e('0x24')](_0x804e('0x20'),_0x4d0389,_0x434894[_0x804e('0x24')][_0x804e('0x26')]);return _0xd04972(_0x434894[_0x804e('0x24')][_0x804e('0x26')]);}logger[_0x804e('0x24')](_0x804e('0x20'),_0x4d0389,_0x434894[_0x804e('0x24')][_0x804e('0x26')]);return _0x4f3ff3(_0x434894['error'][_0x804e('0x26')]);}else{logger[_0x804e('0x1f')](_0x804e('0x20'),_0x4d0389,_0x804e('0x21'));_0x4f3ff3(_0x434894['result']['message']);}})[_0x804e('0x27')](function(_0x226b3c){logger[_0x804e('0x24')]('MailAccount,\x20%s,\x20%s',_0x4d0389,_0x226b3c);_0xd04972(_0x226b3c);});});}function respondWithStatusCode(_0x43f9b7,_0x39dba2){_0x39dba2=_0x39dba2||0xcc;return function(_0x444803){if(_0x444803){return _0x43f9b7[_0x804e('0x28')](_0x39dba2);}return _0x43f9b7[_0x804e('0x29')](_0x39dba2)[_0x804e('0x2a')]();};}function respondWithResult(_0x364812,_0x461d49){_0x461d49=_0x461d49||0xc8;return function(_0xc67f49){if(_0xc67f49){return _0x364812[_0x804e('0x29')](_0x461d49)[_0x804e('0x2b')](_0xc67f49);}};}function respondWithFilteredResult(_0x1677b1,_0x322faf){return function(_0xe6e4c8){if(_0xe6e4c8){var _0x84bed4=_0xe6e4c8[_0x804e('0x2c')],_0x1b7c24=_0x322faf['offset'],_0x2b03e7=_0x322faf[_0x804e('0x2d')]+_0x322faf[_0x804e('0x2e')],_0x511c6d;if(_0x2b03e7>=_0x84bed4){_0x2b03e7=_0x84bed4;_0x511c6d=0xc8;}else{_0x511c6d=0xce;}_0x1677b1['status'](_0x511c6d);return _0x1677b1['set'](_0x804e('0x2f'),_0x1b7c24+'-'+_0x2b03e7+'/'+_0x84bed4)[_0x804e('0x2b')](_0xe6e4c8);}return null;};}function patchUpdates(_0x198731){return function(_0x30469c){try{jsonpatch[_0x804e('0x30')](_0x30469c,_0x198731,!![]);}catch(_0x459698){return BPromise['reject'](_0x459698);}return _0x30469c['save']();};}function saveUpdates(_0x4a7678,_0x38794f){return function(_0x1cd9c1){if(_0x1cd9c1){return _0x1cd9c1['update'](_0x4a7678)['then'](function(_0x2b339e){return _0x2b339e;});}return null;};}function removeEntity(_0x216f63,_0x5a6332){return function(_0x12f9b0){if(_0x12f9b0){return _0x12f9b0[_0x804e('0x31')]()[_0x804e('0x1e')](function(){var _0x4695ce=_0x12f9b0[_0x804e('0x32')]({'plain':!![]});var _0x17e8d0='MailAccounts';return db[_0x804e('0x33')]['destroy']({'where':{'type':_0x17e8d0,'resourceId':_0x4695ce['id']}})[_0x804e('0x1e')](function(){return _0x12f9b0;});})[_0x804e('0x1e')](function(){_0x216f63[_0x804e('0x29')](0xcc)[_0x804e('0x2a')]();});}};}function handleEntityNotFound(_0x53b48b,_0xfabb72){return function(_0x1774e2){if(!_0x1774e2){_0x53b48b[_0x804e('0x28')](0x194);}return _0x1774e2;};}function handleError(_0x51aceb,_0x3fad32){_0x3fad32=_0x3fad32||0x1f4;return function(_0x40eb7b){logger[_0x804e('0x24')](_0x40eb7b[_0x804e('0x34')]);if(_0x40eb7b[_0x804e('0x35')]){delete _0x40eb7b[_0x804e('0x35')];}_0x51aceb[_0x804e('0x29')](_0x3fad32)[_0x804e('0x36')](_0x40eb7b);};}exports[_0x804e('0x37')]=function(_0x53fb50,_0x5b83e3){var _0x21894e={'include':[{'model':db[_0x804e('0x38')],'as':'Imap'},{'model':db[_0x804e('0x39')],'as':'Smtp'},{'model':db[_0x804e('0x3a')],'as':_0x804e('0x3b')}]},_0x38cc78={},_0x34659e={'count':0x0,'rows':[]};var _0x404ed4=db[_0x804e('0x3c')][_0x804e('0x3d')];_0x38cc78[_0x804e('0x3e')]=_[_0x804e('0x3f')](_0x404ed4);_0x38cc78['query']=_[_0x804e('0x3f')](_0x53fb50[_0x804e('0x40')]);_0x38cc78[_0x804e('0x41')]=_[_0x804e('0x42')](_0x38cc78[_0x804e('0x3e')],_0x38cc78[_0x804e('0x40')]);_0x21894e[_0x804e('0x43')]=_[_0x804e('0x42')](_0x38cc78['model'],qs[_0x804e('0x44')](_0x53fb50['query'][_0x804e('0x44')]));_0x21894e[_0x804e('0x43')]=_0x21894e[_0x804e('0x43')]['length']?_0x21894e[_0x804e('0x43')]:_0x38cc78['model'];if(!_0x53fb50['query'][_0x804e('0x45')](_0x804e('0x46'))){_0x21894e[_0x804e('0x2e')]=qs['limit'](_0x53fb50[_0x804e('0x40')][_0x804e('0x2e')]);_0x21894e[_0x804e('0x2d')]=qs['offset'](_0x53fb50[_0x804e('0x40')][_0x804e('0x2d')]);}_0x21894e[_0x804e('0x47')]=qs[_0x804e('0x48')](_0x53fb50[_0x804e('0x40')]['sort']);_0x21894e['where']=qs['filters'](_[_0x804e('0x49')](_0x53fb50[_0x804e('0x40')],_0x38cc78['filters']));if(_0x53fb50[_0x804e('0x40')][_0x804e('0x4a')]){_0x21894e[_0x804e('0x4b')]=_['merge'](_0x21894e['where'],{'$or':_[_0x804e('0x4c')](_0x404ed4,function(_0x4b2270){if(_0x4b2270[_0x804e('0x4d')][_0x804e('0x4e')]!==_0x804e('0x4f')){var _0x3c38c4={};_0x3c38c4[_0x4b2270['field']]={'$like':'%'+_0x53fb50[_0x804e('0x40')][_0x804e('0x4a')]+'%'};return _0x3c38c4;}})});}_0x21894e=_[_0x804e('0x50')]({},_0x21894e,_0x53fb50[_0x804e('0x51')]);var _0x2a452a={'where':_0x21894e[_0x804e('0x4b')]};return db[_0x804e('0x3c')][_0x804e('0x2c')](_0x2a452a)[_0x804e('0x1e')](function(_0x6404eb){_0x34659e['count']=_0x6404eb;if(_0x53fb50[_0x804e('0x40')][_0x804e('0x52')]){_0x21894e[_0x804e('0x53')]=[{'all':!![]}];}return db[_0x804e('0x3c')][_0x804e('0x54')](_0x21894e);})['then'](function(_0x52bcc2){_0x34659e[_0x804e('0x55')]=_0x52bcc2;return _0x34659e;})['then'](respondWithFilteredResult(_0x5b83e3,_0x21894e))[_0x804e('0x27')](handleError(_0x5b83e3,null));};exports[_0x804e('0x56')]=function(_0x5b80c3,_0x186de0){var _0x597054={'raw':![],'where':{'id':_0x5b80c3[_0x804e('0x57')]['id']},'include':[{'model':db[_0x804e('0x38')],'as':_0x804e('0x58')},{'model':db[_0x804e('0x39')],'as':_0x804e('0x59')},{'model':db[_0x804e('0x3a')],'as':'mandatoryDispositionPause'}]},_0x10ab11={};_0x10ab11[_0x804e('0x3e')]=_['keys'](db[_0x804e('0x3c')]['rawAttributes']);_0x10ab11[_0x804e('0x40')]=_[_0x804e('0x3f')](_0x5b80c3[_0x804e('0x40')]);_0x10ab11[_0x804e('0x41')]=_['intersection'](_0x10ab11['model'],_0x10ab11[_0x804e('0x40')]);_0x597054[_0x804e('0x43')]=_[_0x804e('0x42')](_0x10ab11[_0x804e('0x3e')],qs[_0x804e('0x44')](_0x5b80c3[_0x804e('0x40')][_0x804e('0x44')]));_0x597054['attributes']=_0x597054[_0x804e('0x43')][_0x804e('0x5a')]?_0x597054['attributes']:_0x10ab11[_0x804e('0x3e')];if(_0x5b80c3[_0x804e('0x40')][_0x804e('0x52')]){_0x597054['include']=[{'all':!![]}];}_0x597054=_['merge']({},_0x597054,_0x5b80c3[_0x804e('0x51')]);return db[_0x804e('0x3c')][_0x804e('0x5b')](_0x597054)[_0x804e('0x1e')](handleEntityNotFound(_0x186de0,null))[_0x804e('0x1e')](respondWithResult(_0x186de0,null))[_0x804e('0x27')](handleError(_0x186de0,null));};exports['update']=function(_0x212e6e,_0x577164){if(_0x212e6e[_0x804e('0x5c')]['id']){delete _0x212e6e[_0x804e('0x5c')]['id'];}return db[_0x804e('0x3c')][_0x804e('0x5b')]({'where':{'id':_0x212e6e['params']['id']},'include':[{'model':db[_0x804e('0x38')],'as':_0x804e('0x58')},{'model':db[_0x804e('0x39')],'as':_0x804e('0x59')},{'model':db[_0x804e('0x3a')],'as':_0x804e('0x3b')}]})['then'](handleEntityNotFound(_0x577164,null))[_0x804e('0x1e')](saveUpdates(_0x212e6e['body'],null))[_0x804e('0x1e')](function(_0x37f9d3){if(_0x37f9d3&&_0x212e6e[_0x804e('0x5c')][_0x804e('0x58')]){return db['MailServerIn'][_0x804e('0x5d')](_0x212e6e[_0x804e('0x5c')][_0x804e('0x58')],{'where':{'MailAccountId':_0x37f9d3['id']}})[_0x804e('0x1e')](function(){return _0x37f9d3;});}return _0x37f9d3;})[_0x804e('0x1e')](function(_0x1032ab){if(_0x1032ab&&_0x212e6e[_0x804e('0x5c')]['Smtp']){return db['MailServerOut'][_0x804e('0x5d')](_0x212e6e[_0x804e('0x5c')]['Smtp'],{'where':{'MailAccountId':_0x1032ab['id']}})[_0x804e('0x1e')](function(){return _0x1032ab;});}return _0x1032ab;})['then'](respondWithResult(_0x577164,null))['catch'](handleError(_0x577164,null));};exports[_0x804e('0x5e')]=function(_0x8d33f9,_0x550f68){return db['MailAccount']['describe']()['then'](respondWithResult(_0x550f68,null))['catch'](handleError(_0x550f68,null));};exports['addDisposition']=function(_0x441853,_0x1a7f49,_0x5d2215){if(_0x441853['body']['id']){delete _0x441853['body']['id'];}return db[_0x804e('0x3c')][_0x804e('0x5b')]({'where':{'id':_0x441853[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x1a7f49,null))[_0x804e('0x1e')](function(_0x280525){if(_0x280525){_0x441853[_0x804e('0x5c')][_0x804e('0x5f')]=_0x280525['id'];return db[_0x804e('0x60')][_0x804e('0x61')](_0x441853[_0x804e('0x5c')]);}})[_0x804e('0x1e')](respondWithResult(_0x1a7f49,null))[_0x804e('0x27')](handleError(_0x1a7f49,null));};exports[_0x804e('0x62')]=function(_0x2bd2e6,_0xfe4a8d,_0x5d6b9d){var _0x469f23={'raw':![],'where':{}};var _0xae6a09={};var _0x7a9f0={'count':0x0,'rows':[]};return db[_0x804e('0x3c')][_0x804e('0x63')]({'where':{'id':_0x2bd2e6['params']['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0xfe4a8d,null))[_0x804e('0x1e')](function(_0x4ea20e){if(_0x4ea20e){_0xae6a09[_0x804e('0x3e')]=_[_0x804e('0x3f')](db[_0x804e('0x60')]['rawAttributes']);_0xae6a09[_0x804e('0x40')]=_[_0x804e('0x3f')](_0x2bd2e6[_0x804e('0x40')]);_0xae6a09['filters']=_[_0x804e('0x42')](_0xae6a09['model'],_0xae6a09[_0x804e('0x40')]);_0x469f23[_0x804e('0x43')]=_[_0x804e('0x42')](_0xae6a09[_0x804e('0x3e')],qs['fields'](_0x2bd2e6['query'][_0x804e('0x44')]));_0x469f23[_0x804e('0x43')]=_0x469f23[_0x804e('0x43')][_0x804e('0x5a')]?_0x469f23[_0x804e('0x43')]:_0xae6a09['model'];if(!_0x2bd2e6[_0x804e('0x40')]['hasOwnProperty']('nolimit')){_0x469f23['limit']=qs[_0x804e('0x2e')](_0x2bd2e6[_0x804e('0x40')][_0x804e('0x2e')]);_0x469f23[_0x804e('0x2d')]=qs[_0x804e('0x2d')](_0x2bd2e6['query']['offset']);}_0x469f23[_0x804e('0x47')]=qs['sort'](_0x2bd2e6['query']['sort']);_0x469f23[_0x804e('0x4b')]=qs[_0x804e('0x41')](_[_0x804e('0x49')](_0x2bd2e6[_0x804e('0x40')],_0xae6a09[_0x804e('0x41')]));_0x469f23[_0x804e('0x4b')]['MailAccountId']=_0x4ea20e['id'];if(_0x2bd2e6[_0x804e('0x40')][_0x804e('0x4a')]){_0x469f23['where']=_[_0x804e('0x50')](_0x469f23[_0x804e('0x4b')],{'$or':_[_0x804e('0x4c')](_0x469f23[_0x804e('0x43')],function(_0x4378a2){var _0x4dce18={};_0x4dce18[_0x4378a2]={'$like':'%'+_0x2bd2e6['query'][_0x804e('0x4a')]+'%'};return _0x4dce18;})});}_0x469f23=_['merge']({},_0x469f23,_0x2bd2e6[_0x804e('0x51')]);return db['Disposition'][_0x804e('0x2c')]({'where':_0x469f23[_0x804e('0x4b')]})[_0x804e('0x1e')](function(_0x3d4bc8){_0x7a9f0[_0x804e('0x2c')]=_0x3d4bc8;if(_0x2bd2e6[_0x804e('0x40')][_0x804e('0x52')]){_0x469f23[_0x804e('0x53')]=[{'all':!![]}];}return db['Disposition'][_0x804e('0x54')](_0x469f23);})['then'](function(_0x18861b){_0x7a9f0[_0x804e('0x55')]=_0x18861b;return _0x7a9f0;});}})[_0x804e('0x1e')](respondWithFilteredResult(_0xfe4a8d,_0x469f23))['catch'](handleError(_0xfe4a8d,null));};exports[_0x804e('0x64')]=function(_0x4b27da,_0xeb4586,_0x14f553){return db[_0x804e('0x3c')][_0x804e('0x5b')]({'where':{'id':_0x4b27da[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0xeb4586,null))[_0x804e('0x1e')](function(_0x1784cf){if(_0x1784cf){return _0x1784cf[_0x804e('0x64')](_0x4b27da[_0x804e('0x40')][_0x804e('0x65')]);}})[_0x804e('0x1e')](respondWithStatusCode(_0xeb4586,null))[_0x804e('0x27')](handleError(_0xeb4586,null));};exports[_0x804e('0x66')]=function(_0x434e20,_0x3ad4f8,_0x16d234){if(_0x434e20[_0x804e('0x5c')]['id']){delete _0x434e20[_0x804e('0x5c')]['id'];}return db[_0x804e('0x3c')][_0x804e('0x5b')]({'where':{'id':_0x434e20[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x3ad4f8,null))['then'](function(_0x29edae){if(_0x29edae){_0x434e20['body'][_0x804e('0x5f')]=_0x29edae['id'];return db['CannedAnswer'][_0x804e('0x61')](_0x434e20[_0x804e('0x5c')]);}})[_0x804e('0x1e')](respondWithResult(_0x3ad4f8,null))[_0x804e('0x27')](handleError(_0x3ad4f8,null));};exports[_0x804e('0x67')]=function(_0x467e9a,_0x580e4b,_0x38d29a){var _0x59f3f0={'raw':![],'where':{}};var _0x5bf91b={};var _0x595a0b={'count':0x0,'rows':[]};return db['MailAccount'][_0x804e('0x63')]({'where':{'id':_0x467e9a[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x580e4b,null))['then'](function(_0x4ede9c){if(_0x4ede9c){_0x5bf91b[_0x804e('0x3e')]=_[_0x804e('0x3f')](db[_0x804e('0x68')][_0x804e('0x3d')]);_0x5bf91b[_0x804e('0x40')]=_[_0x804e('0x3f')](_0x467e9a[_0x804e('0x40')]);_0x5bf91b['filters']=_['intersection'](_0x5bf91b['model'],_0x5bf91b[_0x804e('0x40')]);_0x59f3f0['attributes']=_[_0x804e('0x42')](_0x5bf91b[_0x804e('0x3e')],qs[_0x804e('0x44')](_0x467e9a[_0x804e('0x40')][_0x804e('0x44')]));_0x59f3f0[_0x804e('0x43')]=_0x59f3f0['attributes']['length']?_0x59f3f0[_0x804e('0x43')]:_0x5bf91b[_0x804e('0x3e')];if(!_0x467e9a[_0x804e('0x40')][_0x804e('0x45')](_0x804e('0x46'))){_0x59f3f0[_0x804e('0x2e')]=qs[_0x804e('0x2e')](_0x467e9a[_0x804e('0x40')][_0x804e('0x2e')]);_0x59f3f0['offset']=qs[_0x804e('0x2d')](_0x467e9a[_0x804e('0x40')][_0x804e('0x2d')]);}_0x59f3f0['order']=qs[_0x804e('0x48')](_0x467e9a[_0x804e('0x40')][_0x804e('0x48')]);_0x59f3f0['where']=qs[_0x804e('0x41')](_[_0x804e('0x49')](_0x467e9a['query'],_0x5bf91b[_0x804e('0x41')]));_0x59f3f0[_0x804e('0x4b')][_0x804e('0x5f')]=_0x4ede9c['id'];if(_0x467e9a['query'][_0x804e('0x4a')]){_0x59f3f0['where']=_[_0x804e('0x50')](_0x59f3f0[_0x804e('0x4b')],{'$or':_[_0x804e('0x4c')](_0x59f3f0[_0x804e('0x43')],function(_0x132697){var _0x4e6266={};_0x4e6266[_0x132697]={'$like':'%'+_0x467e9a['query'][_0x804e('0x4a')]+'%'};return _0x4e6266;})});}_0x59f3f0=_[_0x804e('0x50')]({},_0x59f3f0,_0x467e9a[_0x804e('0x51')]);return db[_0x804e('0x68')][_0x804e('0x2c')]({'where':_0x59f3f0[_0x804e('0x4b')]})[_0x804e('0x1e')](function(_0x1675c1){_0x595a0b[_0x804e('0x2c')]=_0x1675c1;if(_0x467e9a[_0x804e('0x40')][_0x804e('0x52')]){_0x59f3f0[_0x804e('0x53')]=[{'all':!![]}];}return db['CannedAnswer']['findAll'](_0x59f3f0);})[_0x804e('0x1e')](function(_0x1f0f84){_0x595a0b[_0x804e('0x55')]=_0x1f0f84;return _0x595a0b;});}})[_0x804e('0x1e')](respondWithFilteredResult(_0x580e4b,_0x59f3f0))[_0x804e('0x27')](handleError(_0x580e4b,null));};exports[_0x804e('0x69')]=function(_0x4ee9c1,_0x30606a,_0x78424c){return db[_0x804e('0x3c')][_0x804e('0x5b')]({'where':{'id':_0x4ee9c1[_0x804e('0x57')]['id']}})['then'](handleEntityNotFound(_0x30606a,null))[_0x804e('0x1e')](function(_0x2ce94c){if(_0x2ce94c){return _0x2ce94c[_0x804e('0x69')](_0x4ee9c1[_0x804e('0x40')][_0x804e('0x65')]);}})['then'](respondWithStatusCode(_0x30606a,null))[_0x804e('0x27')](handleError(_0x30606a,null));};exports[_0x804e('0x61')]=function(_0x1f9e54,_0xcd53a4){var _0x35e346={'name':_0x1f9e54['body']['name'],'key':_0x1f9e54[_0x804e('0x5c')][_0x804e('0x4e')],'email':_0x1f9e54[_0x804e('0x5c')][_0x804e('0x6a')],'ListId':_0x1f9e54['body'][_0x804e('0x6b')],'active':!_[_0x804e('0x6c')](_0x1f9e54[_0x804e('0x5c')][_0x804e('0x6d')])?_0x1f9e54['body']['active']:!![],'description':_0x1f9e54[_0x804e('0x5c')]['description']||null,'Imap':{},'Smtp':{}};if(_['isNil'](_0x1f9e54[_0x804e('0x5c')]['cservice'])){if(_0x1f9e54[_0x804e('0x5c')][_0x804e('0x6e')]){_0x35e346[_0x804e('0x58')]['user']=_0x35e346[_0x804e('0x59')]['user']=_0x1f9e54[_0x804e('0x5c')][_0x804e('0x6f')];_0x35e346[_0x804e('0x58')][_0x804e('0x70')]=_0x35e346[_0x804e('0x59')][_0x804e('0x71')]=_0x1f9e54[_0x804e('0x5c')][_0x804e('0x72')];}else{_0x35e346[_0x804e('0x58')][_0x804e('0x73')]=_0x35e346['Smtp'][_0x804e('0x73')]=![];}_0x35e346[_0x804e('0x58')]['host']=_0x1f9e54[_0x804e('0x5c')][_0x804e('0x58')][_0x804e('0x74')];_0x35e346['Imap'][_0x804e('0x75')]=_0x1f9e54['body'][_0x804e('0x58')][_0x804e('0x75')];_0x35e346['Smtp']['host']=_0x1f9e54['body']['Smtp'][_0x804e('0x74')];_0x35e346['Smtp'][_0x804e('0x75')]=_0x1f9e54['body']['Smtp'][_0x804e('0x75')];}else{_0x35e346[_0x804e('0x58')][_0x804e('0x76')]=_0x35e346[_0x804e('0x59')][_0x804e('0x76')]=_0x1f9e54[_0x804e('0x5c')][_0x804e('0x77')];_0x35e346[_0x804e('0x58')][_0x804e('0x78')]=_0x35e346[_0x804e('0x59')][_0x804e('0x78')]=_0x1f9e54['body'][_0x804e('0x6f')];_0x35e346[_0x804e('0x58')][_0x804e('0x70')]=_0x35e346[_0x804e('0x59')][_0x804e('0x71')]=_0x1f9e54[_0x804e('0x5c')][_0x804e('0x72')];}return db['MailAccount']['create'](_0x35e346,{'include':[{'model':db[_0x804e('0x39')],'as':'Smtp'},{'model':db['MailServerIn'],'as':_0x804e('0x58')}]})[_0x804e('0x1e')](function(_0x31a302){var _0xe4ac5c=_0x1f9e54['user'][_0x804e('0x32')]({'plain':!![]});if(!_0xe4ac5c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xe4ac5c[_0x804e('0x79')]===_0x804e('0x78')){var _0x5d871f=_0x31a302['get']({'plain':!![]});return db[_0x804e('0x7a')][_0x804e('0x5b')]({'where':{'name':'MailAccounts','userProfileId':_0xe4ac5c['userProfileId']},'raw':!![]})[_0x804e('0x1e')](function(_0x347d1f){if(_0x347d1f&&_0x347d1f[_0x804e('0x7b')]===0x0){return db[_0x804e('0x33')][_0x804e('0x61')]({'name':_0x5d871f['name'],'resourceId':_0x5d871f['id'],'type':_0x347d1f['name'],'sectionId':_0x347d1f['id']},{})['then'](function(){return _0x31a302;});}else{return _0x31a302;}})[_0x804e('0x27')](function(_0x5a944d){logger[_0x804e('0x24')](_0x804e('0x7c'),_0x5a944d);throw _0x5a944d;});}return _0x31a302;})['then'](respondWithResult(_0xcd53a4,0xc9))['catch'](handleError(_0xcd53a4,null));};exports[_0x804e('0x7d')]=function(_0x4aa43a,_0x3199dc,_0x4b5266){return db[_0x804e('0x3c')]['findOne']({'where':{'id':_0x4aa43a[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x3199dc,null))[_0x804e('0x1e')](function(_0x5aebec){if(_0x5aebec){return _0x5aebec[_0x804e('0x7d')]();}return null;})[_0x804e('0x1e')](respondWithResult(_0x3199dc,null))[_0x804e('0x27')](handleError(_0x3199dc,null));};exports[_0x804e('0x7e')]=function(_0x129de8,_0x104d23,_0x40c77e){if(_0x129de8['body']['id']){delete _0x129de8[_0x804e('0x5c')]['id'];}return db['MailAccount'][_0x804e('0x5b')]({'where':{'id':_0x129de8['params']['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x104d23,null))[_0x804e('0x1e')](function(_0x364e5d){if(_0x364e5d){_0x129de8[_0x804e('0x5c')][_0x804e('0x5f')]=_0x364e5d['id'];return db['MailServerIn']['create'](_0x129de8[_0x804e('0x5c')]);}})['then'](respondWithResult(_0x104d23,null))[_0x804e('0x27')](handleError(_0x104d23,null));};exports['removeImap']=function(_0x604e75,_0x1209f3,_0x27c32b){return db[_0x804e('0x3c')][_0x804e('0x63')]({'where':{'id':_0x604e75[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x1209f3,null))[_0x804e('0x1e')](function(_0x189e44){if(_0x189e44){return _0x189e44[_0x804e('0x7f')](null);}return null;})[_0x804e('0x1e')](respondWithStatusCode(_0x1209f3,null))[_0x804e('0x27')](handleError(_0x1209f3,null));};exports[_0x804e('0x80')]=function(_0x497ae1,_0xc6eb25,_0x2ff06e){return db[_0x804e('0x3c')]['findOne']({'where':{'id':_0x497ae1[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0xc6eb25,null))[_0x804e('0x1e')](function(_0x14060b){if(_0x14060b){return _0x14060b[_0x804e('0x80')]();}return null;})[_0x804e('0x1e')](respondWithResult(_0xc6eb25,null))[_0x804e('0x27')](handleError(_0xc6eb25,null));};exports[_0x804e('0x81')]=function(_0x781fde,_0x4dbb41,_0x4d2f15){if(_0x781fde[_0x804e('0x5c')]['id']){delete _0x781fde[_0x804e('0x5c')]['id'];}return db['MailAccount'][_0x804e('0x5b')]({'where':{'id':_0x781fde[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x4dbb41,null))[_0x804e('0x1e')](function(_0x2bcc0e){if(_0x2bcc0e){_0x781fde[_0x804e('0x5c')][_0x804e('0x5f')]=_0x2bcc0e['id'];return db['MailServerOut'][_0x804e('0x61')](_0x781fde['body']);}})[_0x804e('0x1e')](respondWithResult(_0x4dbb41,null))[_0x804e('0x27')](handleError(_0x4dbb41,null));};exports[_0x804e('0x82')]=function(_0x240a3d,_0x158588,_0x39fd18){return db[_0x804e('0x3c')][_0x804e('0x63')]({'where':{'id':_0x240a3d[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x158588,null))['then'](function(_0xa88341){if(_0xa88341){return _0xa88341[_0x804e('0x83')](null);}return null;})[_0x804e('0x1e')](respondWithStatusCode(_0x158588,null))[_0x804e('0x27')](handleError(_0x158588,null));};exports[_0x804e('0x84')]=function(_0x30fc56,_0x387940,_0x41835a){return db[_0x804e('0x85')][_0x804e('0x5b')]({'where':{'id':_0x30fc56[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x387940,null))['then'](function(_0xd2aca4){if(_0xd2aca4){return _0xd2aca4['addInteraction'](_0x30fc56['body']['ids'],_[_0x804e('0x86')](_0x30fc56[_0x804e('0x5c')],['ids','id'])||{});}})['then'](respondWithResult(_0x387940,null))[_0x804e('0x27')](handleError(_0x387940,null));};exports['getInteractions']=function(_0x47fe4e,_0x59247f,_0x4008e1){var _0x1d2543={'raw':![],'where':{}};var _0x4f84d1={};var _0x5a58ec={'count':0x0,'rows':[]};return db[_0x804e('0x3c')][_0x804e('0x63')]({'where':{'id':_0x47fe4e[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x59247f,null))[_0x804e('0x1e')](function(_0xc03f79){if(_0xc03f79){_0x4f84d1[_0x804e('0x3e')]=_[_0x804e('0x3f')](db[_0x804e('0x85')][_0x804e('0x3d')]);_0x4f84d1[_0x804e('0x40')]=_[_0x804e('0x3f')](_0x47fe4e['query']);_0x4f84d1[_0x804e('0x41')]=_[_0x804e('0x42')](_0x4f84d1['model'],_0x4f84d1['query']);_0x1d2543[_0x804e('0x43')]=_[_0x804e('0x42')](_0x4f84d1[_0x804e('0x3e')],qs[_0x804e('0x44')](_0x47fe4e[_0x804e('0x40')][_0x804e('0x44')]));_0x1d2543[_0x804e('0x43')]=_0x1d2543[_0x804e('0x43')]['length']?_0x1d2543[_0x804e('0x43')]:_0x4f84d1[_0x804e('0x3e')];if(!_0x47fe4e['query']['hasOwnProperty']('nolimit')){_0x1d2543[_0x804e('0x2e')]=qs[_0x804e('0x2e')](_0x47fe4e[_0x804e('0x40')][_0x804e('0x2e')]);_0x1d2543[_0x804e('0x2d')]=qs[_0x804e('0x2d')](_0x47fe4e[_0x804e('0x40')][_0x804e('0x2d')]);}_0x1d2543['order']=qs[_0x804e('0x48')](_0x47fe4e[_0x804e('0x40')][_0x804e('0x48')]);_0x1d2543['where']=qs['filters'](_[_0x804e('0x49')](_0x47fe4e[_0x804e('0x40')],_0x4f84d1[_0x804e('0x41')]));_0x1d2543['where'][_0x804e('0x5f')]=_0xc03f79['id'];if(_0x47fe4e[_0x804e('0x40')][_0x804e('0x4a')]){_0x1d2543[_0x804e('0x4b')]=_['merge'](_0x1d2543[_0x804e('0x4b')],{'$or':_[_0x804e('0x4c')](_0x1d2543['attributes'],function(_0x5e0ffc){var _0x96ecd={};_0x96ecd[_0x5e0ffc]={'$like':'%'+_0x47fe4e[_0x804e('0x40')][_0x804e('0x4a')]+'%'};return _0x96ecd;})});}_0x1d2543=_[_0x804e('0x50')]({},_0x1d2543,_0x47fe4e[_0x804e('0x51')]);return db[_0x804e('0x85')][_0x804e('0x2c')]({'where':_0x1d2543[_0x804e('0x4b')]})[_0x804e('0x1e')](function(_0x2a14c4){_0x5a58ec[_0x804e('0x2c')]=_0x2a14c4;if(_0x47fe4e[_0x804e('0x40')]['includeAll']){_0x1d2543['include']=[{'model':db[_0x804e('0x87')],'as':_0x804e('0x88'),'required':![]},{'model':db['User'],'as':_0x804e('0x89'),'attributes':[_0x804e('0x35'),'fullname',_0x804e('0x8a')],'required':![]},{'model':db[_0x804e('0x8b')],'as':_0x804e('0x8c'),'attributes':['id','name',_0x804e('0x8d')],'where':_0x47fe4e[_0x804e('0x40')][_0x804e('0x8e')]?{'id':_0x47fe4e[_0x804e('0x40')][_0x804e('0x8e')]}:undefined,'required':_0x47fe4e[_0x804e('0x40')][_0x804e('0x8e')]?!![]:![]}];}return db[_0x804e('0x85')][_0x804e('0x54')](_0x1d2543);})[_0x804e('0x1e')](function(_0x52b67c){_0x5a58ec['rows']=_0x52b67c;return _0x5a58ec;});}})[_0x804e('0x1e')](respondWithFilteredResult(_0x59247f,_0x1d2543))[_0x804e('0x27')](handleError(_0x59247f,null));};exports[_0x804e('0x8f')]=function(_0x1dfb24,_0x39b321,_0x5d772c){return db['MailAccount'][_0x804e('0x63')]({'where':{'id':_0x1dfb24['params']['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x39b321,null))[_0x804e('0x1e')](function(_0x5e0b95){if(_0x5e0b95){return db[_0x804e('0x90')][_0x804e('0x91')](function(_0x37784c){return db[_0x804e('0x92')]['destroy']({'where':{'MailAccountId':_0x1dfb24[_0x804e('0x57')]['id']},'transaction':_0x37784c})[_0x804e('0x1e')](function(_0x53111f){var _0x33f01d=_[_0x804e('0x4c')](_0x1dfb24[_0x804e('0x5c')],function(_0x7272c4){_0x7272c4[_0x804e('0x5f')]=_0x1dfb24['params']['id'];return _0x7272c4;});return db['MailApplication']['bulkCreate'](_0x33f01d,{'transaction':_0x37784c});});})[_0x804e('0x1e')](function(){return db[_0x804e('0x92')][_0x804e('0x93')]({'where':{'MailAccountId':_0x1dfb24[_0x804e('0x57')]['id']},'order':_0x804e('0x94')});});}})[_0x804e('0x1e')](respondWithResult(_0x39b321,null))[_0x804e('0x27')](handleError(_0x39b321,null));};exports[_0x804e('0x95')]=function(_0x2446b3,_0x46ad8a,_0x212d37){var _0x13336c={};var _0x52c0f8={};var _0x5bdff;var _0x188c5f;return db[_0x804e('0x3c')]['findOne']({'where':{'id':_0x2446b3[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x46ad8a,null))[_0x804e('0x1e')](function(_0x2b9b93){if(_0x2b9b93){_0x5bdff=_0x2b9b93;_0x52c0f8[_0x804e('0x3e')]=_[_0x804e('0x3f')](db[_0x804e('0x92')]['rawAttributes']);_0x52c0f8[_0x804e('0x40')]=_[_0x804e('0x3f')](_0x2446b3['query']);_0x52c0f8[_0x804e('0x41')]=_[_0x804e('0x42')](_0x52c0f8[_0x804e('0x3e')],_0x52c0f8['query']);_0x13336c[_0x804e('0x43')]=_[_0x804e('0x42')](_0x52c0f8['model'],qs['fields'](_0x2446b3[_0x804e('0x40')][_0x804e('0x44')]));_0x13336c[_0x804e('0x43')]=_0x13336c[_0x804e('0x43')][_0x804e('0x5a')]?_0x13336c[_0x804e('0x43')]:_0x52c0f8[_0x804e('0x3e')];_0x13336c[_0x804e('0x47')]=qs['sort'](_0x2446b3[_0x804e('0x40')][_0x804e('0x48')]);_0x13336c[_0x804e('0x4b')]=qs[_0x804e('0x41')](_[_0x804e('0x49')](_0x2446b3['query'],_0x52c0f8['filters']));if(_0x2446b3['query'][_0x804e('0x4a')]){_0x13336c[_0x804e('0x4b')]=_[_0x804e('0x50')](_0x13336c[_0x804e('0x4b')],{'$or':_['map'](_0x13336c[_0x804e('0x43')],function(_0x5b684f){var _0x587e19={};_0x587e19[_0x5b684f]={'$like':'%'+_0x2446b3[_0x804e('0x40')][_0x804e('0x4a')]+'%'};return _0x587e19;})});}_0x13336c=_['merge']({},_0x13336c,_0x2446b3['options']);return _0x5bdff['getApplications'](_0x13336c);}})[_0x804e('0x1e')](function(_0xa01c6a){if(_0xa01c6a){_0x188c5f=_0xa01c6a[_0x804e('0x5a')];if(!_0x2446b3['query'][_0x804e('0x45')](_0x804e('0x46'))){_0x13336c[_0x804e('0x2e')]=qs['limit'](_0x2446b3['query'][_0x804e('0x2e')]);_0x13336c[_0x804e('0x2d')]=qs[_0x804e('0x2d')](_0x2446b3[_0x804e('0x40')][_0x804e('0x2d')]);}return _0x5bdff[_0x804e('0x95')](_0x13336c);}})[_0x804e('0x1e')](function(_0x28e7c2){if(_0x28e7c2){return _0x28e7c2?{'count':_0x188c5f,'rows':_0x28e7c2}:null;}})[_0x804e('0x1e')](respondWithResult(_0x46ad8a,null))['catch'](handleError(_0x46ad8a,null));};exports[_0x804e('0x96')]=function(_0x5c7fe2,_0x5d4050,_0x2f2d64){var _0x43e531={'raw':!![],'where':{}};var _0xc68a1f={};var _0x370f25={'count':0x0,'rows':[]};return db[_0x804e('0x3c')][_0x804e('0x63')]({'where':{'id':_0x5c7fe2[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x5d4050,null))[_0x804e('0x1e')](function(_0x56c9b1){if(_0x56c9b1){_0xc68a1f['model']=_['keys'](db[_0x804e('0x97')][_0x804e('0x3d')]);_0xc68a1f[_0x804e('0x40')]=_[_0x804e('0x3f')](_0x5c7fe2[_0x804e('0x40')]);_0xc68a1f[_0x804e('0x41')]=_[_0x804e('0x42')](_0xc68a1f[_0x804e('0x3e')],_0xc68a1f['query']);_0x43e531['attributes']=_[_0x804e('0x42')](_0xc68a1f[_0x804e('0x3e')],qs[_0x804e('0x44')](_0x5c7fe2[_0x804e('0x40')][_0x804e('0x44')]));_0x43e531['attributes']=_0x43e531[_0x804e('0x43')][_0x804e('0x5a')]?_0x43e531[_0x804e('0x43')]:_0xc68a1f[_0x804e('0x3e')];if(!_0x5c7fe2[_0x804e('0x40')][_0x804e('0x45')](_0x804e('0x46'))){_0x43e531[_0x804e('0x2e')]=qs[_0x804e('0x2e')](_0x5c7fe2[_0x804e('0x40')]['limit']);_0x43e531[_0x804e('0x2d')]=qs['offset'](_0x5c7fe2[_0x804e('0x40')][_0x804e('0x2d')]);}_0x43e531[_0x804e('0x47')]=qs[_0x804e('0x48')](_0x5c7fe2['query'][_0x804e('0x48')]);_0x43e531[_0x804e('0x4b')]=qs[_0x804e('0x41')](_[_0x804e('0x49')](_0x5c7fe2['query'],_0xc68a1f[_0x804e('0x41')]));_0x43e531[_0x804e('0x4b')]['MailAccountId']=_0x56c9b1['id'];if(_0x5c7fe2[_0x804e('0x40')][_0x804e('0x4a')]){_0x43e531[_0x804e('0x4b')]=_[_0x804e('0x50')](_0x43e531['where'],{'$or':_[_0x804e('0x4c')](_0x43e531['attributes'],function(_0x44e4c9){var _0x27607e={};_0x27607e[_0x44e4c9]={'$like':'%'+_0x5c7fe2[_0x804e('0x40')]['filter']+'%'};return _0x27607e;})});}if(_0x5c7fe2[_0x804e('0x40')][_0x804e('0x98')]){var _0x489c3f=_0x5c7fe2['query'][_0x804e('0x98')][_0x804e('0x99')](',');var _0x3d0cff={};_0x3d0cff[_0x489c3f[0x0]]={'$gte':moment(_0x489c3f[0x1])[_0x804e('0x9a')](_0x804e('0x9b'))};_0x43e531[_0x804e('0x4b')]=_[_0x804e('0x50')](_0x43e531[_0x804e('0x4b')],_0x3d0cff);}_0x43e531=_[_0x804e('0x50')]({},_0x43e531,_0x5c7fe2['options']);return db[_0x804e('0x97')][_0x804e('0x2c')]({'where':_0x43e531[_0x804e('0x4b')]})[_0x804e('0x1e')](function(_0x15e8fd){_0x370f25[_0x804e('0x2c')]=_0x15e8fd;if(_0x5c7fe2[_0x804e('0x40')][_0x804e('0x52')]){_0x43e531[_0x804e('0x53')]=[{'all':!![]}];}return db[_0x804e('0x97')][_0x804e('0x54')](_0x43e531);})['then'](function(_0x58ee6b){_0x370f25[_0x804e('0x55')]=_0x58ee6b;return _0x370f25;});}})[_0x804e('0x1e')](respondWithFilteredResult(_0x5d4050,_0x43e531))['catch'](handleError(_0x5d4050,null));};exports[_0x804e('0x36')]=function(_0x59aa85,_0x39a88f,_0x282229){var _0x555685,_0x356e8c={},_0xd8949f;if(_0x59aa85[_0x804e('0x5c')]['to']){_0xd8949f=_0x59aa85[_0x804e('0x5c')]['to']['split'](',')[0x0];}return db[_0x804e('0x3c')][_0x804e('0x5b')]({'where':{'id':_0x59aa85[_0x804e('0x57')]['id']},'include':[{'model':db[_0x804e('0x9c')],'as':_0x804e('0x9d'),'include':[{'model':db[_0x804e('0x87')],'as':'Contacts','where':{'email':_0xd8949f},'limit':0x1,'order':[[_0x804e('0x9e'),_0x804e('0x9f')]]}]},{'model':db[_0x804e('0x39')],'as':_0x804e('0x59'),'raw':!![]}]})[_0x804e('0x1e')](handleEntityNotFound(_0x39a88f,null))['then'](function(_0x575084){if(_0x575084){_0x555685=_0x575084;if(_0x575084[_0x804e('0x59')]){if(_[_0x804e('0x6c')](_0x59aa85[_0x804e('0x5c')]['from'])){_0x59aa85[_0x804e('0x5c')][_0x804e('0xa0')]=util[_0x804e('0x9a')](_0x804e('0xa1'),_0x575084[_0x804e('0x35')],_0x575084[_0x804e('0x6a')]||_0x575084[_0x804e('0x59')][_0x804e('0x78')]);}if(_0x59aa85[_0x804e('0x5c')][_0x804e('0xa2')]&&_0x59aa85[_0x804e('0x5c')]['attachments'][_0x804e('0x5a')]){for(var _0x3a0b19=0x0;_0x3a0b19<_0x59aa85[_0x804e('0x5c')]['attachments'][_0x804e('0x5a')];_0x3a0b19+=0x1){_0x59aa85[_0x804e('0x5c')][_0x804e('0xa2')][_0x3a0b19]={'filename':_0x59aa85[_0x804e('0x5c')]['attachments'][_0x3a0b19][_0x804e('0x35')],'path':path[_0x804e('0xa3')](config[_0x804e('0xa4')],_0x804e('0xa5'),_0x59aa85[_0x804e('0x5c')][_0x804e('0xa2')][_0x3a0b19][_0x804e('0xa6')])};}}var _0x556505={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x575084[_0x804e('0x59')][_0x804e('0x76')])){if(_0x575084['Smtp'][_0x804e('0x73')]){_0x556505[_0x804e('0xa7')]={'user':_0x575084['Smtp']['user'],'pass':_0x575084[_0x804e('0x59')][_0x804e('0x71')]};}_0x556505['host']=_0x575084[_0x804e('0x59')][_0x804e('0x74')];_0x556505['port']=_0x575084[_0x804e('0x59')][_0x804e('0x75')];_0x556505['secure']=_0x575084[_0x804e('0x59')][_0x804e('0xa8')];}else{_0x556505[_0x804e('0x76')]=_0x575084[_0x804e('0x59')][_0x804e('0x76')];_0x556505[_0x804e('0xa7')]={'user':_0x575084[_0x804e('0x59')][_0x804e('0x78')],'pass':_0x575084[_0x804e('0x59')][_0x804e('0x71')]};}return respondWithRpcPromise(_0x804e('0xa9'),_0x804e('0xaa'),{'account':_0x556505,'message':_0x59aa85[_0x804e('0x5c')]});}else{throw new Error('List\x20not\x20found');}}})[_0x804e('0x1e')](function(_0x50e7d5){if(_0x50e7d5){_0x356e8c=_0x50e7d5;if(_0x555685[_0x804e('0x9d')]){if(_0x555685[_0x804e('0x9d')][_0x804e('0xab')][_0x804e('0x5a')]){return _0x555685['List'][_0x804e('0xab')][0x0];}else{return db['CmContact'][_0x804e('0x61')](_[_0x804e('0xac')](_0x59aa85[_0x804e('0x5c')],{'firstName':_0x59aa85[_0x804e('0x5c')]['to'],'email':_0x59aa85[_0x804e('0x5c')]['to'],'phone':_0x59aa85['body']['to'],'ListId':_0x555685['ListId']}));}}else{throw new Error(_0x804e('0xad'));}}})['then'](function(_0x18c861){if(_0x18c861){var _0x20868f={'UserId':_0x59aa85[_0x804e('0x78')]['id'],'ContactId':_0x18c861['id'],'MailAccountId':_0x555685['id'],'inReplyTo':_0x356e8c[_0x804e('0xae')],'to':_0x59aa85[_0x804e('0x5c')]['from'],'cc':_0x59aa85[_0x804e('0x5c')]['cc'],'subject':_0x59aa85[_0x804e('0x5c')][_0x804e('0xaf')],'attach':_0x59aa85['body'][_0x804e('0xb0')],'firstMsgDirection':'out','lastMsgAt':moment()[_0x804e('0x9a')](_0x804e('0x9b')),'lastMsgDirection':_0x804e('0xb1'),'lastMsgBody':_0x59aa85[_0x804e('0x5c')][_0x804e('0x5c')],'Messages':[_[_0x804e('0x50')](_0x59aa85[_0x804e('0x5c')],{'messageId':_0x356e8c[_0x804e('0xae')],'sentAt':moment()[_0x804e('0x9a')](_0x804e('0x9b')),'read':!![],'MailAccountId':_0x555685['id'],'UserId':_0x59aa85['user']['id'],'ContactId':_0x18c861['id']})]};if(_0x59aa85[_0x804e('0x5c')][_0x804e('0xb2')]){_0x20868f=_[_0x804e('0x50')](_0x20868f,_0x59aa85[_0x804e('0x5c')]['Interaction']);}return db['MailInteraction'][_0x804e('0x61')](_0x20868f,{'include':[{'model':db['MailMessage'],'as':_0x804e('0xb3')}]});}})[_0x804e('0x1e')](respondWithResult(_0x39a88f,null))['catch'](handleError(_0x39a88f,null));};exports[_0x804e('0xb4')]=function(_0x1a7c2f,_0x150fcb,_0x747d96){return db[_0x804e('0x3c')][_0x804e('0x5b')]({'where':{'id':_0x1a7c2f[_0x804e('0x57')]['id']},'include':[{'model':db[_0x804e('0x39')],'as':_0x804e('0x59'),'raw':!![]}]})[_0x804e('0x1e')](handleEntityNotFound(_0x150fcb,null))[_0x804e('0x1e')](function(_0x577835){if(_0x577835&&_0x577835['Smtp']){var _0xfe15e2={'id':_0x577835['id'],'tls':{'rejectUnauthorized':![]}};if(_0x577835[_0x804e('0x59')]['service']){_0xfe15e2[_0x804e('0x76')]=_0x577835['Smtp'][_0x804e('0x76')];}else{_0xfe15e2['host']=_0x577835[_0x804e('0x59')]['host'];_0xfe15e2[_0x804e('0x75')]=_0x577835[_0x804e('0x59')][_0x804e('0x75')];_0xfe15e2[_0x804e('0xa8')]=_0x577835[_0x804e('0x59')][_0x804e('0xa8')];}if(_0x577835['Smtp'][_0x804e('0x73')]){_0xfe15e2[_0x804e('0xa7')]={'user':_0x577835[_0x804e('0x59')][_0x804e('0x78')],'pass':_0x577835[_0x804e('0x59')][_0x804e('0x71')]};}return respondWithRpcPromise(_0x804e('0xb5'),_0x804e('0xb4'),{'account':_0xfe15e2});}})[_0x804e('0x1e')](respondWithResult(_0x150fcb,null))[_0x804e('0x27')](handleError(_0x150fcb,null));};exports[_0x804e('0x31')]=function(_0xf6ff83,_0x283d7e){return db['MailAccount']['find']({'where':{'id':_0xf6ff83[_0x804e('0x57')]['id']}})['then'](handleEntityNotFound(_0x283d7e,null))[_0x804e('0x1e')](function(_0x696b7a){if(_0x696b7a&&_0x696b7a[_0x804e('0x76')]){throw new db[(_0x804e('0xb6'))][(_0x804e('0xb7'))](_0x804e('0xb8'));}return _0x696b7a;})[_0x804e('0x1e')](removeEntity(_0x283d7e,null))[_0x804e('0x27')](handleError(_0x283d7e,null));};exports['addAgents']=function(_0x323048,_0x2600f3,_0x21f07e){return db['MailAccount']['find']({'where':{'id':_0x323048[_0x804e('0x57')]['id']}})['then'](handleEntityNotFound(_0x2600f3,null))[_0x804e('0x1e')](function(_0x22e953){if(_0x22e953){return _0x22e953[_0x804e('0xb9')](_0x323048['body'][_0x804e('0x65')],_[_0x804e('0x86')](_0x323048[_0x804e('0x5c')],['ids','id'])||{})[_0x804e('0xba')](function(_0x46eedc){for(var _0x4e65a7=0x0;_0x4e65a7<_0x323048[_0x804e('0x5c')][_0x804e('0x65')]['length'];_0x4e65a7+=0x1){socket[_0x804e('0xbb')](_0x804e('0xbc'),{'UserId':_0x323048[_0x804e('0x5c')][_0x804e('0x65')][_0x4e65a7],'MailAccountId':_0x323048[_0x804e('0x57')]['id']});}return _0x46eedc;});}})['then'](respondWithResult(_0x2600f3,null))['catch'](handleError(_0x2600f3,null));};exports[_0x804e('0xbd')]=function(_0x455f9f,_0x49024f,_0x3a74bc){return db[_0x804e('0x3c')][_0x804e('0x5b')]({'where':{'id':_0x455f9f[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x49024f,null))[_0x804e('0x1e')](function(_0x5b8803){if(_0x5b8803){return _0x5b8803[_0x804e('0xbd')](_0x455f9f[_0x804e('0x40')][_0x804e('0x65')])[_0x804e('0x1e')](function(){if(_[_0x804e('0xbe')](_0x455f9f[_0x804e('0x40')]['ids'])){for(var _0x35e1b9=0x0;_0x35e1b9<_0x455f9f[_0x804e('0x40')]['ids'][_0x804e('0x5a')];_0x35e1b9+=0x1){socket[_0x804e('0xbb')](_0x804e('0xbf'),{'UserId':Number(_0x455f9f[_0x804e('0x40')]['ids'][_0x35e1b9]),'MailAccountId':Number(_0x455f9f[_0x804e('0x57')]['id'])});}}else{socket[_0x804e('0xbb')](_0x804e('0xbf'),{'UserId':Number(_0x455f9f[_0x804e('0x40')][_0x804e('0x65')]),'MailAccountId':Number(_0x455f9f[_0x804e('0x57')]['id'])});}});}})[_0x804e('0x1e')](respondWithStatusCode(_0x49024f,null))[_0x804e('0x27')](handleError(_0x49024f,null));};exports[_0x804e('0xc0')]=function(_0x22ef75,_0x2040c4,_0x4eb060){var _0x1045f2={};var _0x185161={};var _0x201f5f;var _0x32ebfd;return db[_0x804e('0x3c')][_0x804e('0x63')]({'where':{'id':_0x22ef75[_0x804e('0x57')]['id']}})[_0x804e('0x1e')](handleEntityNotFound(_0x2040c4,null))[_0x804e('0x1e')](function(_0x300313){if(_0x300313){_0x201f5f=_0x300313;_0x185161[_0x804e('0x3e')]=_[_0x804e('0x3f')](db[_0x804e('0xc1')][_0x804e('0x3d')]);_0x185161[_0x804e('0x40')]=_[_0x804e('0x3f')](_0x22ef75[_0x804e('0x40')]);_0x185161['filters']=_[_0x804e('0x42')](_0x185161['model'],_0x185161[_0x804e('0x40')]);_0x1045f2['attributes']=_[_0x804e('0x42')](_0x185161['model'],qs[_0x804e('0x44')](_0x22ef75['query'][_0x804e('0x44')]));_0x1045f2[_0x804e('0x43')]=_0x1045f2['attributes'][_0x804e('0x5a')]?_0x1045f2[_0x804e('0x43')]:_0x185161[_0x804e('0x3e')];_0x1045f2['order']=qs[_0x804e('0x48')](_0x22ef75['query'][_0x804e('0x48')]);_0x1045f2['where']=qs[_0x804e('0x41')](_[_0x804e('0x49')](_0x22ef75[_0x804e('0x40')],_0x185161['filters']));if(_0x22ef75[_0x804e('0x40')][_0x804e('0x4a')]){_0x1045f2[_0x804e('0x4b')]=_[_0x804e('0x50')](_0x1045f2[_0x804e('0x4b')],{'$or':_[_0x804e('0x4c')](_0x1045f2['attributes'],function(_0xaeaa38){var _0x427aae={};_0x427aae[_0xaeaa38]={'$like':'%'+_0x22ef75[_0x804e('0x40')][_0x804e('0x4a')]+'%'};return _0x427aae;})});}_0x1045f2=_['merge']({},_0x1045f2,_0x22ef75[_0x804e('0x51')]);return _0x201f5f['getAgents'](_0x1045f2);}})[_0x804e('0x1e')](function(_0x22b91d){if(_0x22b91d){_0x32ebfd=_0x22b91d['length'];if(!_0x22ef75[_0x804e('0x40')]['hasOwnProperty']('nolimit')){_0x1045f2[_0x804e('0x2e')]=qs[_0x804e('0x2e')](_0x22ef75[_0x804e('0x40')][_0x804e('0x2e')]);_0x1045f2[_0x804e('0x2d')]=qs['offset'](_0x22ef75[_0x804e('0x40')]['offset']);}return _0x201f5f[_0x804e('0xc0')](_0x1045f2);}})[_0x804e('0x1e')](function(_0x40e350){if(_0x40e350){return _0x40e350?{'count':_0x32ebfd,'rows':_0x40e350}:null;}})['then'](respondWithResult(_0x2040c4,null))['catch'](handleError(_0x2040c4,null));};