32e568b03091909f74f000329f0fe6c386cb0e79
[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 _0x1b13=['event','direction','User','find','UserId','interface','format','SIP/%s','channel','incomingmessage','catch','outgoingmessage','opened','closed','name','default','length','hasOwnProperty','model','hook','callback','toLowerCase','util','../../mysqldb','jayson/promise','../logger','triggers','client','http','Chat','afterCreate','ChatInteraction','afterUpdate','ChatMessage','newmessage','Sms','SmsInteraction','closedinteraction','SmsMessage','Whatsapp','newinteraction','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','MailInteraction','Mail','Openchannel','OpenchannelMessage','EventManager','then','info','Trigger,\x20%s','error','get'];(function(_0x4c786a,_0x242bc9){var _0xa35f37=function(_0x32ff12){while(--_0x32ff12){_0x4c786a['push'](_0x4c786a['shift']());}};_0xa35f37(++_0x242bc9);}(_0x1b13,0x1d6));var _0x31b1=function(_0x852158,_0x504b17){_0x852158=_0x852158-0x0;var _0xdc216b=_0x1b13[_0x852158];return _0xdc216b;};'use strict';var util=require(_0x31b1('0x0'));var db=require(_0x31b1('0x1'))['db'];var jayson=require(_0x31b1('0x2'));var logger=require(_0x31b1('0x3'))(_0x31b1('0x4'));var client=jayson[_0x31b1('0x5')][_0x31b1('0x6')]({'port':0x232a});var triggers=[{'channel':_0x31b1('0x7'),'model':'ChatInteraction','event':_0x31b1('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x31b1('0x7'),'model':_0x31b1('0x9'),'event':_0x31b1('0xa'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x31b1('0x7'),'model':_0x31b1('0xb'),'event':_0x31b1('0x8'),'condition':_0x31b1('0xc'),'callback':afterCreateMessage},{'channel':_0x31b1('0xd'),'model':'SmsInteraction','event':_0x31b1('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':'Sms','model':_0x31b1('0xe'),'event':_0x31b1('0xa'),'condition':_0x31b1('0xf'),'callback':afterUpdate},{'channel':_0x31b1('0xd'),'model':_0x31b1('0x10'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0x31b1('0x11'),'model':'WhatsappInteraction','event':'afterCreate','condition':_0x31b1('0x12'),'callback':afterCreate},{'channel':_0x31b1('0x11'),'model':_0x31b1('0x13'),'event':'afterUpdate','condition':_0x31b1('0xf'),'callback':afterUpdate},{'channel':_0x31b1('0x11'),'model':_0x31b1('0x14'),'event':_0x31b1('0x8'),'condition':_0x31b1('0xc'),'callback':afterCreateMessage},{'channel':_0x31b1('0x15'),'model':'FaxInteraction','event':_0x31b1('0x8'),'condition':_0x31b1('0x12'),'callback':afterCreate},{'channel':_0x31b1('0x15'),'model':_0x31b1('0x16'),'event':'afterUpdate','condition':_0x31b1('0xf'),'callback':afterUpdate},{'channel':_0x31b1('0x15'),'model':_0x31b1('0x17'),'event':_0x31b1('0x8'),'condition':_0x31b1('0xc'),'callback':afterCreateMessage},{'channel':'Mail','model':_0x31b1('0x18'),'event':'afterCreate','condition':_0x31b1('0x12'),'callback':afterCreate},{'channel':'Mail','model':_0x31b1('0x18'),'event':_0x31b1('0xa'),'condition':_0x31b1('0xf'),'callback':afterUpdate},{'channel':_0x31b1('0x19'),'model':'MailMessage','event':_0x31b1('0x8'),'condition':_0x31b1('0xc'),'callback':afterCreateMessage},{'channel':_0x31b1('0x1a'),'model':'OpenchannelInteraction','event':_0x31b1('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x31b1('0x1a'),'model':'OpenchannelInteraction','event':_0x31b1('0xa'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x31b1('0x1a'),'model':_0x31b1('0x1b'),'event':_0x31b1('0x8'),'condition':_0x31b1('0xc'),'callback':afterCreateMessage}];function request(_0x7e2866){return client['request'](_0x31b1('0x1c'),_0x7e2866)[_0x31b1('0x1d')](function(_0x7c79bd){logger[_0x31b1('0x1e')](_0x31b1('0x1f'),'EventManager',_0x7c79bd);if(_0x7c79bd[_0x31b1('0x20')]){if(_0x7c79bd[_0x31b1('0x20')]['code']===0x1f4){logger['error'](_0x31b1('0x1f'),_0x31b1('0x1c'),_0x7c79bd[_0x31b1('0x20')]);}}})['catch'](function(_0x39cb5a){logger[_0x31b1('0x20')](_0x31b1('0x1f'),_0x31b1('0x1c'),_0x39cb5a);});}function afterCreateMessage(_0x4f0909,_0x424e5e){return function(_0x4c918c,_0x1cac82){_0x4c918c=_0x4c918c[_0x31b1('0x21')]({'plain':!![]});_0x4c918c['channel']=_0x4f0909;_0x4c918c[_0x31b1('0x22')]=_0x4c918c[_0x31b1('0x23')];if(_0x4c918c['UserId']){return db[_0x31b1('0x24')][_0x31b1('0x25')]({'where':{'id':_0x4c918c[_0x31b1('0x26')]},'attributes':['id','name'],'raw':!![]})[_0x31b1('0x1d')](function(_0x528f3b){_0x4c918c[_0x31b1('0x27')]=util[_0x31b1('0x28')](_0x31b1('0x29'),_0x528f3b['name']);_0x4c918c[_0x31b1('0x2a')]=_0x4f0909;return request({'event':_0x31b1('0x2b'),'message':_0x4c918c});})[_0x31b1('0x2c')](function(_0x41d71e){console['error'](_0x41d71e);});}else{return request({'event':_0x31b1('0x2d'),'message':_0x4c918c});}};}function afterCreate(_0x36e92c,_0x30b0ca){return function(_0x42e4e3,_0x1323b1){_0x42e4e3=_0x42e4e3[_0x31b1('0x21')]({'plain':!![]});_0x42e4e3[_0x31b1('0x2a')]=_0x36e92c;_0x42e4e3[_0x31b1('0x22')]=_0x31b1('0x2e');return request({'event':_0x30b0ca,'message':_0x42e4e3});};}function afterUpdate(_0x338fbe,_0x7a2aea){return function(_0x25864b,_0x51aa4b){if(_0x25864b['changed']('closed')&&_0x25864b[_0x31b1('0x2f')]){_0x25864b=_0x25864b['get']({'plain':!![]});_0x25864b[_0x31b1('0x2a')]=_0x338fbe;_0x25864b[_0x31b1('0x22')]=_0x31b1('0x2f');if(_0x25864b['UserId']){return db[_0x31b1('0x24')][_0x31b1('0x25')]({'where':{'id':_0x25864b['UserId']},'attributes':['id',_0x31b1('0x30')],'raw':!![]})['then'](function(_0x3b63b7){_0x25864b[_0x31b1('0x27')]=util[_0x31b1('0x28')](_0x31b1('0x29'),_0x3b63b7[_0x31b1('0x30')]);return request({'event':_0x7a2aea,'message':_0x25864b});})['catch'](function(_0x28a466){console[_0x31b1('0x20')](_0x28a466);});}else{return request({'event':_0x7a2aea,'message':_0x25864b});}}};}exports[_0x31b1('0x31')]=function(){for(var _0x5753f2=0x0;_0x5753f2<triggers[_0x31b1('0x32')];_0x5753f2+=0x1){if(db[_0x31b1('0x33')](triggers[_0x5753f2][_0x31b1('0x34')])){db[triggers[_0x5753f2][_0x31b1('0x34')]][_0x31b1('0x35')](triggers[_0x5753f2]['event'],triggers[_0x5753f2][_0x31b1('0x36')](triggers[_0x5753f2][_0x31b1('0x2a')][_0x31b1('0x37')](),triggers[_0x5753f2]['condition']));}}};