Built motion from commit (unavailable).|2.5.12
[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 _0x4f2a=['closedinteraction','ChatMessage','Sms','SmsInteraction','WhatsappInteraction','Whatsapp','WhatsappMessage','newmessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','then','info','Trigger,\x20%s','EventManager','error','code','catch','get','channel','direction','UserId','User','find','name','interface','format','SIP/%s','incomingmessage','outgoingmessage','opened','closed','event','default','length','hasOwnProperty','model','hook','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','client','Chat','afterCreate','newinteraction','ChatInteraction','afterUpdate'];(function(_0x5b80a6,_0x1a5727){var _0x2ad30d=function(_0x154b46){while(--_0x154b46){_0x5b80a6['push'](_0x5b80a6['shift']());}};_0x2ad30d(++_0x1a5727);}(_0x4f2a,0xd7));var _0xa4f2=function(_0x1505e5,_0x5cc291){_0x1505e5=_0x1505e5-0x0;var _0x5b1dcd=_0x4f2a[_0x1505e5];return _0x5b1dcd;};'use strict';var util=require(_0xa4f2('0x0'));var db=require(_0xa4f2('0x1'))['db'];var jayson=require(_0xa4f2('0x2'));var logger=require('../logger')('triggers');var client=jayson[_0xa4f2('0x3')]['http']({'port':0x232a});var triggers=[{'channel':_0xa4f2('0x4'),'model':'ChatInteraction','event':_0xa4f2('0x5'),'condition':_0xa4f2('0x6'),'callback':afterCreate},{'channel':_0xa4f2('0x4'),'model':_0xa4f2('0x7'),'event':_0xa4f2('0x8'),'condition':_0xa4f2('0x9'),'callback':afterUpdate},{'channel':_0xa4f2('0x4'),'model':_0xa4f2('0xa'),'event':_0xa4f2('0x5'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa4f2('0xb'),'model':'SmsInteraction','event':'afterCreate','condition':_0xa4f2('0x6'),'callback':afterCreate},{'channel':_0xa4f2('0xb'),'model':_0xa4f2('0xc'),'event':_0xa4f2('0x8'),'condition':_0xa4f2('0x9'),'callback':afterUpdate},{'channel':_0xa4f2('0xb'),'model':'SmsMessage','event':_0xa4f2('0x5'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Whatsapp','model':_0xa4f2('0xd'),'event':_0xa4f2('0x5'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xa4f2('0xe'),'model':_0xa4f2('0xd'),'event':_0xa4f2('0x8'),'condition':_0xa4f2('0x9'),'callback':afterUpdate},{'channel':_0xa4f2('0xe'),'model':_0xa4f2('0xf'),'event':'afterCreate','condition':_0xa4f2('0x10'),'callback':afterCreateMessage},{'channel':_0xa4f2('0x11'),'model':_0xa4f2('0x12'),'event':_0xa4f2('0x5'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xa4f2('0x11'),'model':_0xa4f2('0x12'),'event':_0xa4f2('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xa4f2('0x11'),'model':_0xa4f2('0x13'),'event':_0xa4f2('0x5'),'condition':_0xa4f2('0x10'),'callback':afterCreateMessage},{'channel':_0xa4f2('0x14'),'model':_0xa4f2('0x15'),'event':_0xa4f2('0x5'),'condition':_0xa4f2('0x6'),'callback':afterCreate},{'channel':'Mail','model':_0xa4f2('0x15'),'event':_0xa4f2('0x8'),'condition':_0xa4f2('0x9'),'callback':afterUpdate},{'channel':_0xa4f2('0x14'),'model':'MailMessage','event':_0xa4f2('0x5'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa4f2('0x16'),'model':_0xa4f2('0x17'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0xa4f2('0x16'),'model':'OpenchannelInteraction','event':_0xa4f2('0x8'),'condition':_0xa4f2('0x9'),'callback':afterUpdate},{'channel':_0xa4f2('0x16'),'model':_0xa4f2('0x18'),'event':_0xa4f2('0x5'),'condition':'newmessage','callback':afterCreateMessage}];function request(_0x3b13f0){return client[_0xa4f2('0x19')]('EventManager',_0x3b13f0)[_0xa4f2('0x1a')](function(_0x3ba2f0){logger[_0xa4f2('0x1b')](_0xa4f2('0x1c'),_0xa4f2('0x1d'),_0x3ba2f0);if(_0x3ba2f0['error']){if(_0x3ba2f0[_0xa4f2('0x1e')][_0xa4f2('0x1f')]===0x1f4){logger[_0xa4f2('0x1e')](_0xa4f2('0x1c'),_0xa4f2('0x1d'),_0x3ba2f0['error']);}}})[_0xa4f2('0x20')](function(_0x110ded){logger['error'](_0xa4f2('0x1c'),_0xa4f2('0x1d'),_0x110ded);});}function afterCreateMessage(_0x134fb4,_0x4191e0){return function(_0x57bd83,_0x2afe06){_0x57bd83=_0x57bd83[_0xa4f2('0x21')]({'plain':!![]});_0x57bd83[_0xa4f2('0x22')]=_0x134fb4;_0x57bd83['event']=_0x57bd83[_0xa4f2('0x23')];if(_0x57bd83[_0xa4f2('0x24')]){return db[_0xa4f2('0x25')][_0xa4f2('0x26')]({'where':{'id':_0x57bd83['UserId']},'attributes':['id',_0xa4f2('0x27')],'raw':!![]})[_0xa4f2('0x1a')](function(_0x3d550d){_0x57bd83[_0xa4f2('0x28')]=util[_0xa4f2('0x29')](_0xa4f2('0x2a'),_0x3d550d[_0xa4f2('0x27')]);_0x57bd83[_0xa4f2('0x22')]=_0x134fb4;return request({'event':_0xa4f2('0x2b'),'message':_0x57bd83});})['catch'](function(_0x2a878b){console[_0xa4f2('0x1e')](_0x2a878b);});}else{return request({'event':_0xa4f2('0x2c'),'message':_0x57bd83});}};}function afterCreate(_0xb0d33c,_0xb8f736){return function(_0x4c8b26,_0x36661d){_0x4c8b26=_0x4c8b26[_0xa4f2('0x21')]({'plain':!![]});_0x4c8b26['channel']=_0xb0d33c;_0x4c8b26['event']=_0xa4f2('0x2d');return request({'event':_0xb8f736,'message':_0x4c8b26});};}function afterUpdate(_0x10eba1,_0x223b25){return function(_0x2da5e3,_0x2dbc47){if(_0x2da5e3['changed']('closed')&&_0x2da5e3[_0xa4f2('0x2e')]){_0x2da5e3=_0x2da5e3[_0xa4f2('0x21')]({'plain':!![]});_0x2da5e3[_0xa4f2('0x22')]=_0x10eba1;_0x2da5e3[_0xa4f2('0x2f')]=_0xa4f2('0x2e');if(_0x2da5e3[_0xa4f2('0x24')]){return db[_0xa4f2('0x25')][_0xa4f2('0x26')]({'where':{'id':_0x2da5e3[_0xa4f2('0x24')]},'attributes':['id','name'],'raw':!![]})[_0xa4f2('0x1a')](function(_0x653654){_0x2da5e3[_0xa4f2('0x28')]=util[_0xa4f2('0x29')](_0xa4f2('0x2a'),_0x653654['name']);return request({'event':_0x223b25,'message':_0x2da5e3});})[_0xa4f2('0x20')](function(_0x378067){console[_0xa4f2('0x1e')](_0x378067);});}else{return request({'event':_0x223b25,'message':_0x2da5e3});}}};}exports[_0xa4f2('0x30')]=function(){for(var _0x5dc51e=0x0;_0x5dc51e<triggers[_0xa4f2('0x31')];_0x5dc51e+=0x1){if(db[_0xa4f2('0x32')](triggers[_0x5dc51e]['model'])){db[triggers[_0x5dc51e][_0xa4f2('0x33')]][_0xa4f2('0x34')](triggers[_0x5dc51e]['event'],triggers[_0x5dc51e][_0xa4f2('0x35')](triggers[_0x5dc51e]['channel'][_0xa4f2('0x36')](),triggers[_0x5dc51e][_0xa4f2('0x37')]));}}};