Built motion from commit (unavailable).|2.3.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 _0x59d4=['OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','code','catch','get','channel','event','UserId','find','interface','incomingmessage','outgoingmessage','opened','closed','name','format','SIP/%s','default','length','hasOwnProperty','model','hook','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','triggers','client','http','ChatInteraction','afterCreate','Chat','closedinteraction','newmessage','Sms','SmsInteraction','SmsMessage','Fax','FaxInteraction','newinteraction','afterUpdate','FaxMessage','MailInteraction','Mail','Openchannel'];(function(_0x32138d,_0x3dee13){var _0x11b376=function(_0x1a168b){while(--_0x1a168b){_0x32138d['push'](_0x32138d['shift']());}};_0x11b376(++_0x3dee13);}(_0x59d4,0x88));var _0x459d=function(_0x4565bf,_0x5ad9d6){_0x4565bf=_0x4565bf-0x0;var _0x5610ba=_0x59d4[_0x4565bf];return _0x5610ba;};'use strict';var util=require(_0x459d('0x0'));var db=require(_0x459d('0x1'))['db'];var jayson=require(_0x459d('0x2'));var logger=require(_0x459d('0x3'))(_0x459d('0x4'));var client=jayson[_0x459d('0x5')][_0x459d('0x6')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0x459d('0x7'),'event':_0x459d('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x459d('0x9'),'model':_0x459d('0x7'),'event':'afterUpdate','condition':_0x459d('0xa'),'callback':afterUpdate},{'channel':_0x459d('0x9'),'model':'ChatMessage','event':'afterCreate','condition':_0x459d('0xb'),'callback':afterCreateMessage},{'channel':_0x459d('0xc'),'model':_0x459d('0xd'),'event':_0x459d('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':'Sms','model':_0x459d('0xd'),'event':'afterUpdate','condition':_0x459d('0xa'),'callback':afterUpdate},{'channel':'Sms','model':_0x459d('0xe'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0x459d('0xf'),'model':_0x459d('0x10'),'event':_0x459d('0x8'),'condition':_0x459d('0x11'),'callback':afterCreate},{'channel':_0x459d('0xf'),'model':'FaxInteraction','event':_0x459d('0x12'),'condition':'closedinteraction','callback':afterUpdate},{'channel':'Fax','model':_0x459d('0x13'),'event':_0x459d('0x8'),'condition':_0x459d('0xb'),'callback':afterCreateMessage},{'channel':'Mail','model':'MailInteraction','event':'afterCreate','condition':_0x459d('0x11'),'callback':afterCreate},{'channel':'Mail','model':_0x459d('0x14'),'event':'afterUpdate','condition':_0x459d('0xa'),'callback':afterUpdate},{'channel':_0x459d('0x15'),'model':'MailMessage','event':_0x459d('0x8'),'condition':_0x459d('0xb'),'callback':afterCreateMessage},{'channel':_0x459d('0x16'),'model':_0x459d('0x17'),'event':_0x459d('0x8'),'condition':_0x459d('0x11'),'callback':afterCreate},{'channel':_0x459d('0x16'),'model':_0x459d('0x17'),'event':_0x459d('0x12'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x459d('0x16'),'model':_0x459d('0x18'),'event':_0x459d('0x8'),'condition':_0x459d('0xb'),'callback':afterCreateMessage}];function request(_0x10b5e5){return client[_0x459d('0x19')](_0x459d('0x1a'),_0x10b5e5)[_0x459d('0x1b')](function(_0x43e533){logger[_0x459d('0x1c')](_0x459d('0x1d'),_0x459d('0x1a'),_0x43e533);if(_0x43e533[_0x459d('0x1e')]){if(_0x43e533['error'][_0x459d('0x1f')]===0x1f4){logger[_0x459d('0x1e')](_0x459d('0x1d'),'EventManager',_0x43e533[_0x459d('0x1e')]);}}})[_0x459d('0x20')](function(_0x36f3dc){logger['error']('Trigger,\x20%s','EventManager',_0x36f3dc);});}function afterCreateMessage(_0x5e673d,_0x133e9b){return function(_0x25190f,_0x40ea89){_0x25190f=_0x25190f[_0x459d('0x21')]({'plain':!![]});_0x25190f[_0x459d('0x22')]=_0x5e673d;_0x25190f[_0x459d('0x23')]=_0x25190f['direction'];if(_0x25190f[_0x459d('0x24')]){return db['User'][_0x459d('0x25')]({'where':{'id':_0x25190f['UserId']},'attributes':['id','name'],'raw':!![]})[_0x459d('0x1b')](function(_0x331bc2){_0x25190f[_0x459d('0x26')]=util['format']('SIP/%s',_0x331bc2['name']);_0x25190f[_0x459d('0x22')]=_0x5e673d;return request({'event':_0x459d('0x27'),'message':_0x25190f});})[_0x459d('0x20')](function(_0x3d57f1){console[_0x459d('0x1e')](_0x3d57f1);});}else{return request({'event':_0x459d('0x28'),'message':_0x25190f});}};}function afterCreate(_0xda4bfb,_0x39f8d7){return function(_0xd98067,_0x568353){_0xd98067=_0xd98067['get']({'plain':!![]});_0xd98067[_0x459d('0x22')]=_0xda4bfb;_0xd98067[_0x459d('0x23')]=_0x459d('0x29');return request({'event':_0x39f8d7,'message':_0xd98067});};}function afterUpdate(_0x5c1f49,_0x1d613b){return function(_0x18f92c,_0xaff285){if(_0x18f92c['changed'](_0x459d('0x2a'))&&_0x18f92c[_0x459d('0x2a')]){_0x18f92c=_0x18f92c['get']({'plain':!![]});_0x18f92c[_0x459d('0x22')]=_0x5c1f49;_0x18f92c[_0x459d('0x23')]=_0x459d('0x2a');if(_0x18f92c[_0x459d('0x24')]){return db['User'][_0x459d('0x25')]({'where':{'id':_0x18f92c['UserId']},'attributes':['id',_0x459d('0x2b')],'raw':!![]})[_0x459d('0x1b')](function(_0x30866f){_0x18f92c['interface']=util[_0x459d('0x2c')](_0x459d('0x2d'),_0x30866f[_0x459d('0x2b')]);return request({'event':_0x1d613b,'message':_0x18f92c});})[_0x459d('0x20')](function(_0x138fbb){console[_0x459d('0x1e')](_0x138fbb);});}else{return request({'event':_0x1d613b,'message':_0x18f92c});}}};}exports[_0x459d('0x2e')]=function(){for(var _0x3620cf=0x0;_0x3620cf<triggers[_0x459d('0x2f')];_0x3620cf+=0x1){if(db[_0x459d('0x30')](triggers[_0x3620cf][_0x459d('0x31')])){db[triggers[_0x3620cf][_0x459d('0x31')]][_0x459d('0x32')](triggers[_0x3620cf][_0x459d('0x23')],triggers[_0x3620cf]['callback'](triggers[_0x3620cf][_0x459d('0x22')][_0x459d('0x33')](),triggers[_0x3620cf][_0x459d('0x34')]));}}};