Built motion from commit (unavailable).|2.5.7
[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 _0x5e90=['interface','format','SIP/%s','incomingmessage','outgoingmessage','opened','changed','closed','find','catch','default','length','hasOwnProperty','model','hook','callback','condition','../../mysqldb','jayson/promise','../logger','client','http','Chat','ChatInteraction','afterCreate','ChatMessage','newmessage','SmsInteraction','newinteraction','Sms','afterUpdate','closedinteraction','SmsMessage','Whatsapp','WhatsappInteraction','Fax','FaxInteraction','FaxMessage','MailInteraction','Mail','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','error','code','Trigger,\x20%s','get','channel','event','direction','User','UserId','name'];(function(_0x1f686d,_0x5301af){var _0xb30d4e=function(_0x59ef7b){while(--_0x59ef7b){_0x1f686d['push'](_0x1f686d['shift']());}};_0xb30d4e(++_0x5301af);}(_0x5e90,0x12e));var _0x05e9=function(_0x399916,_0x1993b0){_0x399916=_0x399916-0x0;var _0x4d7a35=_0x5e90[_0x399916];return _0x4d7a35;};'use strict';var util=require('util');var db=require(_0x05e9('0x0'))['db'];var jayson=require(_0x05e9('0x1'));var logger=require(_0x05e9('0x2'))('triggers');var client=jayson[_0x05e9('0x3')][_0x05e9('0x4')]({'port':0x232a});var triggers=[{'channel':_0x05e9('0x5'),'model':_0x05e9('0x6'),'event':_0x05e9('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':'Chat','model':_0x05e9('0x6'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0x05e9('0x5'),'model':_0x05e9('0x8'),'event':_0x05e9('0x7'),'condition':_0x05e9('0x9'),'callback':afterCreateMessage},{'channel':'Sms','model':_0x05e9('0xa'),'event':_0x05e9('0x7'),'condition':_0x05e9('0xb'),'callback':afterCreate},{'channel':_0x05e9('0xc'),'model':_0x05e9('0xa'),'event':_0x05e9('0xd'),'condition':_0x05e9('0xe'),'callback':afterUpdate},{'channel':_0x05e9('0xc'),'model':_0x05e9('0xf'),'event':_0x05e9('0x7'),'condition':_0x05e9('0x9'),'callback':afterCreateMessage},{'channel':_0x05e9('0x10'),'model':_0x05e9('0x11'),'event':_0x05e9('0x7'),'condition':_0x05e9('0xb'),'callback':afterCreate},{'channel':'Whatsapp','model':'WhatsappInteraction','event':_0x05e9('0xd'),'condition':_0x05e9('0xe'),'callback':afterUpdate},{'channel':_0x05e9('0x10'),'model':'WhatsappMessage','event':_0x05e9('0x7'),'condition':_0x05e9('0x9'),'callback':afterCreateMessage},{'channel':_0x05e9('0x12'),'model':_0x05e9('0x13'),'event':_0x05e9('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x05e9('0x12'),'model':_0x05e9('0x13'),'event':_0x05e9('0xd'),'condition':_0x05e9('0xe'),'callback':afterUpdate},{'channel':_0x05e9('0x12'),'model':_0x05e9('0x14'),'event':_0x05e9('0x7'),'condition':_0x05e9('0x9'),'callback':afterCreateMessage},{'channel':'Mail','model':_0x05e9('0x15'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0x05e9('0x16'),'model':_0x05e9('0x15'),'event':'afterUpdate','condition':_0x05e9('0xe'),'callback':afterUpdate},{'channel':'Mail','model':_0x05e9('0x17'),'event':_0x05e9('0x7'),'condition':_0x05e9('0x9'),'callback':afterCreateMessage},{'channel':'Openchannel','model':'OpenchannelInteraction','event':_0x05e9('0x7'),'condition':_0x05e9('0xb'),'callback':afterCreate},{'channel':_0x05e9('0x18'),'model':_0x05e9('0x19'),'event':'afterUpdate','condition':_0x05e9('0xe'),'callback':afterUpdate},{'channel':_0x05e9('0x18'),'model':_0x05e9('0x1a'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage}];function request(_0x186e75){return client[_0x05e9('0x1b')](_0x05e9('0x1c'),_0x186e75)[_0x05e9('0x1d')](function(_0x49bb52){logger['info']('Trigger,\x20%s',_0x05e9('0x1c'),_0x49bb52);if(_0x49bb52['error']){if(_0x49bb52[_0x05e9('0x1e')][_0x05e9('0x1f')]===0x1f4){logger[_0x05e9('0x1e')](_0x05e9('0x20'),_0x05e9('0x1c'),_0x49bb52[_0x05e9('0x1e')]);}}})['catch'](function(_0xb110cc){logger[_0x05e9('0x1e')](_0x05e9('0x20'),'EventManager',_0xb110cc);});}function afterCreateMessage(_0x3e19d2,_0x54fce2){return function(_0x275d09,_0x1b5cce){_0x275d09=_0x275d09[_0x05e9('0x21')]({'plain':!![]});_0x275d09[_0x05e9('0x22')]=_0x3e19d2;_0x275d09[_0x05e9('0x23')]=_0x275d09[_0x05e9('0x24')];if(_0x275d09['UserId']){return db[_0x05e9('0x25')]['find']({'where':{'id':_0x275d09[_0x05e9('0x26')]},'attributes':['id',_0x05e9('0x27')],'raw':!![]})[_0x05e9('0x1d')](function(_0x34c861){_0x275d09[_0x05e9('0x28')]=util[_0x05e9('0x29')](_0x05e9('0x2a'),_0x34c861['name']);_0x275d09[_0x05e9('0x22')]=_0x3e19d2;return request({'event':_0x05e9('0x2b'),'message':_0x275d09});})['catch'](function(_0x1a8a7b){console[_0x05e9('0x1e')](_0x1a8a7b);});}else{return request({'event':_0x05e9('0x2c'),'message':_0x275d09});}};}function afterCreate(_0x3b323a,_0x765974){return function(_0xf0ad12,_0x5a6201){_0xf0ad12=_0xf0ad12[_0x05e9('0x21')]({'plain':!![]});_0xf0ad12[_0x05e9('0x22')]=_0x3b323a;_0xf0ad12[_0x05e9('0x23')]=_0x05e9('0x2d');return request({'event':_0x765974,'message':_0xf0ad12});};}function afterUpdate(_0x24cf51,_0x573148){return function(_0x3e02c6,_0x432823){if(_0x3e02c6[_0x05e9('0x2e')]('closed')&&_0x3e02c6[_0x05e9('0x2f')]){_0x3e02c6=_0x3e02c6[_0x05e9('0x21')]({'plain':!![]});_0x3e02c6['channel']=_0x24cf51;_0x3e02c6[_0x05e9('0x23')]='closed';if(_0x3e02c6['UserId']){return db[_0x05e9('0x25')][_0x05e9('0x30')]({'where':{'id':_0x3e02c6[_0x05e9('0x26')]},'attributes':['id',_0x05e9('0x27')],'raw':!![]})[_0x05e9('0x1d')](function(_0x3d036f){_0x3e02c6['interface']=util[_0x05e9('0x29')](_0x05e9('0x2a'),_0x3d036f[_0x05e9('0x27')]);return request({'event':_0x573148,'message':_0x3e02c6});})[_0x05e9('0x31')](function(_0xfac3df){console['error'](_0xfac3df);});}else{return request({'event':_0x573148,'message':_0x3e02c6});}}};}exports[_0x05e9('0x32')]=function(){for(var _0x5c8160=0x0;_0x5c8160<triggers[_0x05e9('0x33')];_0x5c8160+=0x1){if(db[_0x05e9('0x34')](triggers[_0x5c8160][_0x05e9('0x35')])){db[triggers[_0x5c8160]['model']][_0x05e9('0x36')](triggers[_0x5c8160]['event'],triggers[_0x5c8160][_0x05e9('0x37')](triggers[_0x5c8160][_0x05e9('0x22')]['toLowerCase'](),triggers[_0x5c8160][_0x05e9('0x38')]));}}};