Built motion from commit (unavailable).|2.5.29
[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 _0x5f5d=['channel','event','UserId','User','name','interface','format','SIP/%s','incomingmessage','catch','outgoingmessage','changed','closed','find','default','length','hasOwnProperty','model','hook','toLowerCase','condition','util','../../mysqldb','jayson/promise','triggers','client','http','ChatInteraction','afterCreate','newinteraction','Chat','afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','SmsMessage','WhatsappInteraction','Whatsapp','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','EventManager','then','error','Trigger,\x20%s','get'];(function(_0x5bd426,_0x4878e5){var _0x23a7eb=function(_0x594b42){while(--_0x594b42){_0x5bd426['push'](_0x5bd426['shift']());}};_0x23a7eb(++_0x4878e5);}(_0x5f5d,0x1c5));var _0xd5f5=function(_0x625f91,_0x3bf316){_0x625f91=_0x625f91-0x0;var _0x1f75d0=_0x5f5d[_0x625f91];return _0x1f75d0;};'use strict';var util=require(_0xd5f5('0x0'));var db=require(_0xd5f5('0x1'))['db'];var jayson=require(_0xd5f5('0x2'));var logger=require('../logger')(_0xd5f5('0x3'));var client=jayson[_0xd5f5('0x4')][_0xd5f5('0x5')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0xd5f5('0x6'),'event':_0xd5f5('0x7'),'condition':_0xd5f5('0x8'),'callback':afterCreate},{'channel':_0xd5f5('0x9'),'model':_0xd5f5('0x6'),'event':_0xd5f5('0xa'),'condition':_0xd5f5('0xb'),'callback':afterUpdate},{'channel':_0xd5f5('0x9'),'model':_0xd5f5('0xc'),'event':_0xd5f5('0x7'),'condition':_0xd5f5('0xd'),'callback':afterCreateMessage},{'channel':_0xd5f5('0xe'),'model':_0xd5f5('0xf'),'event':_0xd5f5('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xd5f5('0xe'),'model':'SmsInteraction','event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0xd5f5('0xe'),'model':_0xd5f5('0x10'),'event':_0xd5f5('0x7'),'condition':_0xd5f5('0xd'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':_0xd5f5('0x11'),'event':'afterCreate','condition':_0xd5f5('0x8'),'callback':afterCreate},{'channel':_0xd5f5('0x12'),'model':_0xd5f5('0x11'),'event':_0xd5f5('0xa'),'condition':_0xd5f5('0xb'),'callback':afterUpdate},{'channel':_0xd5f5('0x12'),'model':_0xd5f5('0x13'),'event':_0xd5f5('0x7'),'condition':_0xd5f5('0xd'),'callback':afterCreateMessage},{'channel':_0xd5f5('0x14'),'model':_0xd5f5('0x15'),'event':_0xd5f5('0x7'),'condition':_0xd5f5('0x8'),'callback':afterCreate},{'channel':_0xd5f5('0x14'),'model':_0xd5f5('0x15'),'event':_0xd5f5('0xa'),'condition':_0xd5f5('0xb'),'callback':afterUpdate},{'channel':_0xd5f5('0x14'),'model':_0xd5f5('0x16'),'event':_0xd5f5('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xd5f5('0x17'),'model':_0xd5f5('0x18'),'event':'afterCreate','condition':_0xd5f5('0x8'),'callback':afterCreate},{'channel':_0xd5f5('0x17'),'model':_0xd5f5('0x18'),'event':_0xd5f5('0xa'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xd5f5('0x17'),'model':_0xd5f5('0x19'),'event':_0xd5f5('0x7'),'condition':_0xd5f5('0xd'),'callback':afterCreateMessage},{'channel':_0xd5f5('0x1a'),'model':_0xd5f5('0x1b'),'event':_0xd5f5('0x7'),'condition':_0xd5f5('0x8'),'callback':afterCreate},{'channel':_0xd5f5('0x1a'),'model':_0xd5f5('0x1b'),'event':_0xd5f5('0xa'),'condition':_0xd5f5('0xb'),'callback':afterUpdate},{'channel':_0xd5f5('0x1a'),'model':'OpenchannelMessage','event':'afterCreate','condition':'newmessage','callback':afterCreateMessage}];function request(_0x55c156){return client['request'](_0xd5f5('0x1c'),_0x55c156)[_0xd5f5('0x1d')](function(_0x46c74b){logger['info']('Trigger,\x20%s',_0xd5f5('0x1c'),_0x46c74b);if(_0x46c74b['error']){if(_0x46c74b[_0xd5f5('0x1e')]['code']===0x1f4){logger[_0xd5f5('0x1e')](_0xd5f5('0x1f'),'EventManager',_0x46c74b[_0xd5f5('0x1e')]);}}})['catch'](function(_0x7e2b37){logger[_0xd5f5('0x1e')](_0xd5f5('0x1f'),'EventManager',_0x7e2b37);});}function afterCreateMessage(_0x4428dc,_0x2d084a){return function(_0xdfa948,_0x25e88a){_0xdfa948=_0xdfa948[_0xd5f5('0x20')]({'plain':!![]});_0xdfa948[_0xd5f5('0x21')]=_0x4428dc;_0xdfa948[_0xd5f5('0x22')]=_0xdfa948['direction'];if(_0xdfa948[_0xd5f5('0x23')]){return db[_0xd5f5('0x24')]['find']({'where':{'id':_0xdfa948[_0xd5f5('0x23')]},'attributes':['id',_0xd5f5('0x25')],'raw':!![]})[_0xd5f5('0x1d')](function(_0x1d1952){_0xdfa948[_0xd5f5('0x26')]=util[_0xd5f5('0x27')](_0xd5f5('0x28'),_0x1d1952['name']);_0xdfa948[_0xd5f5('0x21')]=_0x4428dc;return request({'event':_0xd5f5('0x29'),'message':_0xdfa948});})[_0xd5f5('0x2a')](function(_0x552cc9){console[_0xd5f5('0x1e')](_0x552cc9);});}else{return request({'event':_0xd5f5('0x2b'),'message':_0xdfa948});}};}function afterCreate(_0x31eabc,_0x149834){return function(_0x2cfdd2,_0x322f82){_0x2cfdd2=_0x2cfdd2['get']({'plain':!![]});_0x2cfdd2[_0xd5f5('0x21')]=_0x31eabc;_0x2cfdd2[_0xd5f5('0x22')]='opened';return request({'event':_0x149834,'message':_0x2cfdd2});};}function afterUpdate(_0x3a38d4,_0x1d055f){return function(_0x2c24c2,_0x1c053f){if(_0x2c24c2[_0xd5f5('0x2c')](_0xd5f5('0x2d'))&&_0x2c24c2[_0xd5f5('0x2d')]){_0x2c24c2=_0x2c24c2['get']({'plain':!![]});_0x2c24c2[_0xd5f5('0x21')]=_0x3a38d4;_0x2c24c2['event']=_0xd5f5('0x2d');if(_0x2c24c2[_0xd5f5('0x23')]){return db[_0xd5f5('0x24')][_0xd5f5('0x2e')]({'where':{'id':_0x2c24c2['UserId']},'attributes':['id',_0xd5f5('0x25')],'raw':!![]})[_0xd5f5('0x1d')](function(_0x222282){_0x2c24c2[_0xd5f5('0x26')]=util[_0xd5f5('0x27')](_0xd5f5('0x28'),_0x222282[_0xd5f5('0x25')]);return request({'event':_0x1d055f,'message':_0x2c24c2});})[_0xd5f5('0x2a')](function(_0x20067a){console[_0xd5f5('0x1e')](_0x20067a);});}else{return request({'event':_0x1d055f,'message':_0x2c24c2});}}};}exports[_0xd5f5('0x2f')]=function(){for(var _0xe3874e=0x0;_0xe3874e<triggers[_0xd5f5('0x30')];_0xe3874e+=0x1){if(db[_0xd5f5('0x31')](triggers[_0xe3874e][_0xd5f5('0x32')])){db[triggers[_0xe3874e][_0xd5f5('0x32')]][_0xd5f5('0x33')](triggers[_0xe3874e]['event'],triggers[_0xe3874e]['callback'](triggers[_0xe3874e]['channel'][_0xd5f5('0x34')](),triggers[_0xe3874e][_0xd5f5('0x35')]));}}};