Built motion from commit (unavailable).|2.5.11
[motion2.git] / server / api / mailAccount / mailAccount.rpc.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 _0x3451=['update','interaction','attachments','originCc','bcc','Attachment','Attachments','UserId','User','agent','name','*,*,*,*','Start','startRouting','lodash','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','redis','localhost','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','result','GetMailAccount','MailAccount','findAll','options','raw','where','attributes','limit','include','model','map','catch','ShowMailAccount','find','NotifyMailAccount','body','mail','keys','CmContact','rawAttributes','updatedAt','CompanyId','ListId','isNil','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','account','CmList','List','Contacts','DESC','MailApplication','Applications','MailServerOut','omit','list','orderBy','applications','asc','push','length','close','create','contact','messageId','generate','subject','attach','format','YYYY-MM-DD\x20HH:mm:ss','MailInteraction','MailMessage','Messages','inReplyTo','Contact\x20not\x20found','spread'];(function(_0x336529,_0x2bdc1b){var _0x4c53e1=function(_0x38bcb6){while(--_0x38bcb6){_0x336529['push'](_0x336529['shift']());}};_0x4c53e1(++_0x2bdc1b);}(_0x3451,0x19a));var _0x1345=function(_0x335877,_0x2c4acf){_0x335877=_0x335877-0x0;var _0x26fd06=_0x3451[_0x335877];return _0x26fd06;};'use strict';var _=require(_0x1345('0x0'));var util=require(_0x1345('0x1'));var moment=require('moment');var BPromise=require(_0x1345('0x2'));var rs=require(_0x1345('0x3'));var fs=require('fs');var Redis=require(_0x1345('0x4'));var db=require(_0x1345('0x5'))['db'];var utils=require(_0x1345('0x6'));var logger=require(_0x1345('0x7'))(_0x1345('0x8'));var config=require(_0x1345('0x9'));var jayson=require(_0x1345('0xa'));var client=jayson[_0x1345('0xb')][_0x1345('0xc')]({'port':0x232c});config[_0x1345('0xd')]=_['defaults'](config[_0x1345('0xd')],{'host':_0x1345('0xe'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x1345('0xd')]));require('./mailAccount.socket')['register'](socket);function respondWithRpcPromise(_0x3e04bc,_0x4a89d5,_0x1cb45c){return new BPromise(function(_0x37788f,_0x54ea40){return client['request'](_0x3e04bc,_0x1cb45c)[_0x1345('0xf')](function(_0x523971){logger[_0x1345('0x10')](_0x1345('0x11'),_0x4a89d5,_0x1345('0x12'));logger[_0x1345('0x13')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x4a89d5,_0x1345('0x12'),JSON[_0x1345('0x14')](_0x523971));if(_0x523971[_0x1345('0x15')]){if(_0x523971[_0x1345('0x15')]['code']===0x1f4){logger[_0x1345('0x15')](_0x1345('0x11'),_0x4a89d5,_0x523971[_0x1345('0x15')][_0x1345('0x16')]);return _0x54ea40(_0x523971[_0x1345('0x15')][_0x1345('0x16')]);}logger[_0x1345('0x15')](_0x1345('0x11'),_0x4a89d5,_0x523971[_0x1345('0x15')][_0x1345('0x16')]);return _0x37788f(_0x523971[_0x1345('0x15')]['message']);}else{logger['info'](_0x1345('0x11'),_0x4a89d5,_0x1345('0x12'));_0x37788f(_0x523971[_0x1345('0x17')][_0x1345('0x16')]);}})['catch'](function(_0x2a88ed){logger[_0x1345('0x15')](_0x1345('0x11'),_0x4a89d5,_0x2a88ed);_0x54ea40(_0x2a88ed);});});}exports[_0x1345('0x18')]=function(_0x36b291){var _0x13a8b2=this;return new Promise(function(_0x2062ce,_0x43d209){return db[_0x1345('0x19')][_0x1345('0x1a')]({'raw':_0x36b291[_0x1345('0x1b')]?_0x36b291['options'][_0x1345('0x1c')]===undefined?!![]:![]:!![],'where':_0x36b291[_0x1345('0x1b')]?_0x36b291[_0x1345('0x1b')][_0x1345('0x1d')]||null:null,'attributes':_0x36b291[_0x1345('0x1b')]?_0x36b291[_0x1345('0x1b')][_0x1345('0x1e')]||null:null,'limit':_0x36b291[_0x1345('0x1b')]?_0x36b291[_0x1345('0x1b')][_0x1345('0x1f')]||null:null,'include':_0x36b291[_0x1345('0x1b')]?_0x36b291[_0x1345('0x1b')][_0x1345('0x20')]?_['map'](_0x36b291[_0x1345('0x1b')]['include'],function(_0xd08b03){return{'model':db[_0xd08b03[_0x1345('0x21')]],'as':_0xd08b03['as'],'attributes':_0xd08b03[_0x1345('0x1e')],'include':_0xd08b03[_0x1345('0x20')]?_[_0x1345('0x22')](_0xd08b03[_0x1345('0x20')],function(_0x3b891c){return{'model':db[_0x3b891c[_0x1345('0x21')]],'as':_0x3b891c['as'],'attributes':_0x3b891c[_0x1345('0x1e')],'include':_0x3b891c[_0x1345('0x20')]?_[_0x1345('0x22')](_0x3b891c[_0x1345('0x20')],function(_0x483e75){return{'model':db[_0x483e75[_0x1345('0x21')]],'as':_0x483e75['as'],'attributes':_0x483e75['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x2b598a){logger[_0x1345('0x10')](_0x1345('0x18'),_0x36b291);logger[_0x1345('0x13')](_0x1345('0x18'),_0x36b291,JSON['stringify'](_0x2b598a));_0x2062ce(_0x2b598a);})[_0x1345('0x23')](function(_0x2b2be4){logger[_0x1345('0x15')]('GetMailAccount',_0x2b2be4[_0x1345('0x16')],_0x36b291);_0x43d209(_0x13a8b2['error'](0x1f4,_0x2b2be4['message']));});});};exports[_0x1345('0x24')]=function(_0x1edcdc){var _0x7a1680=this;return new Promise(function(_0x30ea62,_0x526ed1){return db[_0x1345('0x19')][_0x1345('0x25')]({'raw':_0x1edcdc[_0x1345('0x1b')]?_0x1edcdc[_0x1345('0x1b')][_0x1345('0x1c')]===undefined?!![]:![]:!![],'where':_0x1edcdc[_0x1345('0x1b')]?_0x1edcdc[_0x1345('0x1b')][_0x1345('0x1d')]||null:null,'attributes':_0x1edcdc[_0x1345('0x1b')]?_0x1edcdc[_0x1345('0x1b')][_0x1345('0x1e')]||null:null,'include':_0x1edcdc['options']?_0x1edcdc[_0x1345('0x1b')][_0x1345('0x20')]?_[_0x1345('0x22')](_0x1edcdc[_0x1345('0x1b')][_0x1345('0x20')],function(_0x4c0890){return{'model':db[_0x4c0890[_0x1345('0x21')]],'as':_0x4c0890['as'],'attributes':_0x4c0890['attributes'],'include':_0x4c0890['include']?_[_0x1345('0x22')](_0x4c0890[_0x1345('0x20')],function(_0x3c515a){return{'model':db[_0x3c515a['model']],'as':_0x3c515a['as'],'attributes':_0x3c515a[_0x1345('0x1e')],'include':_0x3c515a[_0x1345('0x20')]?_[_0x1345('0x22')](_0x3c515a[_0x1345('0x20')],function(_0x3cf188){return{'model':db[_0x3cf188[_0x1345('0x21')]],'as':_0x3cf188['as'],'attributes':_0x3cf188[_0x1345('0x1e')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x5df6a9){logger['info']('ShowMailAccount',_0x1edcdc);logger['debug'](_0x1345('0x24'),_0x1edcdc,JSON[_0x1345('0x14')](_0x5df6a9));_0x30ea62(_0x5df6a9);})[_0x1345('0x23')](function(_0x280113){logger[_0x1345('0x15')]('ShowMailAccount',_0x280113['message'],_0x1edcdc);_0x526ed1(_0x7a1680[_0x1345('0x15')](0x1f4,_0x280113[_0x1345('0x16')]));});});};exports[_0x1345('0x26')]=function(_0x3b1578){var _0x3fd09f=this;return new Promise(function(_0x1eae93,_0x5be21b){var _0xf55a78={'body':_0x3b1578[_0x1345('0x27')],'channel':_0x1345('0x28')};var _0x2c2c68=_['difference'](_[_0x1345('0x29')](db[_0x1345('0x2a')][_0x1345('0x2b')]),['createdAt',_0x1345('0x2c'),_0x1345('0x2d'),_0x1345('0x2e')]);var _0x5ef3d4=![];if(_0x3b1578[_0x1345('0x27')]['id']){delete _0x3b1578[_0x1345('0x27')]['id'];}if(_[_0x1345('0x2f')](_0x3b1578[_0x1345('0x27')][_0x1345('0x30')])){return _0x5be21b(_0x3fd09f['error'](0x1f4,_0x1345('0x31')));}if(_[_0x1345('0x2f')](_0x3b1578[_0x1345('0x27')][_0x1345('0x27')])||_0x3b1578['body'][_0x1345('0x27')]===''){return _0x5be21b(_0x3fd09f[_0x1345('0x15')](0x1f4,_0x1345('0x32')));}if(_[_0x1345('0x2f')](_0x3b1578[_0x1345('0x27')][_0x1345('0x33')])){return _0x5be21b(_0x3fd09f[_0x1345('0x15')](0x1f4,_0x1345('0x34')+_0x2c2c68));}if(!_[_0x1345('0x35')](_0x2c2c68,_0x3b1578[_0x1345('0x27')][_0x1345('0x33')])){return _0x5be21b(_0x3fd09f[_0x1345('0x15')](0x1f4,_0x1345('0x36')+_0x2c2c68));}var _0xd3bfb6={};_0xd3bfb6[_0x3b1578[_0x1345('0x27')][_0x1345('0x33')]]=_0x3b1578['body'][_0x1345('0x30')];return db[_0x1345('0x19')][_0x1345('0x25')]({'where':{'id':_0x3b1578[_0x1345('0x37')]['id']},'include':[{'model':db[_0x1345('0x38')],'as':_0x1345('0x39'),'include':[{'model':db[_0x1345('0x2a')],'as':_0x1345('0x3a'),'where':_0xd3bfb6,'limit':0x1,'order':[[_0x1345('0x2c'),_0x1345('0x3b')]]}]},{'model':db[_0x1345('0x3c')],'as':_0x1345('0x3d')},{'model':db[_0x1345('0x3e')],'as':'Smtp'}]})[_0x1345('0xf')](function(_0x54e837){if(_0x54e837&&_0x54e837[_0x1345('0x39')]){var _0x36ae3a=_0x54e837['get']({'plain':!![]});_0xf55a78[_0x1345('0x37')]=_[_0x1345('0x3f')](_0x36ae3a,[_0x1345('0x3d'),'List']);_0xf55a78['applications']=_0x36ae3a['Applications'];_0xf55a78[_0x1345('0x40')]=_0x36ae3a[_0x1345('0x39')];_0xf55a78['applications']=_[_0x1345('0x41')](_0xf55a78[_0x1345('0x42')],['priority'],[_0x1345('0x43')]);if(_0xf55a78['account']&&_0xf55a78[_0x1345('0x37')]['autoclose']){_0xf55a78[_0x1345('0x42')][_0x1345('0x44')]({'id':0x0,'priority':_0xf55a78['applications'][_0x1345('0x45')]+0x1,'app':_0x1345('0x46'),'appdata':'autoclose','interval':'*,*,*,*'});}if(_0xf55a78[_0x1345('0x37')]['Applications']){delete _0xf55a78[_0x1345('0x37')][_0x1345('0x3d')];}if(_0xf55a78[_0x1345('0x37')]['List']){delete _0xf55a78['account']['List'];}if(_0x36ae3a[_0x1345('0x39')][_0x1345('0x3a')][_0x1345('0x45')]){return _0x36ae3a[_0x1345('0x39')]['Contacts'][0x0];}var _0x257009=_['defaults'](_0x3b1578[_0x1345('0x27')],{'firstName':_0x3b1578[_0x1345('0x27')][_0x1345('0x30')],'ListId':_0x36ae3a[_0x1345('0x2e')]});_0x257009[_0x3b1578[_0x1345('0x27')][_0x1345('0x33')]]=_0x3b1578[_0x1345('0x27')][_0x1345('0x30')];return db[_0x1345('0x2a')][_0x1345('0x47')](_0x257009);}else{throw new Error('List\x20not\x20found');}})[_0x1345('0xf')](function(_0x4668c9){_0xf55a78[_0x1345('0x48')]=_0x4668c9;if(_0x4668c9){if(!_0x3b1578[_0x1345('0x27')][_0x1345('0x16')][_0x1345('0x49')]){_0x3b1578[_0x1345('0x27')][_0x1345('0x16')][_0x1345('0x49')]=rs[_0x1345('0x4a')]()+'\x20'+_0x3b1578[_0x1345('0x27')][_0x1345('0x16')][_0x1345('0x30')];}var _0x21a0a7={'ContactId':_0x4668c9['id'],'MailAccountId':_0x3b1578[_0x1345('0x37')]['id'],'inReplyTo':_0x3b1578[_0x1345('0x27')]['message'][_0x1345('0x49')],'to':_0x3b1578[_0x1345('0x27')]['message'][_0x1345('0x30')],'cc':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')]['cc'],'subject':_0x3b1578['body'][_0x1345('0x16')][_0x1345('0x4b')],'attach':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')][_0x1345('0x4c')],'lastMsgAt':moment()[_0x1345('0x4d')](_0x1345('0x4e')),'lastMsgDirection':'in','lastMsgBody':_0x3b1578[_0x1345('0x27')][_0x1345('0x27')]};return db[_0x1345('0x4f')][_0x1345('0x25')]({'where':{'closed':![],'MailAccountId':_0x3b1578[_0x1345('0x37')]['id']},'include':[{'model':db[_0x1345('0x50')],'as':_0x1345('0x51'),'attributes':['messageId'],'where':{'messageId':_0x3b1578['body']['message'][_0x1345('0x52')]}}]})[_0x1345('0xf')](function(_0x3b2d9c){if(_0x3b2d9c){return[_0x3b2d9c,![]];}return db[_0x1345('0x4f')][_0x1345('0x47')](_0x21a0a7)[_0x1345('0xf')](function(_0x442f01){return[_0x442f01,!![]];});});}else{throw new Error(_0x1345('0x53'));}})[_0x1345('0x54')](function(_0x74b3d1,_0x2c1068){if(_0x74b3d1){_0x5ef3d4=_0x2c1068;if(!_0x2c1068){return _0x74b3d1[_0x1345('0x55')]({'inReplyTo':_0x3b1578[_0x1345('0x27')]['message']['messageId'],'to':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')]['from'],'cc':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')]['cc'],'subject':_0x3b1578['body'][_0x1345('0x16')][_0x1345('0x4b')],'attach':_0x74b3d1[_0x1345('0x4c')]?_0x74b3d1[_0x1345('0x4c')]:_0x3b1578['body'][_0x1345('0x16')][_0x1345('0x4c')],'substatus':null,'substatusAt':moment()[_0x1345('0x4d')](_0x1345('0x4e')),'lastMsgAt':moment()[_0x1345('0x4d')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':'in','lastMsgBody':_0x3b1578['body'][_0x1345('0x27')]});}else{return _0x74b3d1;}}})[_0x1345('0xf')](function(_0xd7d9b7){_0xf55a78[_0x1345('0x56')]=_0xd7d9b7['get']({'plain':!![]});_0xf55a78[_0x1345('0x56')]['created']=_0x5ef3d4;return db[_0x1345('0x50')]['create']({'body':_0x3b1578[_0x1345('0x27')][_0x1345('0x27')],'MailAccountId':_0x3b1578[_0x1345('0x37')]['id'],'MailInteractionId':_0xd7d9b7['id'],'direction':'in','ContactId':_0xf55a78['contact']['id'],'messageId':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')]['messageId'],'from':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')][_0x1345('0x30')],'to':_0x3b1578['body']['message']['to'],'cc':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')]['cc'],'subject':_0x3b1578['body'][_0x1345('0x16')]['subject'],'attach':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')][_0x1345('0x4c')],'Attachments':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')][_0x1345('0x57')],'originTo':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')]['originTo'],'originCc':_0x3b1578[_0x1345('0x27')][_0x1345('0x16')][_0x1345('0x58')],'bcc':_0x3b1578[_0x1345('0x27')]['message'][_0x1345('0x59')]},{'include':[{'model':db[_0x1345('0x5a')],'as':_0x1345('0x5b')}]});})['then'](function(_0x2ad676){_0xf55a78[_0x1345('0x16')]=_0x2ad676;if(_0xf55a78[_0x1345('0x56')][_0x1345('0x5c')]){return db[_0x1345('0x5d')][_0x1345('0x25')]({'attributes':['id','name'],'where':{'id':_0xf55a78[_0x1345('0x56')][_0x1345('0x5c')]}})['then'](function(_0x43b879){if(_0x43b879){_0xf55a78[_0x1345('0x42')]['unshift']({'id':0x0,'priority':0x0,'app':_0x1345('0x5e'),'appdata':_0x43b879[_0x1345('0x5f')]+','+(_0xf55a78[_0x1345('0x37')]['waitForTheAssignedAgent']||0xa),'interval':_0x1345('0x60')});}return respondWithRpcPromise(_0x1345('0x61'),_0x1345('0x62'),_0xf55a78);});}return respondWithRpcPromise(_0x1345('0x61'),_0x1345('0x62'),_0xf55a78);})[_0x1345('0xf')](function(_0x2f12d8){_0x1eae93(_0x2f12d8);})['catch'](function(_0x12fe22){_0x5be21b(_0x3fd09f[_0x1345('0x15')](0x1f4,_0x12fe22[_0x1345('0x16')]));});});};