Built motion from commit (unavailable).|2.5.4
[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 _0x185e=['channel','event','direction','UserId','User','find','name','interface','format','incomingmessage','outgoingmessage','opened','changed','closed','SIP/%s','default','hasOwnProperty','model','hook','util','../../mysqldb','jayson/promise','triggers','http','Chat','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','FaxInteraction','Fax','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','code','catch','get'];(function(_0x3b4709,_0xfa5d78){var _0x2557da=function(_0x3b23c7){while(--_0x3b23c7){_0x3b4709['push'](_0x3b4709['shift']());}};_0x2557da(++_0xfa5d78);}(_0x185e,0xf3));var _0xe185=function(_0x166bfa,_0x10908f){_0x166bfa=_0x166bfa-0x0;var _0x36c878=_0x185e[_0x166bfa];return _0x36c878;};'use strict';var util=require(_0xe185('0x0'));var db=require(_0xe185('0x1'))['db'];var jayson=require(_0xe185('0x2'));var logger=require('../logger')(_0xe185('0x3'));var client=jayson['client'][_0xe185('0x4')]({'port':0x232a});var triggers=[{'channel':_0xe185('0x5'),'model':_0xe185('0x6'),'event':_0xe185('0x7'),'condition':_0xe185('0x8'),'callback':afterCreate},{'channel':_0xe185('0x5'),'model':_0xe185('0x6'),'event':_0xe185('0x9'),'condition':_0xe185('0xa'),'callback':afterUpdate},{'channel':_0xe185('0x5'),'model':_0xe185('0xb'),'event':_0xe185('0x7'),'condition':_0xe185('0xc'),'callback':afterCreateMessage},{'channel':_0xe185('0xd'),'model':_0xe185('0xe'),'event':'afterCreate','condition':_0xe185('0x8'),'callback':afterCreate},{'channel':_0xe185('0xd'),'model':_0xe185('0xe'),'event':_0xe185('0x9'),'condition':_0xe185('0xa'),'callback':afterUpdate},{'channel':'Sms','model':_0xe185('0xf'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0xe185('0x10'),'model':_0xe185('0x11'),'event':_0xe185('0x7'),'condition':_0xe185('0x8'),'callback':afterCreate},{'channel':_0xe185('0x10'),'model':'WhatsappInteraction','event':_0xe185('0x9'),'condition':_0xe185('0xa'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0xe185('0x12'),'event':_0xe185('0x7'),'condition':_0xe185('0xc'),'callback':afterCreateMessage},{'channel':'Fax','model':_0xe185('0x13'),'event':_0xe185('0x7'),'condition':_0xe185('0x8'),'callback':afterCreate},{'channel':'Fax','model':'FaxInteraction','event':_0xe185('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xe185('0x14'),'model':_0xe185('0x15'),'event':_0xe185('0x7'),'condition':_0xe185('0xc'),'callback':afterCreateMessage},{'channel':_0xe185('0x16'),'model':_0xe185('0x17'),'event':_0xe185('0x7'),'condition':_0xe185('0x8'),'callback':afterCreate},{'channel':_0xe185('0x16'),'model':_0xe185('0x17'),'event':_0xe185('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xe185('0x16'),'model':_0xe185('0x18'),'event':_0xe185('0x7'),'condition':_0xe185('0xc'),'callback':afterCreateMessage},{'channel':_0xe185('0x19'),'model':_0xe185('0x1a'),'event':_0xe185('0x7'),'condition':_0xe185('0x8'),'callback':afterCreate},{'channel':_0xe185('0x19'),'model':_0xe185('0x1a'),'event':_0xe185('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xe185('0x19'),'model':_0xe185('0x1b'),'event':'afterCreate','condition':_0xe185('0xc'),'callback':afterCreateMessage}];function request(_0x3e6da8){return client[_0xe185('0x1c')](_0xe185('0x1d'),_0x3e6da8)[_0xe185('0x1e')](function(_0x2f4efe){logger[_0xe185('0x1f')](_0xe185('0x20'),_0xe185('0x1d'),_0x2f4efe);if(_0x2f4efe[_0xe185('0x21')]){if(_0x2f4efe['error'][_0xe185('0x22')]===0x1f4){logger['error'](_0xe185('0x20'),_0xe185('0x1d'),_0x2f4efe['error']);}}})[_0xe185('0x23')](function(_0x2e7158){logger[_0xe185('0x21')](_0xe185('0x20'),'EventManager',_0x2e7158);});}function afterCreateMessage(_0x1dfa82,_0x500861){return function(_0x2d4de5,_0x311aa6){_0x2d4de5=_0x2d4de5[_0xe185('0x24')]({'plain':!![]});_0x2d4de5[_0xe185('0x25')]=_0x1dfa82;_0x2d4de5[_0xe185('0x26')]=_0x2d4de5[_0xe185('0x27')];if(_0x2d4de5[_0xe185('0x28')]){return db[_0xe185('0x29')][_0xe185('0x2a')]({'where':{'id':_0x2d4de5[_0xe185('0x28')]},'attributes':['id',_0xe185('0x2b')],'raw':!![]})[_0xe185('0x1e')](function(_0x505391){_0x2d4de5[_0xe185('0x2c')]=util[_0xe185('0x2d')]('SIP/%s',_0x505391[_0xe185('0x2b')]);_0x2d4de5[_0xe185('0x25')]=_0x1dfa82;return request({'event':_0xe185('0x2e'),'message':_0x2d4de5});})[_0xe185('0x23')](function(_0xca3424){console[_0xe185('0x21')](_0xca3424);});}else{return request({'event':_0xe185('0x2f'),'message':_0x2d4de5});}};}function afterCreate(_0x2c519b,_0x4082d1){return function(_0x2a80e5,_0x485961){_0x2a80e5=_0x2a80e5[_0xe185('0x24')]({'plain':!![]});_0x2a80e5[_0xe185('0x25')]=_0x2c519b;_0x2a80e5['event']=_0xe185('0x30');return request({'event':_0x4082d1,'message':_0x2a80e5});};}function afterUpdate(_0xc19b19,_0x53f90c){return function(_0x488f89,_0xb84376){if(_0x488f89[_0xe185('0x31')]('closed')&&_0x488f89[_0xe185('0x32')]){_0x488f89=_0x488f89[_0xe185('0x24')]({'plain':!![]});_0x488f89[_0xe185('0x25')]=_0xc19b19;_0x488f89[_0xe185('0x26')]=_0xe185('0x32');if(_0x488f89['UserId']){return db[_0xe185('0x29')]['find']({'where':{'id':_0x488f89[_0xe185('0x28')]},'attributes':['id',_0xe185('0x2b')],'raw':!![]})['then'](function(_0x3337d4){_0x488f89[_0xe185('0x2c')]=util[_0xe185('0x2d')](_0xe185('0x33'),_0x3337d4[_0xe185('0x2b')]);return request({'event':_0x53f90c,'message':_0x488f89});})[_0xe185('0x23')](function(_0x2b171e){console[_0xe185('0x21')](_0x2b171e);});}else{return request({'event':_0x53f90c,'message':_0x488f89});}}};}exports[_0xe185('0x34')]=function(){for(var _0x50aa81=0x0;_0x50aa81<triggers['length'];_0x50aa81+=0x1){if(db[_0xe185('0x35')](triggers[_0x50aa81][_0xe185('0x36')])){db[triggers[_0x50aa81]['model']][_0xe185('0x37')](triggers[_0x50aa81][_0xe185('0x26')],triggers[_0x50aa81]['callback'](triggers[_0x50aa81][_0xe185('0x25')]['toLowerCase'](),triggers[_0x50aa81]['condition']));}}};