Built motion from commit (unavailable).|2.5.5
[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 _0xea86=['toLowerCase','condition','util','../../mysqldb','jayson/promise','triggers','http','Chat','afterCreate','newinteraction','ChatInteraction','afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','SmsMessage','Whatsapp','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','Trigger,\x20%s','error','code','catch','event','direction','UserId','find','name','then','interface','format','SIP/%s','channel','incomingmessage','outgoingmessage','get','opened','closed','User','default','length','hasOwnProperty','model','hook','callback'];(function(_0x2cc097,_0x5374d2){var _0x5fb27e=function(_0x21e593){while(--_0x21e593){_0x2cc097['push'](_0x2cc097['shift']());}};_0x5fb27e(++_0x5374d2);}(_0xea86,0x18a));var _0x6ea8=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xea86[_0x14add3];return _0x4a174f;};'use strict';var util=require(_0x6ea8('0x0'));var db=require(_0x6ea8('0x1'))['db'];var jayson=require(_0x6ea8('0x2'));var logger=require('../logger')(_0x6ea8('0x3'));var client=jayson['client'][_0x6ea8('0x4')]({'port':0x232a});var triggers=[{'channel':_0x6ea8('0x5'),'model':'ChatInteraction','event':_0x6ea8('0x6'),'condition':_0x6ea8('0x7'),'callback':afterCreate},{'channel':'Chat','model':_0x6ea8('0x8'),'event':_0x6ea8('0x9'),'condition':_0x6ea8('0xa'),'callback':afterUpdate},{'channel':_0x6ea8('0x5'),'model':_0x6ea8('0xb'),'event':_0x6ea8('0x6'),'condition':_0x6ea8('0xc'),'callback':afterCreateMessage},{'channel':_0x6ea8('0xd'),'model':'SmsInteraction','event':_0x6ea8('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x6ea8('0xd'),'model':_0x6ea8('0xe'),'event':_0x6ea8('0x9'),'condition':_0x6ea8('0xa'),'callback':afterUpdate},{'channel':_0x6ea8('0xd'),'model':_0x6ea8('0xf'),'event':_0x6ea8('0x6'),'condition':_0x6ea8('0xc'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':'WhatsappInteraction','event':_0x6ea8('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x6ea8('0x10'),'model':'WhatsappInteraction','event':_0x6ea8('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x6ea8('0x10'),'model':'WhatsappMessage','event':_0x6ea8('0x6'),'condition':_0x6ea8('0xc'),'callback':afterCreateMessage},{'channel':_0x6ea8('0x11'),'model':_0x6ea8('0x12'),'event':'afterCreate','condition':_0x6ea8('0x7'),'callback':afterCreate},{'channel':_0x6ea8('0x11'),'model':'FaxInteraction','event':_0x6ea8('0x9'),'condition':_0x6ea8('0xa'),'callback':afterUpdate},{'channel':_0x6ea8('0x11'),'model':_0x6ea8('0x13'),'event':_0x6ea8('0x6'),'condition':_0x6ea8('0xc'),'callback':afterCreateMessage},{'channel':_0x6ea8('0x14'),'model':_0x6ea8('0x15'),'event':_0x6ea8('0x6'),'condition':_0x6ea8('0x7'),'callback':afterCreate},{'channel':_0x6ea8('0x14'),'model':_0x6ea8('0x15'),'event':_0x6ea8('0x9'),'condition':_0x6ea8('0xa'),'callback':afterUpdate},{'channel':_0x6ea8('0x14'),'model':_0x6ea8('0x16'),'event':_0x6ea8('0x6'),'condition':_0x6ea8('0xc'),'callback':afterCreateMessage},{'channel':_0x6ea8('0x17'),'model':'OpenchannelInteraction','event':_0x6ea8('0x6'),'condition':_0x6ea8('0x7'),'callback':afterCreate},{'channel':'Openchannel','model':_0x6ea8('0x18'),'event':_0x6ea8('0x9'),'condition':_0x6ea8('0xa'),'callback':afterUpdate},{'channel':_0x6ea8('0x17'),'model':_0x6ea8('0x19'),'event':_0x6ea8('0x6'),'condition':'newmessage','callback':afterCreateMessage}];function request(_0x473b48){return client[_0x6ea8('0x1a')](_0x6ea8('0x1b'),_0x473b48)['then'](function(_0x1db89a){logger['info'](_0x6ea8('0x1c'),'EventManager',_0x1db89a);if(_0x1db89a[_0x6ea8('0x1d')]){if(_0x1db89a[_0x6ea8('0x1d')][_0x6ea8('0x1e')]===0x1f4){logger[_0x6ea8('0x1d')](_0x6ea8('0x1c'),_0x6ea8('0x1b'),_0x1db89a[_0x6ea8('0x1d')]);}}})[_0x6ea8('0x1f')](function(_0x3fad3a){logger[_0x6ea8('0x1d')](_0x6ea8('0x1c'),'EventManager',_0x3fad3a);});}function afterCreateMessage(_0x38b720,_0x2b8501){return function(_0x462254,_0x3b72ce){_0x462254=_0x462254['get']({'plain':!![]});_0x462254['channel']=_0x38b720;_0x462254[_0x6ea8('0x20')]=_0x462254[_0x6ea8('0x21')];if(_0x462254[_0x6ea8('0x22')]){return db['User'][_0x6ea8('0x23')]({'where':{'id':_0x462254['UserId']},'attributes':['id',_0x6ea8('0x24')],'raw':!![]})[_0x6ea8('0x25')](function(_0x3af3d6){_0x462254[_0x6ea8('0x26')]=util[_0x6ea8('0x27')](_0x6ea8('0x28'),_0x3af3d6[_0x6ea8('0x24')]);_0x462254[_0x6ea8('0x29')]=_0x38b720;return request({'event':_0x6ea8('0x2a'),'message':_0x462254});})[_0x6ea8('0x1f')](function(_0x29cddb){console[_0x6ea8('0x1d')](_0x29cddb);});}else{return request({'event':_0x6ea8('0x2b'),'message':_0x462254});}};}function afterCreate(_0x52a972,_0x996fa4){return function(_0x4900c6,_0x4c180f){_0x4900c6=_0x4900c6[_0x6ea8('0x2c')]({'plain':!![]});_0x4900c6[_0x6ea8('0x29')]=_0x52a972;_0x4900c6[_0x6ea8('0x20')]=_0x6ea8('0x2d');return request({'event':_0x996fa4,'message':_0x4900c6});};}function afterUpdate(_0x4563b4,_0xeb988b){return function(_0x4a4e59,_0x1f80ce){if(_0x4a4e59['changed'](_0x6ea8('0x2e'))&&_0x4a4e59[_0x6ea8('0x2e')]){_0x4a4e59=_0x4a4e59[_0x6ea8('0x2c')]({'plain':!![]});_0x4a4e59[_0x6ea8('0x29')]=_0x4563b4;_0x4a4e59[_0x6ea8('0x20')]='closed';if(_0x4a4e59[_0x6ea8('0x22')]){return db[_0x6ea8('0x2f')][_0x6ea8('0x23')]({'where':{'id':_0x4a4e59[_0x6ea8('0x22')]},'attributes':['id',_0x6ea8('0x24')],'raw':!![]})[_0x6ea8('0x25')](function(_0x51c4e3){_0x4a4e59[_0x6ea8('0x26')]=util['format'](_0x6ea8('0x28'),_0x51c4e3[_0x6ea8('0x24')]);return request({'event':_0xeb988b,'message':_0x4a4e59});})[_0x6ea8('0x1f')](function(_0x5e420d){console['error'](_0x5e420d);});}else{return request({'event':_0xeb988b,'message':_0x4a4e59});}}};}exports[_0x6ea8('0x30')]=function(){for(var _0x4f14ee=0x0;_0x4f14ee<triggers[_0x6ea8('0x31')];_0x4f14ee+=0x1){if(db[_0x6ea8('0x32')](triggers[_0x4f14ee][_0x6ea8('0x33')])){db[triggers[_0x4f14ee]['model']][_0x6ea8('0x34')](triggers[_0x4f14ee][_0x6ea8('0x20')],triggers[_0x4f14ee][_0x6ea8('0x35')](triggers[_0x4f14ee]['channel'][_0x6ea8('0x36')](),triggers[_0x4f14ee][_0x6ea8('0x37')]));}}};