Built motion from commit (unavailable).|2.5.23
[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 _0x6b2a=['WhatsappInteraction','newinteraction','WhatsappMessage','Fax','FaxMessage','Mail','MailInteraction','Openchannel','OpenchannelInteraction','then','info','Trigger,\x20%s','EventManager','error','code','catch','channel','event','direction','UserId','name','interface','format','SIP/%s','get','opened','changed','User','find','default','length','hasOwnProperty','hook','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','triggers','http','ChatInteraction','afterCreate','Chat','afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','SmsMessage','Whatsapp'];(function(_0x126558,_0x143c9a){var _0x1f6d14=function(_0x2b0eea){while(--_0x2b0eea){_0x126558['push'](_0x126558['shift']());}};_0x1f6d14(++_0x143c9a);}(_0x6b2a,0x8c));var _0xa6b2=function(_0x380d90,_0x4f711d){_0x380d90=_0x380d90-0x0;var _0x1ff262=_0x6b2a[_0x380d90];return _0x1ff262;};'use strict';var util=require(_0xa6b2('0x0'));var db=require(_0xa6b2('0x1'))['db'];var jayson=require(_0xa6b2('0x2'));var logger=require('../logger')(_0xa6b2('0x3'));var client=jayson['client'][_0xa6b2('0x4')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0xa6b2('0x5'),'event':_0xa6b2('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xa6b2('0x7'),'model':_0xa6b2('0x5'),'event':_0xa6b2('0x8'),'condition':_0xa6b2('0x9'),'callback':afterUpdate},{'channel':_0xa6b2('0x7'),'model':_0xa6b2('0xa'),'event':_0xa6b2('0x6'),'condition':_0xa6b2('0xb'),'callback':afterCreateMessage},{'channel':_0xa6b2('0xc'),'model':_0xa6b2('0xd'),'event':_0xa6b2('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xa6b2('0xc'),'model':_0xa6b2('0xd'),'event':_0xa6b2('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xa6b2('0xc'),'model':_0xa6b2('0xe'),'event':_0xa6b2('0x6'),'condition':_0xa6b2('0xb'),'callback':afterCreateMessage},{'channel':_0xa6b2('0xf'),'model':_0xa6b2('0x10'),'event':_0xa6b2('0x6'),'condition':_0xa6b2('0x11'),'callback':afterCreate},{'channel':_0xa6b2('0xf'),'model':_0xa6b2('0x10'),'event':_0xa6b2('0x8'),'condition':_0xa6b2('0x9'),'callback':afterUpdate},{'channel':_0xa6b2('0xf'),'model':_0xa6b2('0x12'),'event':_0xa6b2('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa6b2('0x13'),'model':'FaxInteraction','event':_0xa6b2('0x6'),'condition':_0xa6b2('0x11'),'callback':afterCreate},{'channel':'Fax','model':'FaxInteraction','event':_0xa6b2('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xa6b2('0x13'),'model':_0xa6b2('0x14'),'event':_0xa6b2('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa6b2('0x15'),'model':_0xa6b2('0x16'),'event':_0xa6b2('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xa6b2('0x15'),'model':'MailInteraction','event':_0xa6b2('0x8'),'condition':_0xa6b2('0x9'),'callback':afterUpdate},{'channel':_0xa6b2('0x15'),'model':'MailMessage','event':'afterCreate','condition':_0xa6b2('0xb'),'callback':afterCreateMessage},{'channel':_0xa6b2('0x17'),'model':_0xa6b2('0x18'),'event':_0xa6b2('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xa6b2('0x17'),'model':'OpenchannelInteraction','event':_0xa6b2('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xa6b2('0x17'),'model':'OpenchannelMessage','event':_0xa6b2('0x6'),'condition':_0xa6b2('0xb'),'callback':afterCreateMessage}];function request(_0xb70b0){return client['request']('EventManager',_0xb70b0)[_0xa6b2('0x19')](function(_0x6262ca){logger[_0xa6b2('0x1a')](_0xa6b2('0x1b'),_0xa6b2('0x1c'),_0x6262ca);if(_0x6262ca[_0xa6b2('0x1d')]){if(_0x6262ca[_0xa6b2('0x1d')][_0xa6b2('0x1e')]===0x1f4){logger[_0xa6b2('0x1d')]('Trigger,\x20%s','EventManager',_0x6262ca[_0xa6b2('0x1d')]);}}})[_0xa6b2('0x1f')](function(_0x550889){logger[_0xa6b2('0x1d')]('Trigger,\x20%s','EventManager',_0x550889);});}function afterCreateMessage(_0x51318b,_0x3e5a2f){return function(_0x1f39f2,_0x486368){_0x1f39f2=_0x1f39f2['get']({'plain':!![]});_0x1f39f2[_0xa6b2('0x20')]=_0x51318b;_0x1f39f2[_0xa6b2('0x21')]=_0x1f39f2[_0xa6b2('0x22')];if(_0x1f39f2['UserId']){return db['User']['find']({'where':{'id':_0x1f39f2[_0xa6b2('0x23')]},'attributes':['id',_0xa6b2('0x24')],'raw':!![]})[_0xa6b2('0x19')](function(_0x6fc7bb){_0x1f39f2[_0xa6b2('0x25')]=util[_0xa6b2('0x26')](_0xa6b2('0x27'),_0x6fc7bb[_0xa6b2('0x24')]);_0x1f39f2[_0xa6b2('0x20')]=_0x51318b;return request({'event':'incomingmessage','message':_0x1f39f2});})[_0xa6b2('0x1f')](function(_0x536da8){console[_0xa6b2('0x1d')](_0x536da8);});}else{return request({'event':'outgoingmessage','message':_0x1f39f2});}};}function afterCreate(_0x52b36b,_0x566948){return function(_0x34ec87,_0x4e6464){_0x34ec87=_0x34ec87[_0xa6b2('0x28')]({'plain':!![]});_0x34ec87[_0xa6b2('0x20')]=_0x52b36b;_0x34ec87['event']=_0xa6b2('0x29');return request({'event':_0x566948,'message':_0x34ec87});};}function afterUpdate(_0x59b1a2,_0x2e0295){return function(_0x224a97,_0x509e00){if(_0x224a97[_0xa6b2('0x2a')]('closed')&&_0x224a97['closed']){_0x224a97=_0x224a97[_0xa6b2('0x28')]({'plain':!![]});_0x224a97[_0xa6b2('0x20')]=_0x59b1a2;_0x224a97[_0xa6b2('0x21')]='closed';if(_0x224a97['UserId']){return db[_0xa6b2('0x2b')][_0xa6b2('0x2c')]({'where':{'id':_0x224a97[_0xa6b2('0x23')]},'attributes':['id','name'],'raw':!![]})[_0xa6b2('0x19')](function(_0xc4dd04){_0x224a97[_0xa6b2('0x25')]=util[_0xa6b2('0x26')](_0xa6b2('0x27'),_0xc4dd04[_0xa6b2('0x24')]);return request({'event':_0x2e0295,'message':_0x224a97});})['catch'](function(_0x2a2059){console[_0xa6b2('0x1d')](_0x2a2059);});}else{return request({'event':_0x2e0295,'message':_0x224a97});}}};}exports[_0xa6b2('0x2d')]=function(){for(var _0x520fa4=0x0;_0x520fa4<triggers[_0xa6b2('0x2e')];_0x520fa4+=0x1){if(db[_0xa6b2('0x2f')](triggers[_0x520fa4]['model'])){db[triggers[_0x520fa4]['model']][_0xa6b2('0x30')](triggers[_0x520fa4]['event'],triggers[_0x520fa4][_0xa6b2('0x31')](triggers[_0x520fa4][_0xa6b2('0x20')][_0xa6b2('0x32')](),triggers[_0x520fa4][_0xa6b2('0x33')]));}}};