Built motion from commit (unavailable).|2.5.2
[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 _0xb9ee=['info','Trigger,\x20%s','EventManager','error','code','catch','get','channel','direction','UserId','User','find','format','SIP/%s','incomingmessage','closed','event','name','interface','default','length','hasOwnProperty','model','hook','callback','condition','util','../../mysqldb','jayson/promise','triggers','client','http','Chat','ChatInteraction','newinteraction','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','afterCreate','afterUpdate','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelMessage','request','then'];(function(_0x54db71,_0x43de96){var _0x1104e7=function(_0x2c3606){while(--_0x2c3606){_0x54db71['push'](_0x54db71['shift']());}};_0x1104e7(++_0x43de96);}(_0xb9ee,0x12d));var _0xeb9e=function(_0x30cf8d,_0x286354){_0x30cf8d=_0x30cf8d-0x0;var _0x92e924=_0xb9ee[_0x30cf8d];return _0x92e924;};'use strict';var util=require(_0xeb9e('0x0'));var db=require(_0xeb9e('0x1'))['db'];var jayson=require(_0xeb9e('0x2'));var logger=require('../logger')(_0xeb9e('0x3'));var client=jayson[_0xeb9e('0x4')][_0xeb9e('0x5')]({'port':0x232a});var triggers=[{'channel':_0xeb9e('0x6'),'model':_0xeb9e('0x7'),'event':'afterCreate','condition':_0xeb9e('0x8'),'callback':afterCreate},{'channel':_0xeb9e('0x6'),'model':_0xeb9e('0x7'),'event':'afterUpdate','condition':_0xeb9e('0x9'),'callback':afterUpdate},{'channel':_0xeb9e('0x6'),'model':_0xeb9e('0xa'),'event':'afterCreate','condition':_0xeb9e('0xb'),'callback':afterCreateMessage},{'channel':_0xeb9e('0xc'),'model':_0xeb9e('0xd'),'event':_0xeb9e('0xe'),'condition':_0xeb9e('0x8'),'callback':afterCreate},{'channel':'Sms','model':_0xeb9e('0xd'),'event':_0xeb9e('0xf'),'condition':_0xeb9e('0x9'),'callback':afterUpdate},{'channel':_0xeb9e('0xc'),'model':'SmsMessage','event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0xeb9e('0x10'),'model':_0xeb9e('0x11'),'event':_0xeb9e('0xe'),'condition':_0xeb9e('0x8'),'callback':afterCreate},{'channel':_0xeb9e('0x10'),'model':_0xeb9e('0x11'),'event':_0xeb9e('0xf'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xeb9e('0x10'),'model':_0xeb9e('0x12'),'event':_0xeb9e('0xe'),'condition':_0xeb9e('0xb'),'callback':afterCreateMessage},{'channel':_0xeb9e('0x13'),'model':'FaxInteraction','event':'afterCreate','condition':_0xeb9e('0x8'),'callback':afterCreate},{'channel':_0xeb9e('0x13'),'model':_0xeb9e('0x14'),'event':_0xeb9e('0xf'),'condition':_0xeb9e('0x9'),'callback':afterUpdate},{'channel':_0xeb9e('0x13'),'model':_0xeb9e('0x15'),'event':_0xeb9e('0xe'),'condition':_0xeb9e('0xb'),'callback':afterCreateMessage},{'channel':_0xeb9e('0x16'),'model':'MailInteraction','event':'afterCreate','condition':_0xeb9e('0x8'),'callback':afterCreate},{'channel':_0xeb9e('0x16'),'model':_0xeb9e('0x17'),'event':_0xeb9e('0xf'),'condition':_0xeb9e('0x9'),'callback':afterUpdate},{'channel':_0xeb9e('0x16'),'model':_0xeb9e('0x18'),'event':'afterCreate','condition':_0xeb9e('0xb'),'callback':afterCreateMessage},{'channel':_0xeb9e('0x19'),'model':'OpenchannelInteraction','event':_0xeb9e('0xe'),'condition':_0xeb9e('0x8'),'callback':afterCreate},{'channel':_0xeb9e('0x19'),'model':'OpenchannelInteraction','event':_0xeb9e('0xf'),'condition':_0xeb9e('0x9'),'callback':afterUpdate},{'channel':_0xeb9e('0x19'),'model':_0xeb9e('0x1a'),'event':_0xeb9e('0xe'),'condition':_0xeb9e('0xb'),'callback':afterCreateMessage}];function request(_0x422123){return client[_0xeb9e('0x1b')]('EventManager',_0x422123)[_0xeb9e('0x1c')](function(_0x2d3b88){logger[_0xeb9e('0x1d')](_0xeb9e('0x1e'),_0xeb9e('0x1f'),_0x2d3b88);if(_0x2d3b88[_0xeb9e('0x20')]){if(_0x2d3b88[_0xeb9e('0x20')][_0xeb9e('0x21')]===0x1f4){logger[_0xeb9e('0x20')](_0xeb9e('0x1e'),'EventManager',_0x2d3b88[_0xeb9e('0x20')]);}}})[_0xeb9e('0x22')](function(_0x5010ae){logger[_0xeb9e('0x20')](_0xeb9e('0x1e'),_0xeb9e('0x1f'),_0x5010ae);});}function afterCreateMessage(_0x29d9ff,_0x1bc1de){return function(_0xb452f2,_0x1b9dcd){_0xb452f2=_0xb452f2[_0xeb9e('0x23')]({'plain':!![]});_0xb452f2[_0xeb9e('0x24')]=_0x29d9ff;_0xb452f2['event']=_0xb452f2[_0xeb9e('0x25')];if(_0xb452f2[_0xeb9e('0x26')]){return db[_0xeb9e('0x27')][_0xeb9e('0x28')]({'where':{'id':_0xb452f2[_0xeb9e('0x26')]},'attributes':['id','name'],'raw':!![]})['then'](function(_0x5e605a){_0xb452f2['interface']=util[_0xeb9e('0x29')](_0xeb9e('0x2a'),_0x5e605a['name']);_0xb452f2['channel']=_0x29d9ff;return request({'event':_0xeb9e('0x2b'),'message':_0xb452f2});})[_0xeb9e('0x22')](function(_0x1c69e3){console[_0xeb9e('0x20')](_0x1c69e3);});}else{return request({'event':'outgoingmessage','message':_0xb452f2});}};}function afterCreate(_0x131624,_0x40801e){return function(_0x9791dd,_0x43278d){_0x9791dd=_0x9791dd[_0xeb9e('0x23')]({'plain':!![]});_0x9791dd[_0xeb9e('0x24')]=_0x131624;_0x9791dd['event']='opened';return request({'event':_0x40801e,'message':_0x9791dd});};}function afterUpdate(_0x4d6be3,_0x2402e7){return function(_0x4b1420,_0xce1e24){if(_0x4b1420['changed'](_0xeb9e('0x2c'))&&_0x4b1420[_0xeb9e('0x2c')]){_0x4b1420=_0x4b1420[_0xeb9e('0x23')]({'plain':!![]});_0x4b1420[_0xeb9e('0x24')]=_0x4d6be3;_0x4b1420[_0xeb9e('0x2d')]='closed';if(_0x4b1420[_0xeb9e('0x26')]){return db[_0xeb9e('0x27')][_0xeb9e('0x28')]({'where':{'id':_0x4b1420['UserId']},'attributes':['id',_0xeb9e('0x2e')],'raw':!![]})[_0xeb9e('0x1c')](function(_0x2725ff){_0x4b1420[_0xeb9e('0x2f')]=util['format'](_0xeb9e('0x2a'),_0x2725ff[_0xeb9e('0x2e')]);return request({'event':_0x2402e7,'message':_0x4b1420});})[_0xeb9e('0x22')](function(_0x97a58c){console[_0xeb9e('0x20')](_0x97a58c);});}else{return request({'event':_0x2402e7,'message':_0x4b1420});}}};}exports[_0xeb9e('0x30')]=function(){for(var _0x3df060=0x0;_0x3df060<triggers[_0xeb9e('0x31')];_0x3df060+=0x1){if(db[_0xeb9e('0x32')](triggers[_0x3df060][_0xeb9e('0x33')])){db[triggers[_0x3df060][_0xeb9e('0x33')]][_0xeb9e('0x34')](triggers[_0x3df060][_0xeb9e('0x2d')],triggers[_0x3df060][_0xeb9e('0x35')](triggers[_0x3df060][_0xeb9e('0x24')]['toLowerCase'](),triggers[_0x3df060][_0xeb9e('0x36')]));}}};