Built motion from commit (unavailable).|2.4.18
[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 _0x368a=['http','Chat','afterCreate','newinteraction','ChatInteraction','afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','get','direction','User','find','interface','format','name','channel','incomingmessage','catch','outgoingmessage','opened','changed','closed','event','UserId','SIP/%s','default','length','hasOwnProperty','model','hook','callback','toLowerCase','condition','jayson/promise','triggers','client'];(function(_0x455580,_0x5cd4dd){var _0x7aabc2=function(_0x10bf94){while(--_0x10bf94){_0x455580['push'](_0x455580['shift']());}};_0x7aabc2(++_0x5cd4dd);}(_0x368a,0x1e3));var _0xa368=function(_0x324012,_0x23f45f){_0x324012=_0x324012-0x0;var _0x435cf2=_0x368a[_0x324012];return _0x435cf2;};'use strict';var util=require('util');var db=require('../../mysqldb')['db'];var jayson=require(_0xa368('0x0'));var logger=require('../logger')(_0xa368('0x1'));var client=jayson[_0xa368('0x2')][_0xa368('0x3')]({'port':0x232a});var triggers=[{'channel':_0xa368('0x4'),'model':'ChatInteraction','event':_0xa368('0x5'),'condition':_0xa368('0x6'),'callback':afterCreate},{'channel':_0xa368('0x4'),'model':_0xa368('0x7'),'event':_0xa368('0x8'),'condition':_0xa368('0x9'),'callback':afterUpdate},{'channel':'Chat','model':_0xa368('0xa'),'event':_0xa368('0x5'),'condition':_0xa368('0xb'),'callback':afterCreateMessage},{'channel':_0xa368('0xc'),'model':_0xa368('0xd'),'event':_0xa368('0x5'),'condition':_0xa368('0x6'),'callback':afterCreate},{'channel':_0xa368('0xc'),'model':'SmsInteraction','event':_0xa368('0x8'),'condition':_0xa368('0x9'),'callback':afterUpdate},{'channel':'Sms','model':'SmsMessage','event':_0xa368('0x5'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa368('0xe'),'model':_0xa368('0xf'),'event':_0xa368('0x5'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xa368('0xe'),'model':_0xa368('0xf'),'event':'afterUpdate','condition':_0xa368('0x9'),'callback':afterUpdate},{'channel':_0xa368('0xe'),'model':_0xa368('0x10'),'event':_0xa368('0x5'),'condition':_0xa368('0xb'),'callback':afterCreateMessage},{'channel':_0xa368('0x11'),'model':_0xa368('0x12'),'event':_0xa368('0x5'),'condition':_0xa368('0x6'),'callback':afterCreate},{'channel':_0xa368('0x11'),'model':_0xa368('0x12'),'event':_0xa368('0x8'),'condition':_0xa368('0x9'),'callback':afterUpdate},{'channel':_0xa368('0x11'),'model':_0xa368('0x13'),'event':'afterCreate','condition':_0xa368('0xb'),'callback':afterCreateMessage},{'channel':_0xa368('0x14'),'model':_0xa368('0x15'),'event':'afterCreate','condition':_0xa368('0x6'),'callback':afterCreate},{'channel':'Openchannel','model':'OpenchannelInteraction','event':'afterUpdate','condition':_0xa368('0x9'),'callback':afterUpdate},{'channel':_0xa368('0x14'),'model':_0xa368('0x16'),'event':_0xa368('0x5'),'condition':'newmessage','callback':afterCreateMessage}];function request(_0x28e163){return client[_0xa368('0x17')](_0xa368('0x18'),_0x28e163)[_0xa368('0x19')](function(_0x32d1a1){logger[_0xa368('0x1a')](_0xa368('0x1b'),_0xa368('0x18'),_0x32d1a1);if(_0x32d1a1[_0xa368('0x1c')]){if(_0x32d1a1[_0xa368('0x1c')]['code']===0x1f4){logger[_0xa368('0x1c')]('Trigger,\x20%s',_0xa368('0x18'),_0x32d1a1[_0xa368('0x1c')]);}}})['catch'](function(_0x584f6a){logger['error']('Trigger,\x20%s',_0xa368('0x18'),_0x584f6a);});}function afterCreateMessage(_0x2ea475,_0x2404ba){return function(_0x15e186,_0x1c3e93){_0x15e186=_0x15e186[_0xa368('0x1d')]({'plain':!![]});_0x15e186['channel']=_0x2ea475;_0x15e186['event']=_0x15e186[_0xa368('0x1e')];if(_0x15e186['UserId']){return db[_0xa368('0x1f')][_0xa368('0x20')]({'where':{'id':_0x15e186['UserId']},'attributes':['id','name'],'raw':!![]})[_0xa368('0x19')](function(_0x375b81){_0x15e186[_0xa368('0x21')]=util[_0xa368('0x22')]('SIP/%s',_0x375b81[_0xa368('0x23')]);_0x15e186[_0xa368('0x24')]=_0x2ea475;return request({'event':_0xa368('0x25'),'message':_0x15e186});})[_0xa368('0x26')](function(_0x1b04cf){console[_0xa368('0x1c')](_0x1b04cf);});}else{return request({'event':_0xa368('0x27'),'message':_0x15e186});}};}function afterCreate(_0x45c708,_0x35df34){return function(_0x4d79ab,_0x8abeb2){_0x4d79ab=_0x4d79ab[_0xa368('0x1d')]({'plain':!![]});_0x4d79ab['channel']=_0x45c708;_0x4d79ab['event']=_0xa368('0x28');return request({'event':_0x35df34,'message':_0x4d79ab});};}function afterUpdate(_0x394ebe,_0xddd191){return function(_0x36f745,_0x562069){if(_0x36f745[_0xa368('0x29')](_0xa368('0x2a'))&&_0x36f745[_0xa368('0x2a')]){_0x36f745=_0x36f745['get']({'plain':!![]});_0x36f745[_0xa368('0x24')]=_0x394ebe;_0x36f745[_0xa368('0x2b')]=_0xa368('0x2a');if(_0x36f745[_0xa368('0x2c')]){return db[_0xa368('0x1f')][_0xa368('0x20')]({'where':{'id':_0x36f745[_0xa368('0x2c')]},'attributes':['id',_0xa368('0x23')],'raw':!![]})[_0xa368('0x19')](function(_0x4c8a43){_0x36f745['interface']=util[_0xa368('0x22')](_0xa368('0x2d'),_0x4c8a43[_0xa368('0x23')]);return request({'event':_0xddd191,'message':_0x36f745});})['catch'](function(_0x38cdb9){console[_0xa368('0x1c')](_0x38cdb9);});}else{return request({'event':_0xddd191,'message':_0x36f745});}}};}exports[_0xa368('0x2e')]=function(){for(var _0x3e6c92=0x0;_0x3e6c92<triggers[_0xa368('0x2f')];_0x3e6c92+=0x1){if(db[_0xa368('0x30')](triggers[_0x3e6c92][_0xa368('0x31')])){db[triggers[_0x3e6c92][_0xa368('0x31')]][_0xa368('0x32')](triggers[_0x3e6c92][_0xa368('0x2b')],triggers[_0x3e6c92][_0xa368('0x33')](triggers[_0x3e6c92]['channel'][_0xa368('0x34')](),triggers[_0x3e6c92][_0xa368('0x35')]));}}};