Built motion from commit (unavailable).|2.4.17
[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 _0x2a31=['error','Trigger,\x20%s','channel','event','direction','UserId','User','find','name','interface','format','incomingmessage','catch','outgoingmessage','get','opened','changed','closed','SIP/%s','default','length','model','callback','condition','util','../../mysqldb','client','Chat','ChatInteraction','afterCreate','afterUpdate','closedinteraction','ChatMessage','SmsInteraction','newinteraction','Sms','newmessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','Openchannel','OpenchannelInteraction','request','EventManager','then','info'];(function(_0x488616,_0x516a25){var _0x217fb3=function(_0x43bd59){while(--_0x43bd59){_0x488616['push'](_0x488616['shift']());}};_0x217fb3(++_0x516a25);}(_0x2a31,0x138));var _0x12a3=function(_0x1d9aa0,_0x272488){_0x1d9aa0=_0x1d9aa0-0x0;var _0x226868=_0x2a31[_0x1d9aa0];return _0x226868;};'use strict';var util=require(_0x12a3('0x0'));var db=require(_0x12a3('0x1'))['db'];var jayson=require('jayson/promise');var logger=require('../logger')('triggers');var client=jayson[_0x12a3('0x2')]['http']({'port':0x232a});var triggers=[{'channel':_0x12a3('0x3'),'model':_0x12a3('0x4'),'event':_0x12a3('0x5'),'condition':'newinteraction','callback':afterCreate},{'channel':'Chat','model':_0x12a3('0x4'),'event':_0x12a3('0x6'),'condition':_0x12a3('0x7'),'callback':afterUpdate},{'channel':_0x12a3('0x3'),'model':_0x12a3('0x8'),'event':_0x12a3('0x5'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Sms','model':_0x12a3('0x9'),'event':'afterCreate','condition':_0x12a3('0xa'),'callback':afterCreate},{'channel':'Sms','model':_0x12a3('0x9'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0x12a3('0xb'),'model':'SmsMessage','event':'afterCreate','condition':_0x12a3('0xc'),'callback':afterCreateMessage},{'channel':_0x12a3('0xd'),'model':_0x12a3('0xe'),'event':_0x12a3('0x5'),'condition':_0x12a3('0xa'),'callback':afterCreate},{'channel':_0x12a3('0xd'),'model':_0x12a3('0xe'),'event':'afterUpdate','condition':_0x12a3('0x7'),'callback':afterUpdate},{'channel':_0x12a3('0xd'),'model':_0x12a3('0xf'),'event':_0x12a3('0x5'),'condition':_0x12a3('0xc'),'callback':afterCreateMessage},{'channel':_0x12a3('0x10'),'model':_0x12a3('0x11'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':'Mail','model':'MailInteraction','event':'afterUpdate','condition':_0x12a3('0x7'),'callback':afterUpdate},{'channel':_0x12a3('0x10'),'model':'MailMessage','event':_0x12a3('0x5'),'condition':_0x12a3('0xc'),'callback':afterCreateMessage},{'channel':_0x12a3('0x12'),'model':_0x12a3('0x13'),'event':_0x12a3('0x5'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x12a3('0x12'),'model':_0x12a3('0x13'),'event':_0x12a3('0x6'),'condition':_0x12a3('0x7'),'callback':afterUpdate},{'channel':_0x12a3('0x12'),'model':'OpenchannelMessage','event':_0x12a3('0x5'),'condition':_0x12a3('0xc'),'callback':afterCreateMessage}];function request(_0x416913){return client[_0x12a3('0x14')](_0x12a3('0x15'),_0x416913)[_0x12a3('0x16')](function(_0xc8e451){logger[_0x12a3('0x17')]('Trigger,\x20%s',_0x12a3('0x15'),_0xc8e451);if(_0xc8e451[_0x12a3('0x18')]){if(_0xc8e451[_0x12a3('0x18')]['code']===0x1f4){logger[_0x12a3('0x18')](_0x12a3('0x19'),_0x12a3('0x15'),_0xc8e451[_0x12a3('0x18')]);}}})['catch'](function(_0x3c94e4){logger[_0x12a3('0x18')](_0x12a3('0x19'),_0x12a3('0x15'),_0x3c94e4);});}function afterCreateMessage(_0x5c8644,_0x154445){return function(_0x1d90dc,_0x282962){_0x1d90dc=_0x1d90dc['get']({'plain':!![]});_0x1d90dc[_0x12a3('0x1a')]=_0x5c8644;_0x1d90dc[_0x12a3('0x1b')]=_0x1d90dc[_0x12a3('0x1c')];if(_0x1d90dc[_0x12a3('0x1d')]){return db[_0x12a3('0x1e')][_0x12a3('0x1f')]({'where':{'id':_0x1d90dc['UserId']},'attributes':['id',_0x12a3('0x20')],'raw':!![]})[_0x12a3('0x16')](function(_0x338e04){_0x1d90dc[_0x12a3('0x21')]=util[_0x12a3('0x22')]('SIP/%s',_0x338e04['name']);_0x1d90dc[_0x12a3('0x1a')]=_0x5c8644;return request({'event':_0x12a3('0x23'),'message':_0x1d90dc});})[_0x12a3('0x24')](function(_0xfb218c){console[_0x12a3('0x18')](_0xfb218c);});}else{return request({'event':_0x12a3('0x25'),'message':_0x1d90dc});}};}function afterCreate(_0x465c0e,_0x383e91){return function(_0x46aeb9,_0x156a52){_0x46aeb9=_0x46aeb9[_0x12a3('0x26')]({'plain':!![]});_0x46aeb9['channel']=_0x465c0e;_0x46aeb9[_0x12a3('0x1b')]=_0x12a3('0x27');return request({'event':_0x383e91,'message':_0x46aeb9});};}function afterUpdate(_0x636157,_0x4481f1){return function(_0x4811fb,_0x4801b0){if(_0x4811fb[_0x12a3('0x28')](_0x12a3('0x29'))&&_0x4811fb[_0x12a3('0x29')]){_0x4811fb=_0x4811fb[_0x12a3('0x26')]({'plain':!![]});_0x4811fb[_0x12a3('0x1a')]=_0x636157;_0x4811fb['event']='closed';if(_0x4811fb[_0x12a3('0x1d')]){return db[_0x12a3('0x1e')]['find']({'where':{'id':_0x4811fb['UserId']},'attributes':['id',_0x12a3('0x20')],'raw':!![]})[_0x12a3('0x16')](function(_0x1486e1){_0x4811fb[_0x12a3('0x21')]=util[_0x12a3('0x22')](_0x12a3('0x2a'),_0x1486e1['name']);return request({'event':_0x4481f1,'message':_0x4811fb});})[_0x12a3('0x24')](function(_0x1b6c4c){console[_0x12a3('0x18')](_0x1b6c4c);});}else{return request({'event':_0x4481f1,'message':_0x4811fb});}}};}exports[_0x12a3('0x2b')]=function(){for(var _0x156dc2=0x0;_0x156dc2<triggers[_0x12a3('0x2c')];_0x156dc2+=0x1){if(db['hasOwnProperty'](triggers[_0x156dc2][_0x12a3('0x2d')])){db[triggers[_0x156dc2][_0x12a3('0x2d')]]['hook'](triggers[_0x156dc2][_0x12a3('0x1b')],triggers[_0x156dc2][_0x12a3('0x2e')](triggers[_0x156dc2][_0x12a3('0x1a')]['toLowerCase'](),triggers[_0x156dc2][_0x12a3('0x2f')]));}}};