Built motion from commit (unavailable).|2.5.14
[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 _0x8a65=['afterUpdate','SmsMessage','WhatsappInteraction','Whatsapp','Fax','FaxInteraction','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','code','catch','get','channel','event','direction','UserId','User','find','name','interface','format','incomingmessage','opened','closed','SIP/%s','length','hasOwnProperty','model','hook','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','triggers','client','http','Chat','ChatInteraction','afterCreate','newinteraction','closedinteraction','newmessage','Sms'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0x8a65,0x13c));var _0x58a6=function(_0x597992,_0x516580){_0x597992=_0x597992-0x0;var _0x2bea67=_0x8a65[_0x597992];return _0x2bea67;};'use strict';var util=require(_0x58a6('0x0'));var db=require(_0x58a6('0x1'))['db'];var jayson=require(_0x58a6('0x2'));var logger=require(_0x58a6('0x3'))(_0x58a6('0x4'));var client=jayson[_0x58a6('0x5')][_0x58a6('0x6')]({'port':0x232a});var triggers=[{'channel':_0x58a6('0x7'),'model':_0x58a6('0x8'),'event':_0x58a6('0x9'),'condition':_0x58a6('0xa'),'callback':afterCreate},{'channel':_0x58a6('0x7'),'model':_0x58a6('0x8'),'event':'afterUpdate','condition':_0x58a6('0xb'),'callback':afterUpdate},{'channel':_0x58a6('0x7'),'model':'ChatMessage','event':_0x58a6('0x9'),'condition':_0x58a6('0xc'),'callback':afterCreateMessage},{'channel':_0x58a6('0xd'),'model':'SmsInteraction','event':_0x58a6('0x9'),'condition':_0x58a6('0xa'),'callback':afterCreate},{'channel':'Sms','model':'SmsInteraction','event':_0x58a6('0xe'),'condition':_0x58a6('0xb'),'callback':afterUpdate},{'channel':_0x58a6('0xd'),'model':_0x58a6('0xf'),'event':_0x58a6('0x9'),'condition':_0x58a6('0xc'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':_0x58a6('0x10'),'event':_0x58a6('0x9'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x58a6('0x11'),'model':_0x58a6('0x10'),'event':'afterUpdate','condition':_0x58a6('0xb'),'callback':afterUpdate},{'channel':_0x58a6('0x11'),'model':'WhatsappMessage','event':_0x58a6('0x9'),'condition':_0x58a6('0xc'),'callback':afterCreateMessage},{'channel':_0x58a6('0x12'),'model':_0x58a6('0x13'),'event':'afterCreate','condition':_0x58a6('0xa'),'callback':afterCreate},{'channel':_0x58a6('0x12'),'model':_0x58a6('0x13'),'event':_0x58a6('0xe'),'condition':_0x58a6('0xb'),'callback':afterUpdate},{'channel':'Fax','model':'FaxMessage','event':'afterCreate','condition':_0x58a6('0xc'),'callback':afterCreateMessage},{'channel':_0x58a6('0x14'),'model':_0x58a6('0x15'),'event':_0x58a6('0x9'),'condition':_0x58a6('0xa'),'callback':afterCreate},{'channel':_0x58a6('0x14'),'model':_0x58a6('0x15'),'event':_0x58a6('0xe'),'condition':_0x58a6('0xb'),'callback':afterUpdate},{'channel':_0x58a6('0x14'),'model':_0x58a6('0x16'),'event':_0x58a6('0x9'),'condition':_0x58a6('0xc'),'callback':afterCreateMessage},{'channel':_0x58a6('0x17'),'model':_0x58a6('0x18'),'event':'afterCreate','condition':_0x58a6('0xa'),'callback':afterCreate},{'channel':'Openchannel','model':'OpenchannelInteraction','event':_0x58a6('0xe'),'condition':_0x58a6('0xb'),'callback':afterUpdate},{'channel':_0x58a6('0x17'),'model':_0x58a6('0x19'),'event':_0x58a6('0x9'),'condition':_0x58a6('0xc'),'callback':afterCreateMessage}];function request(_0xbe8b6d){return client[_0x58a6('0x1a')](_0x58a6('0x1b'),_0xbe8b6d)[_0x58a6('0x1c')](function(_0x44a328){logger[_0x58a6('0x1d')](_0x58a6('0x1e'),_0x58a6('0x1b'),_0x44a328);if(_0x44a328['error']){if(_0x44a328[_0x58a6('0x1f')][_0x58a6('0x20')]===0x1f4){logger[_0x58a6('0x1f')]('Trigger,\x20%s',_0x58a6('0x1b'),_0x44a328['error']);}}})[_0x58a6('0x21')](function(_0xb44c88){logger['error']('Trigger,\x20%s',_0x58a6('0x1b'),_0xb44c88);});}function afterCreateMessage(_0x376e88,_0x4c18e5){return function(_0x307077,_0x1bf979){_0x307077=_0x307077[_0x58a6('0x22')]({'plain':!![]});_0x307077[_0x58a6('0x23')]=_0x376e88;_0x307077[_0x58a6('0x24')]=_0x307077[_0x58a6('0x25')];if(_0x307077[_0x58a6('0x26')]){return db[_0x58a6('0x27')][_0x58a6('0x28')]({'where':{'id':_0x307077[_0x58a6('0x26')]},'attributes':['id',_0x58a6('0x29')],'raw':!![]})[_0x58a6('0x1c')](function(_0x1417e8){_0x307077[_0x58a6('0x2a')]=util[_0x58a6('0x2b')]('SIP/%s',_0x1417e8['name']);_0x307077[_0x58a6('0x23')]=_0x376e88;return request({'event':_0x58a6('0x2c'),'message':_0x307077});})['catch'](function(_0x575e9e){console['error'](_0x575e9e);});}else{return request({'event':'outgoingmessage','message':_0x307077});}};}function afterCreate(_0x47e81f,_0x3e1b4d){return function(_0x338fde,_0x2a3f3c){_0x338fde=_0x338fde[_0x58a6('0x22')]({'plain':!![]});_0x338fde['channel']=_0x47e81f;_0x338fde[_0x58a6('0x24')]=_0x58a6('0x2d');return request({'event':_0x3e1b4d,'message':_0x338fde});};}function afterUpdate(_0x1be865,_0x2d36e5){return function(_0x29100d,_0x5a1592){if(_0x29100d['changed'](_0x58a6('0x2e'))&&_0x29100d['closed']){_0x29100d=_0x29100d[_0x58a6('0x22')]({'plain':!![]});_0x29100d[_0x58a6('0x23')]=_0x1be865;_0x29100d[_0x58a6('0x24')]=_0x58a6('0x2e');if(_0x29100d['UserId']){return db[_0x58a6('0x27')][_0x58a6('0x28')]({'where':{'id':_0x29100d[_0x58a6('0x26')]},'attributes':['id','name'],'raw':!![]})['then'](function(_0x234e4b){_0x29100d[_0x58a6('0x2a')]=util[_0x58a6('0x2b')](_0x58a6('0x2f'),_0x234e4b[_0x58a6('0x29')]);return request({'event':_0x2d36e5,'message':_0x29100d});})[_0x58a6('0x21')](function(_0x9aaec3){console[_0x58a6('0x1f')](_0x9aaec3);});}else{return request({'event':_0x2d36e5,'message':_0x29100d});}}};}exports['default']=function(){for(var _0x547d84=0x0;_0x547d84<triggers[_0x58a6('0x30')];_0x547d84+=0x1){if(db[_0x58a6('0x31')](triggers[_0x547d84]['model'])){db[triggers[_0x547d84][_0x58a6('0x32')]][_0x58a6('0x33')](triggers[_0x547d84]['event'],triggers[_0x547d84][_0x58a6('0x34')](triggers[_0x547d84]['channel'][_0x58a6('0x35')](),triggers[_0x547d84][_0x58a6('0x36')]));}}};