961c9c3da54a894f909136b2b584d708e812d010
[motion2.git] / server / config / triggers / index.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 _0x68ed=['Sms','SmsInteraction','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','then','info','EventManager','error','code','catch','Trigger,\x20%s','get','channel','direction','UserId','find','name','interface','format','incomingmessage','outgoingmessage','event','opened','changed','User','SIP/%s','default','model','hook','callback','toLowerCase','condition','jayson/promise','../logger','triggers','client','http','Chat','afterCreate','newinteraction','ChatInteraction','afterUpdate','closedinteraction','ChatMessage','newmessage'];(function(_0x4d7b67,_0x5b3c9f){var _0x2d85e6=function(_0x4c1558){while(--_0x4c1558){_0x4d7b67['push'](_0x4d7b67['shift']());}};_0x2d85e6(++_0x5b3c9f);}(_0x68ed,0x9b));var _0xd68e=function(_0x523113,_0x3d5469){_0x523113=_0x523113-0x0;var _0x29f41b=_0x68ed[_0x523113];return _0x29f41b;};'use strict';var util=require('util');var db=require('../../mysqldb')['db'];var jayson=require(_0xd68e('0x0'));var logger=require(_0xd68e('0x1'))(_0xd68e('0x2'));var client=jayson[_0xd68e('0x3')][_0xd68e('0x4')]({'port':0x232a});var triggers=[{'channel':_0xd68e('0x5'),'model':'ChatInteraction','event':_0xd68e('0x6'),'condition':_0xd68e('0x7'),'callback':afterCreate},{'channel':_0xd68e('0x5'),'model':_0xd68e('0x8'),'event':_0xd68e('0x9'),'condition':_0xd68e('0xa'),'callback':afterUpdate},{'channel':_0xd68e('0x5'),'model':_0xd68e('0xb'),'event':_0xd68e('0x6'),'condition':_0xd68e('0xc'),'callback':afterCreateMessage},{'channel':_0xd68e('0xd'),'model':_0xd68e('0xe'),'event':_0xd68e('0x6'),'condition':_0xd68e('0x7'),'callback':afterCreate},{'channel':_0xd68e('0xd'),'model':_0xd68e('0xe'),'event':_0xd68e('0x9'),'condition':_0xd68e('0xa'),'callback':afterUpdate},{'channel':_0xd68e('0xd'),'model':'SmsMessage','event':_0xd68e('0x6'),'condition':_0xd68e('0xc'),'callback':afterCreateMessage},{'channel':_0xd68e('0xf'),'model':_0xd68e('0x10'),'event':_0xd68e('0x6'),'condition':_0xd68e('0x7'),'callback':afterCreate},{'channel':_0xd68e('0xf'),'model':_0xd68e('0x10'),'event':_0xd68e('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xd68e('0xf'),'model':_0xd68e('0x11'),'event':_0xd68e('0x6'),'condition':_0xd68e('0xc'),'callback':afterCreateMessage},{'channel':_0xd68e('0x12'),'model':_0xd68e('0x13'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0xd68e('0x12'),'model':_0xd68e('0x13'),'event':_0xd68e('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xd68e('0x12'),'model':_0xd68e('0x14'),'event':_0xd68e('0x6'),'condition':_0xd68e('0xc'),'callback':afterCreateMessage},{'channel':_0xd68e('0x15'),'model':_0xd68e('0x16'),'event':'afterCreate','condition':_0xd68e('0x7'),'callback':afterCreate},{'channel':_0xd68e('0x15'),'model':'MailInteraction','event':_0xd68e('0x9'),'condition':_0xd68e('0xa'),'callback':afterUpdate},{'channel':_0xd68e('0x15'),'model':_0xd68e('0x17'),'event':_0xd68e('0x6'),'condition':_0xd68e('0xc'),'callback':afterCreateMessage},{'channel':_0xd68e('0x18'),'model':'OpenchannelInteraction','event':_0xd68e('0x6'),'condition':_0xd68e('0x7'),'callback':afterCreate},{'channel':_0xd68e('0x18'),'model':_0xd68e('0x19'),'event':_0xd68e('0x9'),'condition':_0xd68e('0xa'),'callback':afterUpdate},{'channel':_0xd68e('0x18'),'model':_0xd68e('0x1a'),'event':_0xd68e('0x6'),'condition':'newmessage','callback':afterCreateMessage}];function request(_0x2dd164){return client[_0xd68e('0x1b')]('EventManager',_0x2dd164)[_0xd68e('0x1c')](function(_0x5202f6){logger[_0xd68e('0x1d')]('Trigger,\x20%s',_0xd68e('0x1e'),_0x5202f6);if(_0x5202f6[_0xd68e('0x1f')]){if(_0x5202f6[_0xd68e('0x1f')][_0xd68e('0x20')]===0x1f4){logger[_0xd68e('0x1f')]('Trigger,\x20%s',_0xd68e('0x1e'),_0x5202f6['error']);}}})[_0xd68e('0x21')](function(_0x452549){logger[_0xd68e('0x1f')](_0xd68e('0x22'),'EventManager',_0x452549);});}function afterCreateMessage(_0x377843,_0x51a164){return function(_0x234f52,_0x2bf320){_0x234f52=_0x234f52[_0xd68e('0x23')]({'plain':!![]});_0x234f52[_0xd68e('0x24')]=_0x377843;_0x234f52['event']=_0x234f52[_0xd68e('0x25')];if(_0x234f52[_0xd68e('0x26')]){return db['User'][_0xd68e('0x27')]({'where':{'id':_0x234f52[_0xd68e('0x26')]},'attributes':['id',_0xd68e('0x28')],'raw':!![]})[_0xd68e('0x1c')](function(_0x17ff18){_0x234f52[_0xd68e('0x29')]=util[_0xd68e('0x2a')]('SIP/%s',_0x17ff18[_0xd68e('0x28')]);_0x234f52['channel']=_0x377843;return request({'event':_0xd68e('0x2b'),'message':_0x234f52});})[_0xd68e('0x21')](function(_0xbe4149){console[_0xd68e('0x1f')](_0xbe4149);});}else{return request({'event':_0xd68e('0x2c'),'message':_0x234f52});}};}function afterCreate(_0x1308ad,_0x551e72){return function(_0xdd9bd3,_0x284be9){_0xdd9bd3=_0xdd9bd3[_0xd68e('0x23')]({'plain':!![]});_0xdd9bd3[_0xd68e('0x24')]=_0x1308ad;_0xdd9bd3[_0xd68e('0x2d')]=_0xd68e('0x2e');return request({'event':_0x551e72,'message':_0xdd9bd3});};}function afterUpdate(_0xb163f7,_0x9571cf){return function(_0x3fead4,_0x4b5814){if(_0x3fead4[_0xd68e('0x2f')]('closed')&&_0x3fead4['closed']){_0x3fead4=_0x3fead4['get']({'plain':!![]});_0x3fead4[_0xd68e('0x24')]=_0xb163f7;_0x3fead4[_0xd68e('0x2d')]='closed';if(_0x3fead4['UserId']){return db[_0xd68e('0x30')]['find']({'where':{'id':_0x3fead4[_0xd68e('0x26')]},'attributes':['id',_0xd68e('0x28')],'raw':!![]})[_0xd68e('0x1c')](function(_0x330c0b){_0x3fead4[_0xd68e('0x29')]=util[_0xd68e('0x2a')](_0xd68e('0x31'),_0x330c0b[_0xd68e('0x28')]);return request({'event':_0x9571cf,'message':_0x3fead4});})[_0xd68e('0x21')](function(_0x462091){console[_0xd68e('0x1f')](_0x462091);});}else{return request({'event':_0x9571cf,'message':_0x3fead4});}}};}exports[_0xd68e('0x32')]=function(){for(var _0x2e8f70=0x0;_0x2e8f70<triggers['length'];_0x2e8f70+=0x1){if(db['hasOwnProperty'](triggers[_0x2e8f70][_0xd68e('0x33')])){db[triggers[_0x2e8f70]['model']][_0xd68e('0x34')](triggers[_0x2e8f70][_0xd68e('0x2d')],triggers[_0x2e8f70][_0xd68e('0x35')](triggers[_0x2e8f70][_0xd68e('0x24')][_0xd68e('0x36')](),triggers[_0x2e8f70][_0xd68e('0x37')]));}}};