Built motion from commit (unavailable).|2.5.24
[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 _0x6b03=['ChatMessage','newmessage','Sms','SmsInteraction','newinteraction','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','OpenchannelInteraction','OpenchannelMessage','request','then','info','Trigger,\x20%s','error','code','catch','get','channel','direction','UserId','User','find','name','format','SIP/%s','incomingmessage','outgoingmessage','event','opened','closed','default','hasOwnProperty','model','hook','toLowerCase','condition','../../mysqldb','jayson/promise','../logger','client','Chat','ChatInteraction','afterCreate','afterUpdate','closedinteraction'];(function(_0x3b380d,_0x4bf247){var _0x54502b=function(_0x35d207){while(--_0x35d207){_0x3b380d['push'](_0x3b380d['shift']());}};_0x54502b(++_0x4bf247);}(_0x6b03,0xcb));var _0x36b0=function(_0x1f6bcd,_0x9d204f){_0x1f6bcd=_0x1f6bcd-0x0;var _0x4da304=_0x6b03[_0x1f6bcd];return _0x4da304;};'use strict';var util=require('util');var db=require(_0x36b0('0x0'))['db'];var jayson=require(_0x36b0('0x1'));var logger=require(_0x36b0('0x2'))('triggers');var client=jayson[_0x36b0('0x3')]['http']({'port':0x232a});var triggers=[{'channel':_0x36b0('0x4'),'model':_0x36b0('0x5'),'event':_0x36b0('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':'Chat','model':_0x36b0('0x5'),'event':_0x36b0('0x7'),'condition':_0x36b0('0x8'),'callback':afterUpdate},{'channel':_0x36b0('0x4'),'model':_0x36b0('0x9'),'event':'afterCreate','condition':_0x36b0('0xa'),'callback':afterCreateMessage},{'channel':_0x36b0('0xb'),'model':_0x36b0('0xc'),'event':_0x36b0('0x6'),'condition':_0x36b0('0xd'),'callback':afterCreate},{'channel':_0x36b0('0xb'),'model':_0x36b0('0xc'),'event':_0x36b0('0x7'),'condition':_0x36b0('0x8'),'callback':afterUpdate},{'channel':_0x36b0('0xb'),'model':_0x36b0('0xe'),'event':_0x36b0('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x36b0('0xf'),'model':_0x36b0('0x10'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0x36b0('0xf'),'model':'WhatsappInteraction','event':_0x36b0('0x7'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x36b0('0xf'),'model':_0x36b0('0x11'),'event':_0x36b0('0x6'),'condition':_0x36b0('0xa'),'callback':afterCreateMessage},{'channel':_0x36b0('0x12'),'model':_0x36b0('0x13'),'event':'afterCreate','condition':_0x36b0('0xd'),'callback':afterCreate},{'channel':_0x36b0('0x12'),'model':_0x36b0('0x13'),'event':_0x36b0('0x7'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x36b0('0x12'),'model':_0x36b0('0x14'),'event':'afterCreate','condition':_0x36b0('0xa'),'callback':afterCreateMessage},{'channel':_0x36b0('0x15'),'model':_0x36b0('0x16'),'event':_0x36b0('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x36b0('0x15'),'model':'MailInteraction','event':_0x36b0('0x7'),'condition':'closedinteraction','callback':afterUpdate},{'channel':'Mail','model':_0x36b0('0x17'),'event':_0x36b0('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Openchannel','model':_0x36b0('0x18'),'event':_0x36b0('0x6'),'condition':_0x36b0('0xd'),'callback':afterCreate},{'channel':'Openchannel','model':_0x36b0('0x18'),'event':'afterUpdate','condition':_0x36b0('0x8'),'callback':afterUpdate},{'channel':'Openchannel','model':_0x36b0('0x19'),'event':_0x36b0('0x6'),'condition':'newmessage','callback':afterCreateMessage}];function request(_0x51cbdb){return client[_0x36b0('0x1a')]('EventManager',_0x51cbdb)[_0x36b0('0x1b')](function(_0x8c7e3b){logger[_0x36b0('0x1c')](_0x36b0('0x1d'),'EventManager',_0x8c7e3b);if(_0x8c7e3b[_0x36b0('0x1e')]){if(_0x8c7e3b[_0x36b0('0x1e')][_0x36b0('0x1f')]===0x1f4){logger['error']('Trigger,\x20%s','EventManager',_0x8c7e3b[_0x36b0('0x1e')]);}}})[_0x36b0('0x20')](function(_0x2f63d1){logger[_0x36b0('0x1e')]('Trigger,\x20%s','EventManager',_0x2f63d1);});}function afterCreateMessage(_0x359623,_0x21d1a5){return function(_0x65e0e0,_0x16a945){_0x65e0e0=_0x65e0e0[_0x36b0('0x21')]({'plain':!![]});_0x65e0e0[_0x36b0('0x22')]=_0x359623;_0x65e0e0['event']=_0x65e0e0[_0x36b0('0x23')];if(_0x65e0e0[_0x36b0('0x24')]){return db[_0x36b0('0x25')][_0x36b0('0x26')]({'where':{'id':_0x65e0e0[_0x36b0('0x24')]},'attributes':['id',_0x36b0('0x27')],'raw':!![]})[_0x36b0('0x1b')](function(_0x4ad617){_0x65e0e0['interface']=util[_0x36b0('0x28')](_0x36b0('0x29'),_0x4ad617[_0x36b0('0x27')]);_0x65e0e0[_0x36b0('0x22')]=_0x359623;return request({'event':_0x36b0('0x2a'),'message':_0x65e0e0});})[_0x36b0('0x20')](function(_0x21363b){console['error'](_0x21363b);});}else{return request({'event':_0x36b0('0x2b'),'message':_0x65e0e0});}};}function afterCreate(_0x1ba912,_0x917060){return function(_0x41c354,_0x5339d5){_0x41c354=_0x41c354[_0x36b0('0x21')]({'plain':!![]});_0x41c354[_0x36b0('0x22')]=_0x1ba912;_0x41c354[_0x36b0('0x2c')]=_0x36b0('0x2d');return request({'event':_0x917060,'message':_0x41c354});};}function afterUpdate(_0x1a5cb7,_0x55f10b){return function(_0xc7cd78,_0x4e3326){if(_0xc7cd78['changed'](_0x36b0('0x2e'))&&_0xc7cd78['closed']){_0xc7cd78=_0xc7cd78['get']({'plain':!![]});_0xc7cd78['channel']=_0x1a5cb7;_0xc7cd78[_0x36b0('0x2c')]=_0x36b0('0x2e');if(_0xc7cd78['UserId']){return db[_0x36b0('0x25')][_0x36b0('0x26')]({'where':{'id':_0xc7cd78[_0x36b0('0x24')]},'attributes':['id',_0x36b0('0x27')],'raw':!![]})[_0x36b0('0x1b')](function(_0x13b56c){_0xc7cd78['interface']=util[_0x36b0('0x28')](_0x36b0('0x29'),_0x13b56c[_0x36b0('0x27')]);return request({'event':_0x55f10b,'message':_0xc7cd78});})[_0x36b0('0x20')](function(_0x3e10ab){console[_0x36b0('0x1e')](_0x3e10ab);});}else{return request({'event':_0x55f10b,'message':_0xc7cd78});}}};}exports[_0x36b0('0x2f')]=function(){for(var _0x318360=0x0;_0x318360<triggers['length'];_0x318360+=0x1){if(db[_0x36b0('0x30')](triggers[_0x318360]['model'])){db[triggers[_0x318360][_0x36b0('0x31')]][_0x36b0('0x32')](triggers[_0x318360][_0x36b0('0x2c')],triggers[_0x318360]['callback'](triggers[_0x318360][_0x36b0('0x22')][_0x36b0('0x33')](),triggers[_0x318360][_0x36b0('0x34')]));}}};