Built motion from commit (unavailable).|2.5.30
[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 _0x7a51=['client','http','ChatInteraction','afterCreate','newinteraction','Chat','afterUpdate','closedinteraction','ChatMessage','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','newmessage','Mail','MailInteraction','Openchannel','OpenchannelInteraction','then','info','error','code','Trigger,\x20%s','EventManager','catch','get','channel','event','direction','User','name','interface','format','SIP/%s','incomingmessage','outgoingmessage','changed','closed','UserId','default','length','hasOwnProperty','model','hook','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','triggers'];(function(_0x157f09,_0x4425db){var _0xd80ca9=function(_0x465934){while(--_0x465934){_0x157f09['push'](_0x157f09['shift']());}};_0xd80ca9(++_0x4425db);}(_0x7a51,0x1f4));var _0x17a5=function(_0x267f01,_0x3f4e2c){_0x267f01=_0x267f01-0x0;var _0x58e3e4=_0x7a51[_0x267f01];return _0x58e3e4;};'use strict';var util=require(_0x17a5('0x0'));var db=require(_0x17a5('0x1'))['db'];var jayson=require(_0x17a5('0x2'));var logger=require('../logger')(_0x17a5('0x3'));var client=jayson[_0x17a5('0x4')][_0x17a5('0x5')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0x17a5('0x6'),'event':_0x17a5('0x7'),'condition':_0x17a5('0x8'),'callback':afterCreate},{'channel':_0x17a5('0x9'),'model':_0x17a5('0x6'),'event':_0x17a5('0xa'),'condition':_0x17a5('0xb'),'callback':afterUpdate},{'channel':_0x17a5('0x9'),'model':_0x17a5('0xc'),'event':_0x17a5('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x17a5('0xd'),'model':'SmsInteraction','event':_0x17a5('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x17a5('0xd'),'model':_0x17a5('0xe'),'event':_0x17a5('0xa'),'condition':'closedinteraction','callback':afterUpdate},{'channel':'Sms','model':_0x17a5('0xf'),'event':_0x17a5('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x17a5('0x10'),'model':_0x17a5('0x11'),'event':_0x17a5('0x7'),'condition':_0x17a5('0x8'),'callback':afterCreate},{'channel':_0x17a5('0x10'),'model':_0x17a5('0x11'),'event':_0x17a5('0xa'),'condition':_0x17a5('0xb'),'callback':afterUpdate},{'channel':_0x17a5('0x10'),'model':_0x17a5('0x12'),'event':_0x17a5('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x17a5('0x13'),'model':_0x17a5('0x14'),'event':_0x17a5('0x7'),'condition':_0x17a5('0x8'),'callback':afterCreate},{'channel':_0x17a5('0x13'),'model':_0x17a5('0x14'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0x17a5('0x13'),'model':_0x17a5('0x15'),'event':_0x17a5('0x7'),'condition':_0x17a5('0x16'),'callback':afterCreateMessage},{'channel':_0x17a5('0x17'),'model':_0x17a5('0x18'),'event':_0x17a5('0x7'),'condition':_0x17a5('0x8'),'callback':afterCreate},{'channel':_0x17a5('0x17'),'model':_0x17a5('0x18'),'event':_0x17a5('0xa'),'condition':_0x17a5('0xb'),'callback':afterUpdate},{'channel':_0x17a5('0x17'),'model':'MailMessage','event':_0x17a5('0x7'),'condition':_0x17a5('0x16'),'callback':afterCreateMessage},{'channel':_0x17a5('0x19'),'model':_0x17a5('0x1a'),'event':'afterCreate','condition':_0x17a5('0x8'),'callback':afterCreate},{'channel':_0x17a5('0x19'),'model':'OpenchannelInteraction','event':_0x17a5('0xa'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x17a5('0x19'),'model':'OpenchannelMessage','event':_0x17a5('0x7'),'condition':_0x17a5('0x16'),'callback':afterCreateMessage}];function request(_0x4ea9ef){return client['request']('EventManager',_0x4ea9ef)[_0x17a5('0x1b')](function(_0x250278){logger[_0x17a5('0x1c')]('Trigger,\x20%s','EventManager',_0x250278);if(_0x250278[_0x17a5('0x1d')]){if(_0x250278[_0x17a5('0x1d')][_0x17a5('0x1e')]===0x1f4){logger['error'](_0x17a5('0x1f'),_0x17a5('0x20'),_0x250278[_0x17a5('0x1d')]);}}})[_0x17a5('0x21')](function(_0x208c85){logger[_0x17a5('0x1d')](_0x17a5('0x1f'),'EventManager',_0x208c85);});}function afterCreateMessage(_0x2d3a58,_0x1b2196){return function(_0x321659,_0x45f94f){_0x321659=_0x321659[_0x17a5('0x22')]({'plain':!![]});_0x321659[_0x17a5('0x23')]=_0x2d3a58;_0x321659[_0x17a5('0x24')]=_0x321659[_0x17a5('0x25')];if(_0x321659['UserId']){return db[_0x17a5('0x26')]['find']({'where':{'id':_0x321659['UserId']},'attributes':['id',_0x17a5('0x27')],'raw':!![]})[_0x17a5('0x1b')](function(_0x367b96){_0x321659[_0x17a5('0x28')]=util[_0x17a5('0x29')](_0x17a5('0x2a'),_0x367b96[_0x17a5('0x27')]);_0x321659[_0x17a5('0x23')]=_0x2d3a58;return request({'event':_0x17a5('0x2b'),'message':_0x321659});})[_0x17a5('0x21')](function(_0x594bd7){console[_0x17a5('0x1d')](_0x594bd7);});}else{return request({'event':_0x17a5('0x2c'),'message':_0x321659});}};}function afterCreate(_0x1742dc,_0x3d78ac){return function(_0x45b218,_0x236cfc){_0x45b218=_0x45b218[_0x17a5('0x22')]({'plain':!![]});_0x45b218[_0x17a5('0x23')]=_0x1742dc;_0x45b218[_0x17a5('0x24')]='opened';return request({'event':_0x3d78ac,'message':_0x45b218});};}function afterUpdate(_0x4a7f20,_0x26c299){return function(_0x32d731,_0x3f0253){if(_0x32d731[_0x17a5('0x2d')]('closed')&&_0x32d731[_0x17a5('0x2e')]){_0x32d731=_0x32d731[_0x17a5('0x22')]({'plain':!![]});_0x32d731[_0x17a5('0x23')]=_0x4a7f20;_0x32d731[_0x17a5('0x24')]=_0x17a5('0x2e');if(_0x32d731[_0x17a5('0x2f')]){return db['User']['find']({'where':{'id':_0x32d731[_0x17a5('0x2f')]},'attributes':['id',_0x17a5('0x27')],'raw':!![]})['then'](function(_0x4c01cc){_0x32d731['interface']=util['format']('SIP/%s',_0x4c01cc[_0x17a5('0x27')]);return request({'event':_0x26c299,'message':_0x32d731});})[_0x17a5('0x21')](function(_0xfd9311){console[_0x17a5('0x1d')](_0xfd9311);});}else{return request({'event':_0x26c299,'message':_0x32d731});}}};}exports[_0x17a5('0x30')]=function(){for(var _0x1c56ac=0x0;_0x1c56ac<triggers[_0x17a5('0x31')];_0x1c56ac+=0x1){if(db[_0x17a5('0x32')](triggers[_0x1c56ac]['model'])){db[triggers[_0x1c56ac][_0x17a5('0x33')]][_0x17a5('0x34')](triggers[_0x1c56ac][_0x17a5('0x24')],triggers[_0x1c56ac][_0x17a5('0x35')](triggers[_0x1c56ac][_0x17a5('0x23')][_0x17a5('0x36')](),triggers[_0x1c56ac][_0x17a5('0x37')]));}}};