1a878d9f8b3086cca63c9d6ccf327c9ba590560b
[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 _0x870a=['length','hasOwnProperty','model','hook','toLowerCase','util','../logger','triggers','client','http','Chat','ChatInteraction','afterUpdate','closedinteraction','afterCreate','newmessage','Sms','SmsInteraction','newinteraction','SmsMessage','WhatsappInteraction','Whatsapp','WhatsappMessage','Fax','FaxInteraction','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','code','get','channel','direction','UserId','name','interface','SIP/%s','incomingmessage','catch','outgoingmessage','opened','changed','closed','event','User','find','format','default'];(function(_0x4bea66,_0x1b18e5){var _0x54abf7=function(_0x3cdb99){while(--_0x3cdb99){_0x4bea66['push'](_0x4bea66['shift']());}};_0x54abf7(++_0x1b18e5);}(_0x870a,0x155));var _0xa870=function(_0x21a05e,_0x2e9ce2){_0x21a05e=_0x21a05e-0x0;var _0xf60934=_0x870a[_0x21a05e];return _0xf60934;};'use strict';var util=require(_0xa870('0x0'));var db=require('../../mysqldb')['db'];var jayson=require('jayson/promise');var logger=require(_0xa870('0x1'))(_0xa870('0x2'));var client=jayson[_0xa870('0x3')][_0xa870('0x4')]({'port':0x232a});var triggers=[{'channel':_0xa870('0x5'),'model':_0xa870('0x6'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0xa870('0x5'),'model':_0xa870('0x6'),'event':_0xa870('0x7'),'condition':_0xa870('0x8'),'callback':afterUpdate},{'channel':_0xa870('0x5'),'model':'ChatMessage','event':_0xa870('0x9'),'condition':_0xa870('0xa'),'callback':afterCreateMessage},{'channel':_0xa870('0xb'),'model':_0xa870('0xc'),'event':_0xa870('0x9'),'condition':_0xa870('0xd'),'callback':afterCreate},{'channel':_0xa870('0xb'),'model':_0xa870('0xc'),'event':_0xa870('0x7'),'condition':_0xa870('0x8'),'callback':afterUpdate},{'channel':'Sms','model':_0xa870('0xe'),'event':_0xa870('0x9'),'condition':_0xa870('0xa'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':'WhatsappInteraction','event':_0xa870('0x9'),'condition':_0xa870('0xd'),'callback':afterCreate},{'channel':'Whatsapp','model':_0xa870('0xf'),'event':_0xa870('0x7'),'condition':_0xa870('0x8'),'callback':afterUpdate},{'channel':_0xa870('0x10'),'model':_0xa870('0x11'),'event':_0xa870('0x9'),'condition':_0xa870('0xa'),'callback':afterCreateMessage},{'channel':_0xa870('0x12'),'model':_0xa870('0x13'),'event':'afterCreate','condition':_0xa870('0xd'),'callback':afterCreate},{'channel':_0xa870('0x12'),'model':_0xa870('0x13'),'event':_0xa870('0x7'),'condition':_0xa870('0x8'),'callback':afterUpdate},{'channel':'Fax','model':'FaxMessage','event':'afterCreate','condition':_0xa870('0xa'),'callback':afterCreateMessage},{'channel':_0xa870('0x14'),'model':_0xa870('0x15'),'event':_0xa870('0x9'),'condition':_0xa870('0xd'),'callback':afterCreate},{'channel':_0xa870('0x14'),'model':_0xa870('0x15'),'event':'afterUpdate','condition':_0xa870('0x8'),'callback':afterUpdate},{'channel':'Mail','model':_0xa870('0x16'),'event':_0xa870('0x9'),'condition':_0xa870('0xa'),'callback':afterCreateMessage},{'channel':_0xa870('0x17'),'model':_0xa870('0x18'),'event':_0xa870('0x9'),'condition':_0xa870('0xd'),'callback':afterCreate},{'channel':_0xa870('0x17'),'model':_0xa870('0x18'),'event':_0xa870('0x7'),'condition':_0xa870('0x8'),'callback':afterUpdate},{'channel':'Openchannel','model':_0xa870('0x19'),'event':_0xa870('0x9'),'condition':_0xa870('0xa'),'callback':afterCreateMessage}];function request(_0xd5aaf3){return client[_0xa870('0x1a')](_0xa870('0x1b'),_0xd5aaf3)[_0xa870('0x1c')](function(_0x17dfbb){logger[_0xa870('0x1d')](_0xa870('0x1e'),_0xa870('0x1b'),_0x17dfbb);if(_0x17dfbb['error']){if(_0x17dfbb[_0xa870('0x1f')][_0xa870('0x20')]===0x1f4){logger[_0xa870('0x1f')](_0xa870('0x1e'),_0xa870('0x1b'),_0x17dfbb['error']);}}})['catch'](function(_0x57fb7b){logger[_0xa870('0x1f')]('Trigger,\x20%s',_0xa870('0x1b'),_0x57fb7b);});}function afterCreateMessage(_0x41cb94,_0x4aeb5f){return function(_0x2ddb08,_0x8fd0e2){_0x2ddb08=_0x2ddb08[_0xa870('0x21')]({'plain':!![]});_0x2ddb08[_0xa870('0x22')]=_0x41cb94;_0x2ddb08['event']=_0x2ddb08[_0xa870('0x23')];if(_0x2ddb08[_0xa870('0x24')]){return db['User']['find']({'where':{'id':_0x2ddb08['UserId']},'attributes':['id',_0xa870('0x25')],'raw':!![]})[_0xa870('0x1c')](function(_0x8b10eb){_0x2ddb08[_0xa870('0x26')]=util['format'](_0xa870('0x27'),_0x8b10eb[_0xa870('0x25')]);_0x2ddb08[_0xa870('0x22')]=_0x41cb94;return request({'event':_0xa870('0x28'),'message':_0x2ddb08});})[_0xa870('0x29')](function(_0xf789d3){console['error'](_0xf789d3);});}else{return request({'event':_0xa870('0x2a'),'message':_0x2ddb08});}};}function afterCreate(_0x28c9a1,_0x1c00e2){return function(_0x266974,_0x23cb24){_0x266974=_0x266974[_0xa870('0x21')]({'plain':!![]});_0x266974[_0xa870('0x22')]=_0x28c9a1;_0x266974['event']=_0xa870('0x2b');return request({'event':_0x1c00e2,'message':_0x266974});};}function afterUpdate(_0x2de2e3,_0x2d6891){return function(_0x28cf75,_0x5e5f76){if(_0x28cf75[_0xa870('0x2c')]('closed')&&_0x28cf75[_0xa870('0x2d')]){_0x28cf75=_0x28cf75[_0xa870('0x21')]({'plain':!![]});_0x28cf75[_0xa870('0x22')]=_0x2de2e3;_0x28cf75[_0xa870('0x2e')]='closed';if(_0x28cf75['UserId']){return db[_0xa870('0x2f')][_0xa870('0x30')]({'where':{'id':_0x28cf75['UserId']},'attributes':['id',_0xa870('0x25')],'raw':!![]})['then'](function(_0x493576){_0x28cf75[_0xa870('0x26')]=util[_0xa870('0x31')](_0xa870('0x27'),_0x493576[_0xa870('0x25')]);return request({'event':_0x2d6891,'message':_0x28cf75});})['catch'](function(_0x450bf7){console[_0xa870('0x1f')](_0x450bf7);});}else{return request({'event':_0x2d6891,'message':_0x28cf75});}}};}exports[_0xa870('0x32')]=function(){for(var _0x4a8248=0x0;_0x4a8248<triggers[_0xa870('0x33')];_0x4a8248+=0x1){if(db[_0xa870('0x34')](triggers[_0x4a8248][_0xa870('0x35')])){db[triggers[_0x4a8248][_0xa870('0x35')]][_0xa870('0x36')](triggers[_0x4a8248][_0xa870('0x2e')],triggers[_0x4a8248]['callback'](triggers[_0x4a8248][_0xa870('0x22')][_0xa870('0x37')](),triggers[_0x4a8248]['condition']));}}};