504f3b2385b53f47030baaf5022f1f9982e7d4f0
[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 _0x056e=['format','incomingmessage','outgoingmessage','opened','closed','UserId','SIP/%s','default','length','hasOwnProperty','model','hook','callback','condition','jayson/promise','../logger','triggers','client','http','Chat','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','newmessage','Fax','FaxInteraction','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','info','EventManager','error','code','Trigger,\x20%s','catch','get','channel','event','direction','User','name','then','interface'];(function(_0x166d93,_0x301f09){var _0xba708=function(_0x349bf7){while(--_0x349bf7){_0x166d93['push'](_0x166d93['shift']());}};_0xba708(++_0x301f09);}(_0x056e,0x1c6));var _0xe056=function(_0x544099,_0x372b30){_0x544099=_0x544099-0x0;var _0x20ab09=_0x056e[_0x544099];return _0x20ab09;};'use strict';var util=require('util');var db=require('../../mysqldb')['db'];var jayson=require(_0xe056('0x0'));var logger=require(_0xe056('0x1'))(_0xe056('0x2'));var client=jayson[_0xe056('0x3')][_0xe056('0x4')]({'port':0x232a});var triggers=[{'channel':_0xe056('0x5'),'model':_0xe056('0x6'),'event':_0xe056('0x7'),'condition':_0xe056('0x8'),'callback':afterCreate},{'channel':'Chat','model':_0xe056('0x6'),'event':_0xe056('0x9'),'condition':_0xe056('0xa'),'callback':afterUpdate},{'channel':_0xe056('0x5'),'model':'ChatMessage','event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0xe056('0xb'),'model':_0xe056('0xc'),'event':_0xe056('0x7'),'condition':_0xe056('0x8'),'callback':afterCreate},{'channel':'Sms','model':_0xe056('0xc'),'event':'afterUpdate','condition':_0xe056('0xa'),'callback':afterUpdate},{'channel':_0xe056('0xb'),'model':_0xe056('0xd'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0xe056('0xe'),'model':'WhatsappInteraction','event':'afterCreate','condition':_0xe056('0x8'),'callback':afterCreate},{'channel':'Whatsapp','model':_0xe056('0xf'),'event':_0xe056('0x9'),'condition':_0xe056('0xa'),'callback':afterUpdate},{'channel':_0xe056('0xe'),'model':_0xe056('0x10'),'event':'afterCreate','condition':_0xe056('0x11'),'callback':afterCreateMessage},{'channel':_0xe056('0x12'),'model':_0xe056('0x13'),'event':_0xe056('0x7'),'condition':_0xe056('0x8'),'callback':afterCreate},{'channel':_0xe056('0x12'),'model':_0xe056('0x13'),'event':_0xe056('0x9'),'condition':_0xe056('0xa'),'callback':afterUpdate},{'channel':_0xe056('0x12'),'model':'FaxMessage','event':'afterCreate','condition':_0xe056('0x11'),'callback':afterCreateMessage},{'channel':_0xe056('0x14'),'model':_0xe056('0x15'),'event':_0xe056('0x7'),'condition':_0xe056('0x8'),'callback':afterCreate},{'channel':_0xe056('0x14'),'model':_0xe056('0x15'),'event':_0xe056('0x9'),'condition':_0xe056('0xa'),'callback':afterUpdate},{'channel':_0xe056('0x14'),'model':_0xe056('0x16'),'event':_0xe056('0x7'),'condition':_0xe056('0x11'),'callback':afterCreateMessage},{'channel':_0xe056('0x17'),'model':'OpenchannelInteraction','event':_0xe056('0x7'),'condition':_0xe056('0x8'),'callback':afterCreate},{'channel':_0xe056('0x17'),'model':_0xe056('0x18'),'event':_0xe056('0x9'),'condition':_0xe056('0xa'),'callback':afterUpdate},{'channel':_0xe056('0x17'),'model':_0xe056('0x19'),'event':_0xe056('0x7'),'condition':_0xe056('0x11'),'callback':afterCreateMessage}];function request(_0x360ce2){return client[_0xe056('0x1a')]('EventManager',_0x360ce2)['then'](function(_0x48a252){logger[_0xe056('0x1b')]('Trigger,\x20%s',_0xe056('0x1c'),_0x48a252);if(_0x48a252['error']){if(_0x48a252[_0xe056('0x1d')][_0xe056('0x1e')]===0x1f4){logger['error'](_0xe056('0x1f'),_0xe056('0x1c'),_0x48a252[_0xe056('0x1d')]);}}})[_0xe056('0x20')](function(_0x4a1b0e){logger[_0xe056('0x1d')](_0xe056('0x1f'),_0xe056('0x1c'),_0x4a1b0e);});}function afterCreateMessage(_0x1daae5,_0x3712d4){return function(_0x44545e,_0x24d698){_0x44545e=_0x44545e[_0xe056('0x21')]({'plain':!![]});_0x44545e[_0xe056('0x22')]=_0x1daae5;_0x44545e[_0xe056('0x23')]=_0x44545e[_0xe056('0x24')];if(_0x44545e['UserId']){return db[_0xe056('0x25')]['find']({'where':{'id':_0x44545e['UserId']},'attributes':['id',_0xe056('0x26')],'raw':!![]})[_0xe056('0x27')](function(_0x2cd91e){_0x44545e[_0xe056('0x28')]=util[_0xe056('0x29')]('SIP/%s',_0x2cd91e['name']);_0x44545e[_0xe056('0x22')]=_0x1daae5;return request({'event':_0xe056('0x2a'),'message':_0x44545e});})['catch'](function(_0x45e801){console[_0xe056('0x1d')](_0x45e801);});}else{return request({'event':_0xe056('0x2b'),'message':_0x44545e});}};}function afterCreate(_0xc8ed8b,_0x71affc){return function(_0x16db17,_0x40a41f){_0x16db17=_0x16db17[_0xe056('0x21')]({'plain':!![]});_0x16db17[_0xe056('0x22')]=_0xc8ed8b;_0x16db17[_0xe056('0x23')]=_0xe056('0x2c');return request({'event':_0x71affc,'message':_0x16db17});};}function afterUpdate(_0xa67d97,_0x1977fb){return function(_0x122fb1,_0x390ef2){if(_0x122fb1['changed'](_0xe056('0x2d'))&&_0x122fb1[_0xe056('0x2d')]){_0x122fb1=_0x122fb1[_0xe056('0x21')]({'plain':!![]});_0x122fb1[_0xe056('0x22')]=_0xa67d97;_0x122fb1[_0xe056('0x23')]='closed';if(_0x122fb1[_0xe056('0x2e')]){return db[_0xe056('0x25')]['find']({'where':{'id':_0x122fb1[_0xe056('0x2e')]},'attributes':['id',_0xe056('0x26')],'raw':!![]})[_0xe056('0x27')](function(_0x195be6){_0x122fb1[_0xe056('0x28')]=util[_0xe056('0x29')](_0xe056('0x2f'),_0x195be6[_0xe056('0x26')]);return request({'event':_0x1977fb,'message':_0x122fb1});})['catch'](function(_0x3b7c52){console['error'](_0x3b7c52);});}else{return request({'event':_0x1977fb,'message':_0x122fb1});}}};}exports[_0xe056('0x30')]=function(){for(var _0x3c9d92=0x0;_0x3c9d92<triggers[_0xe056('0x31')];_0x3c9d92+=0x1){if(db[_0xe056('0x32')](triggers[_0x3c9d92][_0xe056('0x33')])){db[triggers[_0x3c9d92][_0xe056('0x33')]][_0xe056('0x34')](triggers[_0x3c9d92][_0xe056('0x23')],triggers[_0x3c9d92][_0xe056('0x35')](triggers[_0x3c9d92][_0xe056('0x22')]['toLowerCase'](),triggers[_0x3c9d92][_0xe056('0x36')]));}}};