Built motion from commit (unavailable).|2.4.3
[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 _0x718a=['channel','event','UserId','User','name','interface','format','SIP/%s','incomingmessage','outgoingmessage','changed','closed','find','default','length','hasOwnProperty','model','hook','toLowerCase','condition','util','jayson/promise','triggers','client','http','Chat','newinteraction','afterUpdate','closedinteraction','afterCreate','newmessage','Sms','SmsInteraction','SmsMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','Openchannel','OpenchannelInteraction','request','EventManager','then','info','Trigger,\x20%s','error','catch','get'];(function(_0x44ea17,_0x422059){var _0x1d8af1=function(_0x159a75){while(--_0x159a75){_0x44ea17['push'](_0x44ea17['shift']());}};_0x1d8af1(++_0x422059);}(_0x718a,0x1cd));var _0xa718=function(_0x6967e1,_0x577a6f){_0x6967e1=_0x6967e1-0x0;var _0x440dcb=_0x718a[_0x6967e1];return _0x440dcb;};'use strict';var util=require(_0xa718('0x0'));var db=require('../../mysqldb')['db'];var jayson=require(_0xa718('0x1'));var logger=require('../logger')(_0xa718('0x2'));var client=jayson[_0xa718('0x3')][_0xa718('0x4')]({'port':0x232a});var triggers=[{'channel':_0xa718('0x5'),'model':'ChatInteraction','event':'afterCreate','condition':_0xa718('0x6'),'callback':afterCreate},{'channel':_0xa718('0x5'),'model':'ChatInteraction','event':_0xa718('0x7'),'condition':_0xa718('0x8'),'callback':afterUpdate},{'channel':_0xa718('0x5'),'model':'ChatMessage','event':_0xa718('0x9'),'condition':_0xa718('0xa'),'callback':afterCreateMessage},{'channel':_0xa718('0xb'),'model':'SmsInteraction','event':_0xa718('0x9'),'condition':_0xa718('0x6'),'callback':afterCreate},{'channel':_0xa718('0xb'),'model':_0xa718('0xc'),'event':_0xa718('0x7'),'condition':_0xa718('0x8'),'callback':afterUpdate},{'channel':_0xa718('0xb'),'model':_0xa718('0xd'),'event':_0xa718('0x9'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa718('0xe'),'model':_0xa718('0xf'),'event':_0xa718('0x9'),'condition':_0xa718('0x6'),'callback':afterCreate},{'channel':_0xa718('0xe'),'model':'FaxInteraction','event':'afterUpdate','condition':_0xa718('0x8'),'callback':afterUpdate},{'channel':_0xa718('0xe'),'model':_0xa718('0x10'),'event':_0xa718('0x9'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa718('0x11'),'model':_0xa718('0x12'),'event':'afterCreate','condition':_0xa718('0x6'),'callback':afterCreate},{'channel':_0xa718('0x11'),'model':_0xa718('0x12'),'event':_0xa718('0x7'),'condition':'closedinteraction','callback':afterUpdate},{'channel':'Mail','model':'MailMessage','event':_0xa718('0x9'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa718('0x13'),'model':_0xa718('0x14'),'event':_0xa718('0x9'),'condition':_0xa718('0x6'),'callback':afterCreate},{'channel':_0xa718('0x13'),'model':_0xa718('0x14'),'event':'afterUpdate','condition':_0xa718('0x8'),'callback':afterUpdate},{'channel':_0xa718('0x13'),'model':'OpenchannelMessage','event':'afterCreate','condition':'newmessage','callback':afterCreateMessage}];function request(_0x404455){return client[_0xa718('0x15')](_0xa718('0x16'),_0x404455)[_0xa718('0x17')](function(_0x3f2f85){logger[_0xa718('0x18')](_0xa718('0x19'),'EventManager',_0x3f2f85);if(_0x3f2f85[_0xa718('0x1a')]){if(_0x3f2f85[_0xa718('0x1a')]['code']===0x1f4){logger[_0xa718('0x1a')]('Trigger,\x20%s','EventManager',_0x3f2f85[_0xa718('0x1a')]);}}})[_0xa718('0x1b')](function(_0x5436c8){logger['error'](_0xa718('0x19'),'EventManager',_0x5436c8);});}function afterCreateMessage(_0x17220a,_0x29db08){return function(_0x565f4f,_0x26a37f){_0x565f4f=_0x565f4f[_0xa718('0x1c')]({'plain':!![]});_0x565f4f[_0xa718('0x1d')]=_0x17220a;_0x565f4f[_0xa718('0x1e')]=_0x565f4f['direction'];if(_0x565f4f[_0xa718('0x1f')]){return db[_0xa718('0x20')]['find']({'where':{'id':_0x565f4f['UserId']},'attributes':['id',_0xa718('0x21')],'raw':!![]})['then'](function(_0x286db5){_0x565f4f[_0xa718('0x22')]=util[_0xa718('0x23')](_0xa718('0x24'),_0x286db5[_0xa718('0x21')]);_0x565f4f[_0xa718('0x1d')]=_0x17220a;return request({'event':_0xa718('0x25'),'message':_0x565f4f});})[_0xa718('0x1b')](function(_0x1ba9ee){console['error'](_0x1ba9ee);});}else{return request({'event':_0xa718('0x26'),'message':_0x565f4f});}};}function afterCreate(_0x463823,_0x133381){return function(_0x5be287,_0x337054){_0x5be287=_0x5be287[_0xa718('0x1c')]({'plain':!![]});_0x5be287['channel']=_0x463823;_0x5be287[_0xa718('0x1e')]='opened';return request({'event':_0x133381,'message':_0x5be287});};}function afterUpdate(_0x5e3807,_0x295864){return function(_0x117383,_0x387a41){if(_0x117383[_0xa718('0x27')]('closed')&&_0x117383[_0xa718('0x28')]){_0x117383=_0x117383[_0xa718('0x1c')]({'plain':!![]});_0x117383[_0xa718('0x1d')]=_0x5e3807;_0x117383[_0xa718('0x1e')]=_0xa718('0x28');if(_0x117383['UserId']){return db[_0xa718('0x20')][_0xa718('0x29')]({'where':{'id':_0x117383[_0xa718('0x1f')]},'attributes':['id',_0xa718('0x21')],'raw':!![]})[_0xa718('0x17')](function(_0xb2b12){_0x117383['interface']=util[_0xa718('0x23')](_0xa718('0x24'),_0xb2b12['name']);return request({'event':_0x295864,'message':_0x117383});})[_0xa718('0x1b')](function(_0x15e9eb){console['error'](_0x15e9eb);});}else{return request({'event':_0x295864,'message':_0x117383});}}};}exports[_0xa718('0x2a')]=function(){for(var _0x5a0522=0x0;_0x5a0522<triggers[_0xa718('0x2b')];_0x5a0522+=0x1){if(db[_0xa718('0x2c')](triggers[_0x5a0522][_0xa718('0x2d')])){db[triggers[_0x5a0522][_0xa718('0x2d')]][_0xa718('0x2e')](triggers[_0x5a0522]['event'],triggers[_0x5a0522]['callback'](triggers[_0x5a0522][_0xa718('0x1d')][_0xa718('0x2f')](),triggers[_0x5a0522][_0xa718('0x30')]));}}};