Built motion from commit (unavailable).|2.5.16
[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 _0x321d=['User','find','name','interface','format','SIP/%s','incomingmessage','event','opened','changed','closed','default','length','hook','callback','toLowerCase','util','../../mysqldb','jayson/promise','../logger','triggers','http','ChatInteraction','afterCreate','newinteraction','Chat','afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappMessage','Fax','FaxInteraction','MailInteraction','Mail','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','Trigger,\x20%s','error','code','get','channel','direction','UserId'];(function(_0x28509b,_0x5831ff){var _0x1e0b6=function(_0x37d8a2){while(--_0x37d8a2){_0x28509b['push'](_0x28509b['shift']());}};_0x1e0b6(++_0x5831ff);}(_0x321d,0x1b8));var _0xd321=function(_0x422bb0,_0x252b8b){_0x422bb0=_0x422bb0-0x0;var _0x52cd10=_0x321d[_0x422bb0];return _0x52cd10;};'use strict';var util=require(_0xd321('0x0'));var db=require(_0xd321('0x1'))['db'];var jayson=require(_0xd321('0x2'));var logger=require(_0xd321('0x3'))(_0xd321('0x4'));var client=jayson['client'][_0xd321('0x5')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0xd321('0x6'),'event':_0xd321('0x7'),'condition':_0xd321('0x8'),'callback':afterCreate},{'channel':_0xd321('0x9'),'model':_0xd321('0x6'),'event':_0xd321('0xa'),'condition':_0xd321('0xb'),'callback':afterUpdate},{'channel':_0xd321('0x9'),'model':_0xd321('0xc'),'event':_0xd321('0x7'),'condition':_0xd321('0xd'),'callback':afterCreateMessage},{'channel':_0xd321('0xe'),'model':'SmsInteraction','event':'afterCreate','condition':_0xd321('0x8'),'callback':afterCreate},{'channel':_0xd321('0xe'),'model':_0xd321('0xf'),'event':_0xd321('0xa'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xd321('0xe'),'model':_0xd321('0x10'),'event':_0xd321('0x7'),'condition':_0xd321('0xd'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':'WhatsappInteraction','event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':'Whatsapp','model':'WhatsappInteraction','event':_0xd321('0xa'),'condition':_0xd321('0xb'),'callback':afterUpdate},{'channel':_0xd321('0x11'),'model':_0xd321('0x12'),'event':_0xd321('0x7'),'condition':_0xd321('0xd'),'callback':afterCreateMessage},{'channel':_0xd321('0x13'),'model':_0xd321('0x14'),'event':_0xd321('0x7'),'condition':_0xd321('0x8'),'callback':afterCreate},{'channel':'Fax','model':'FaxInteraction','event':_0xd321('0xa'),'condition':_0xd321('0xb'),'callback':afterUpdate},{'channel':_0xd321('0x13'),'model':'FaxMessage','event':_0xd321('0x7'),'condition':_0xd321('0xd'),'callback':afterCreateMessage},{'channel':'Mail','model':_0xd321('0x15'),'event':_0xd321('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xd321('0x16'),'model':_0xd321('0x15'),'event':_0xd321('0xa'),'condition':_0xd321('0xb'),'callback':afterUpdate},{'channel':_0xd321('0x16'),'model':_0xd321('0x17'),'event':_0xd321('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xd321('0x18'),'model':_0xd321('0x19'),'event':_0xd321('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xd321('0x18'),'model':_0xd321('0x19'),'event':_0xd321('0xa'),'condition':_0xd321('0xb'),'callback':afterUpdate},{'channel':_0xd321('0x18'),'model':_0xd321('0x1a'),'event':'afterCreate','condition':_0xd321('0xd'),'callback':afterCreateMessage}];function request(_0xbb547f){return client[_0xd321('0x1b')](_0xd321('0x1c'),_0xbb547f)[_0xd321('0x1d')](function(_0xd482cf){logger['info'](_0xd321('0x1e'),_0xd321('0x1c'),_0xd482cf);if(_0xd482cf[_0xd321('0x1f')]){if(_0xd482cf[_0xd321('0x1f')][_0xd321('0x20')]===0x1f4){logger['error'](_0xd321('0x1e'),'EventManager',_0xd482cf[_0xd321('0x1f')]);}}})['catch'](function(_0x315fc9){logger['error'](_0xd321('0x1e'),'EventManager',_0x315fc9);});}function afterCreateMessage(_0x541d5c,_0x507e69){return function(_0x161285,_0x3f3db8){_0x161285=_0x161285[_0xd321('0x21')]({'plain':!![]});_0x161285[_0xd321('0x22')]=_0x541d5c;_0x161285['event']=_0x161285[_0xd321('0x23')];if(_0x161285[_0xd321('0x24')]){return db[_0xd321('0x25')][_0xd321('0x26')]({'where':{'id':_0x161285[_0xd321('0x24')]},'attributes':['id',_0xd321('0x27')],'raw':!![]})[_0xd321('0x1d')](function(_0x101a2c){_0x161285[_0xd321('0x28')]=util[_0xd321('0x29')](_0xd321('0x2a'),_0x101a2c[_0xd321('0x27')]);_0x161285[_0xd321('0x22')]=_0x541d5c;return request({'event':_0xd321('0x2b'),'message':_0x161285});})['catch'](function(_0x317b39){console[_0xd321('0x1f')](_0x317b39);});}else{return request({'event':'outgoingmessage','message':_0x161285});}};}function afterCreate(_0x546fe2,_0x318c82){return function(_0x26de1d,_0x5939b2){_0x26de1d=_0x26de1d[_0xd321('0x21')]({'plain':!![]});_0x26de1d[_0xd321('0x22')]=_0x546fe2;_0x26de1d[_0xd321('0x2c')]=_0xd321('0x2d');return request({'event':_0x318c82,'message':_0x26de1d});};}function afterUpdate(_0x59ee02,_0x169c6e){return function(_0x44aec7,_0x3ccaee){if(_0x44aec7[_0xd321('0x2e')](_0xd321('0x2f'))&&_0x44aec7[_0xd321('0x2f')]){_0x44aec7=_0x44aec7[_0xd321('0x21')]({'plain':!![]});_0x44aec7[_0xd321('0x22')]=_0x59ee02;_0x44aec7[_0xd321('0x2c')]='closed';if(_0x44aec7['UserId']){return db[_0xd321('0x25')][_0xd321('0x26')]({'where':{'id':_0x44aec7[_0xd321('0x24')]},'attributes':['id',_0xd321('0x27')],'raw':!![]})[_0xd321('0x1d')](function(_0x14d5b7){_0x44aec7[_0xd321('0x28')]=util['format'](_0xd321('0x2a'),_0x14d5b7['name']);return request({'event':_0x169c6e,'message':_0x44aec7});})['catch'](function(_0x569d82){console[_0xd321('0x1f')](_0x569d82);});}else{return request({'event':_0x169c6e,'message':_0x44aec7});}}};}exports[_0xd321('0x30')]=function(){for(var _0x35d658=0x0;_0x35d658<triggers[_0xd321('0x31')];_0x35d658+=0x1){if(db['hasOwnProperty'](triggers[_0x35d658]['model'])){db[triggers[_0x35d658]['model']][_0xd321('0x32')](triggers[_0x35d658]['event'],triggers[_0x35d658][_0xd321('0x33')](triggers[_0x35d658][_0xd321('0x22')][_0xd321('0x34')](),triggers[_0x35d658]['condition']));}}};