Built motion from commit (unavailable).|2.5.4
[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 _0x1f38=['bluebird','randomstring','ioredis','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','request','then','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','MailAccount,\x20%s,\x20%s','message','info','result','catch','GetMailAccount','MailAccount','findAll','options','limit','include','map','attributes','model','find','raw','where','ShowMailAccount','NotifyMailAccount','body','mail','difference','keys','CmContact','rawAttributes','createdAt','updatedAt','ListId','isNil','from','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','account','CmList','List','Contacts','DESC','MailApplication','Applications','Smtp','get','omit','applications','orderBy','priority','asc','autoclose','push','length','close','*,*,*,*','create','List\x20not\x20found','contact','messageId','generate','subject','attach','format','YYYY-MM-DD\x20HH:mm:ss','MailInteraction','MailMessage','Messages','Contact\x20not\x20found','spread','update','interaction','created','attachments','originCc','bcc','Attachments','UserId','User','name','unshift','agent','waitForTheAssignedAgent','Start','startRouting','lodash','util','moment'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x1f38,0xd7));var _0x81f3=function(_0x2ad19a,_0xb1e06a){_0x2ad19a=_0x2ad19a-0x0;var _0x4e4e65=_0x1f38[_0x2ad19a];return _0x4e4e65;};'use strict';var _=require(_0x81f3('0x0'));var util=require(_0x81f3('0x1'));var moment=require(_0x81f3('0x2'));var BPromise=require(_0x81f3('0x3'));var rs=require(_0x81f3('0x4'));var fs=require('fs');var Redis=require(_0x81f3('0x5'));var db=require('../../mysqldb')['db'];var utils=require(_0x81f3('0x6'));var logger=require(_0x81f3('0x7'))(_0x81f3('0x8'));var config=require(_0x81f3('0x9'));var jayson=require(_0x81f3('0xa'));var client=jayson['client'][_0x81f3('0xb')]({'port':0x232c});config[_0x81f3('0xc')]=_[_0x81f3('0xd')](config[_0x81f3('0xc')],{'host':_0x81f3('0xe'),'port':0x18eb});var socket=require(_0x81f3('0xf'))(new Redis(config[_0x81f3('0xc')]));require(_0x81f3('0x10'))[_0x81f3('0x11')](socket);function respondWithRpcPromise(_0x576cf8,_0x10b956,_0x4b9760){return new BPromise(function(_0xa4ee1d,_0x5f9efe){return client[_0x81f3('0x12')](_0x576cf8,_0x4b9760)[_0x81f3('0x13')](function(_0x255570){logger['info']('MailAccount,\x20%s,\x20%s',_0x10b956,_0x81f3('0x14'));logger[_0x81f3('0x15')](_0x81f3('0x16'),_0x10b956,_0x81f3('0x14'),JSON[_0x81f3('0x17')](_0x255570));if(_0x255570[_0x81f3('0x18')]){if(_0x255570['error'][_0x81f3('0x19')]===0x1f4){logger[_0x81f3('0x18')](_0x81f3('0x1a'),_0x10b956,_0x255570['error'][_0x81f3('0x1b')]);return _0x5f9efe(_0x255570[_0x81f3('0x18')][_0x81f3('0x1b')]);}logger[_0x81f3('0x18')](_0x81f3('0x1a'),_0x10b956,_0x255570[_0x81f3('0x18')][_0x81f3('0x1b')]);return _0xa4ee1d(_0x255570[_0x81f3('0x18')][_0x81f3('0x1b')]);}else{logger[_0x81f3('0x1c')](_0x81f3('0x1a'),_0x10b956,'request\x20sent');_0xa4ee1d(_0x255570[_0x81f3('0x1d')][_0x81f3('0x1b')]);}})[_0x81f3('0x1e')](function(_0x280e16){logger[_0x81f3('0x18')]('MailAccount,\x20%s,\x20%s',_0x10b956,_0x280e16);_0x5f9efe(_0x280e16);});});}exports[_0x81f3('0x1f')]=function(_0x2ee5d8){var _0x55b02b=this;return new Promise(function(_0x2f6fd6,_0x5a5ca2){return db[_0x81f3('0x20')][_0x81f3('0x21')]({'raw':_0x2ee5d8[_0x81f3('0x22')]?_0x2ee5d8['options']['raw']===undefined?!![]:![]:!![],'where':_0x2ee5d8[_0x81f3('0x22')]?_0x2ee5d8[_0x81f3('0x22')]['where']||null:null,'attributes':_0x2ee5d8[_0x81f3('0x22')]?_0x2ee5d8[_0x81f3('0x22')]['attributes']||null:null,'limit':_0x2ee5d8[_0x81f3('0x22')]?_0x2ee5d8[_0x81f3('0x22')][_0x81f3('0x23')]||null:null,'include':_0x2ee5d8[_0x81f3('0x22')]?_0x2ee5d8[_0x81f3('0x22')][_0x81f3('0x24')]?_[_0x81f3('0x25')](_0x2ee5d8['options'][_0x81f3('0x24')],function(_0x572cdb){return{'model':db[_0x572cdb['model']],'as':_0x572cdb['as'],'attributes':_0x572cdb[_0x81f3('0x26')],'include':_0x572cdb[_0x81f3('0x24')]?_['map'](_0x572cdb[_0x81f3('0x24')],function(_0x5dfcd9){return{'model':db[_0x5dfcd9[_0x81f3('0x27')]],'as':_0x5dfcd9['as'],'attributes':_0x5dfcd9[_0x81f3('0x26')],'include':_0x5dfcd9['include']?_[_0x81f3('0x25')](_0x5dfcd9[_0x81f3('0x24')],function(_0x46025a){return{'model':db[_0x46025a[_0x81f3('0x27')]],'as':_0x46025a['as'],'attributes':_0x46025a[_0x81f3('0x26')]};}):[]};}):[]};}):[]:[]})[_0x81f3('0x13')](function(_0x25ef3e){logger['info'](_0x81f3('0x1f'),_0x2ee5d8);logger[_0x81f3('0x15')](_0x81f3('0x1f'),_0x2ee5d8,JSON[_0x81f3('0x17')](_0x25ef3e));_0x2f6fd6(_0x25ef3e);})[_0x81f3('0x1e')](function(_0x46838d){logger['error'](_0x81f3('0x1f'),_0x46838d['message'],_0x2ee5d8);_0x5a5ca2(_0x55b02b['error'](0x1f4,_0x46838d[_0x81f3('0x1b')]));});});};exports['ShowMailAccount']=function(_0x3b88ec){var _0x26a6a0=this;return new Promise(function(_0x244941,_0x680c3c){return db[_0x81f3('0x20')][_0x81f3('0x28')]({'raw':_0x3b88ec[_0x81f3('0x22')]?_0x3b88ec[_0x81f3('0x22')][_0x81f3('0x29')]===undefined?!![]:![]:!![],'where':_0x3b88ec[_0x81f3('0x22')]?_0x3b88ec[_0x81f3('0x22')][_0x81f3('0x2a')]||null:null,'attributes':_0x3b88ec[_0x81f3('0x22')]?_0x3b88ec[_0x81f3('0x22')]['attributes']||null:null,'include':_0x3b88ec[_0x81f3('0x22')]?_0x3b88ec[_0x81f3('0x22')]['include']?_[_0x81f3('0x25')](_0x3b88ec[_0x81f3('0x22')][_0x81f3('0x24')],function(_0x398e55){return{'model':db[_0x398e55['model']],'as':_0x398e55['as'],'attributes':_0x398e55[_0x81f3('0x26')],'include':_0x398e55[_0x81f3('0x24')]?_[_0x81f3('0x25')](_0x398e55[_0x81f3('0x24')],function(_0x458ba3){return{'model':db[_0x458ba3['model']],'as':_0x458ba3['as'],'attributes':_0x458ba3[_0x81f3('0x26')],'include':_0x458ba3['include']?_[_0x81f3('0x25')](_0x458ba3[_0x81f3('0x24')],function(_0xe2fa31){return{'model':db[_0xe2fa31[_0x81f3('0x27')]],'as':_0xe2fa31['as'],'attributes':_0xe2fa31['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x1c6082){logger['info']('ShowMailAccount',_0x3b88ec);logger[_0x81f3('0x15')](_0x81f3('0x2b'),_0x3b88ec,JSON[_0x81f3('0x17')](_0x1c6082));_0x244941(_0x1c6082);})[_0x81f3('0x1e')](function(_0x1f5857){logger['error'](_0x81f3('0x2b'),_0x1f5857['message'],_0x3b88ec);_0x680c3c(_0x26a6a0['error'](0x1f4,_0x1f5857[_0x81f3('0x1b')]));});});};exports[_0x81f3('0x2c')]=function(_0x1ad0c5){var _0x5038d6=this;return new Promise(function(_0x2a629c,_0x2dfd92){var _0x3cd992={'body':_0x1ad0c5[_0x81f3('0x2d')],'channel':_0x81f3('0x2e')};var _0x105798=_[_0x81f3('0x2f')](_[_0x81f3('0x30')](db[_0x81f3('0x31')][_0x81f3('0x32')]),[_0x81f3('0x33'),_0x81f3('0x34'),'CompanyId',_0x81f3('0x35')]);var _0x128e8d=![];if(_0x1ad0c5[_0x81f3('0x2d')]['id']){delete _0x1ad0c5[_0x81f3('0x2d')]['id'];}if(_[_0x81f3('0x36')](_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x37')])){return _0x2dfd92(_0x5038d6['error'](0x1f4,_0x81f3('0x38')));}if(_[_0x81f3('0x36')](_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x2d')])||_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x2d')]===''){return _0x2dfd92(_0x5038d6[_0x81f3('0x18')](0x1f4,_0x81f3('0x39')));}if(_[_0x81f3('0x36')](_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x3a')])){return _0x2dfd92(_0x5038d6[_0x81f3('0x18')](0x1f4,_0x81f3('0x3b')+_0x105798));}if(!_['includes'](_0x105798,_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x3a')])){return _0x2dfd92(_0x5038d6[_0x81f3('0x18')](0x1f4,_0x81f3('0x3c')+_0x105798));}var _0x30b9fc={};_0x30b9fc[_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x3a')]]=_0x1ad0c5['body'][_0x81f3('0x37')];return db[_0x81f3('0x20')]['find']({'where':{'id':_0x1ad0c5[_0x81f3('0x3d')]['id']},'include':[{'model':db[_0x81f3('0x3e')],'as':_0x81f3('0x3f'),'include':[{'model':db['CmContact'],'as':_0x81f3('0x40'),'where':_0x30b9fc,'limit':0x1,'order':[[_0x81f3('0x34'),_0x81f3('0x41')]]}]},{'model':db[_0x81f3('0x42')],'as':_0x81f3('0x43')},{'model':db['MailServerOut'],'as':_0x81f3('0x44')}]})['then'](function(_0x5d221e){if(_0x5d221e&&_0x5d221e['List']){var _0x43609b=_0x5d221e[_0x81f3('0x45')]({'plain':!![]});_0x3cd992['account']=_[_0x81f3('0x46')](_0x43609b,['Applications',_0x81f3('0x3f')]);_0x3cd992['applications']=_0x43609b[_0x81f3('0x43')];_0x3cd992['list']=_0x43609b[_0x81f3('0x3f')];_0x3cd992[_0x81f3('0x47')]=_[_0x81f3('0x48')](_0x3cd992['applications'],[_0x81f3('0x49')],[_0x81f3('0x4a')]);if(_0x3cd992['account']&&_0x3cd992[_0x81f3('0x3d')][_0x81f3('0x4b')]){_0x3cd992['applications'][_0x81f3('0x4c')]({'id':0x0,'priority':_0x3cd992[_0x81f3('0x47')][_0x81f3('0x4d')]+0x1,'app':_0x81f3('0x4e'),'appdata':_0x81f3('0x4b'),'interval':_0x81f3('0x4f')});}if(_0x3cd992[_0x81f3('0x3d')]['Applications']){delete _0x3cd992['account'][_0x81f3('0x43')];}if(_0x3cd992[_0x81f3('0x3d')][_0x81f3('0x3f')]){delete _0x3cd992[_0x81f3('0x3d')][_0x81f3('0x3f')];}if(_0x43609b[_0x81f3('0x3f')][_0x81f3('0x40')][_0x81f3('0x4d')]){return _0x43609b[_0x81f3('0x3f')][_0x81f3('0x40')][0x0];}var _0x501551=_['defaults'](_0x1ad0c5[_0x81f3('0x2d')],{'firstName':_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x37')],'ListId':_0x43609b[_0x81f3('0x35')]});_0x501551[_0x1ad0c5['body'][_0x81f3('0x3a')]]=_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x37')];return db[_0x81f3('0x31')][_0x81f3('0x50')](_0x501551);}else{throw new Error(_0x81f3('0x51'));}})['then'](function(_0x312fa8){_0x3cd992[_0x81f3('0x52')]=_0x312fa8;if(_0x312fa8){if(!_0x1ad0c5[_0x81f3('0x2d')]['message'][_0x81f3('0x53')]){_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x1b')][_0x81f3('0x53')]=rs[_0x81f3('0x54')]()+'\x20'+_0x1ad0c5['body'][_0x81f3('0x1b')][_0x81f3('0x37')];}var _0x5936e3={'ContactId':_0x312fa8['id'],'MailAccountId':_0x1ad0c5['account']['id'],'inReplyTo':_0x1ad0c5['body'][_0x81f3('0x1b')][_0x81f3('0x53')],'to':_0x1ad0c5['body']['message']['from'],'cc':_0x1ad0c5[_0x81f3('0x2d')]['message']['cc'],'subject':_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x1b')][_0x81f3('0x55')],'attach':_0x1ad0c5['body'][_0x81f3('0x1b')][_0x81f3('0x56')],'lastMsgAt':moment()[_0x81f3('0x57')](_0x81f3('0x58')),'lastMsgDirection':'in','lastMsgBody':_0x1ad0c5['body'][_0x81f3('0x2d')]};return db[_0x81f3('0x59')]['find']({'where':{'closed':![],'MailAccountId':_0x1ad0c5['account']['id']},'include':[{'model':db[_0x81f3('0x5a')],'as':_0x81f3('0x5b'),'attributes':[_0x81f3('0x53')],'where':{'messageId':_0x1ad0c5[_0x81f3('0x2d')]['message']['inReplyTo']}}]})[_0x81f3('0x13')](function(_0x49ab80){if(_0x49ab80){return[_0x49ab80,![]];}return db[_0x81f3('0x59')][_0x81f3('0x50')](_0x5936e3)[_0x81f3('0x13')](function(_0xf0a0d5){return[_0xf0a0d5,!![]];});});}else{throw new Error(_0x81f3('0x5c'));}})[_0x81f3('0x5d')](function(_0x953ee1,_0x7248f1){if(_0x953ee1){_0x128e8d=_0x7248f1;if(!_0x7248f1){return _0x953ee1[_0x81f3('0x5e')]({'inReplyTo':_0x1ad0c5['body'][_0x81f3('0x1b')][_0x81f3('0x53')],'to':_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x1b')][_0x81f3('0x37')],'cc':_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x1b')]['cc'],'subject':_0x1ad0c5['body'][_0x81f3('0x1b')][_0x81f3('0x55')],'attach':_0x953ee1[_0x81f3('0x56')]?_0x953ee1[_0x81f3('0x56')]:_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x1b')][_0x81f3('0x56')],'substatus':null,'substatusAt':moment()[_0x81f3('0x57')](_0x81f3('0x58')),'lastMsgAt':moment()[_0x81f3('0x57')](_0x81f3('0x58')),'lastMsgDirection':'in','lastMsgBody':_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x2d')]});}else{return _0x953ee1;}}})[_0x81f3('0x13')](function(_0x119c1a){_0x3cd992[_0x81f3('0x5f')]=_0x119c1a['get']({'plain':!![]});_0x3cd992[_0x81f3('0x5f')][_0x81f3('0x60')]=_0x128e8d;return db[_0x81f3('0x5a')][_0x81f3('0x50')]({'body':_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x2d')],'MailAccountId':_0x1ad0c5[_0x81f3('0x3d')]['id'],'MailInteractionId':_0x119c1a['id'],'direction':'in','ContactId':_0x3cd992['contact']['id'],'messageId':_0x1ad0c5['body'][_0x81f3('0x1b')][_0x81f3('0x53')],'from':_0x1ad0c5['body']['message'][_0x81f3('0x37')],'to':_0x1ad0c5['body'][_0x81f3('0x1b')]['to'],'cc':_0x1ad0c5['body']['message']['cc'],'subject':_0x1ad0c5[_0x81f3('0x2d')]['message'][_0x81f3('0x55')],'attach':_0x1ad0c5['body']['message']['attach'],'Attachments':_0x1ad0c5['body'][_0x81f3('0x1b')][_0x81f3('0x61')],'originTo':_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x1b')]['originTo'],'originCc':_0x1ad0c5[_0x81f3('0x2d')][_0x81f3('0x1b')][_0x81f3('0x62')],'bcc':_0x1ad0c5['body'][_0x81f3('0x1b')][_0x81f3('0x63')]},{'include':[{'model':db['Attachment'],'as':_0x81f3('0x64')}]});})[_0x81f3('0x13')](function(_0x491b7f){_0x3cd992['message']=_0x491b7f;if(_0x3cd992[_0x81f3('0x5f')][_0x81f3('0x65')]){return db[_0x81f3('0x66')]['find']({'attributes':['id',_0x81f3('0x67')],'where':{'id':_0x3cd992[_0x81f3('0x5f')][_0x81f3('0x65')]}})[_0x81f3('0x13')](function(_0x2aca38){if(_0x2aca38){_0x3cd992[_0x81f3('0x47')][_0x81f3('0x68')]({'id':0x0,'priority':0x0,'app':_0x81f3('0x69'),'appdata':_0x2aca38[_0x81f3('0x67')]+','+(_0x3cd992[_0x81f3('0x3d')][_0x81f3('0x6a')]||0xa),'interval':_0x81f3('0x4f')});}return respondWithRpcPromise(_0x81f3('0x6b'),_0x81f3('0x6c'),_0x3cd992);});}return respondWithRpcPromise(_0x81f3('0x6b'),_0x81f3('0x6c'),_0x3cd992);})[_0x81f3('0x13')](function(_0x11a316){_0x2a629c(_0x11a316);})[_0x81f3('0x1e')](function(_0x3bbfcb){_0x2dfd92(_0x5038d6[_0x81f3('0x18')](0x1f4,_0x3bbfcb[_0x81f3('0x1b')]));});});};