Built motion from commit (unavailable).|2.5.26
[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 _0x2049=['EventManager','error','code','get','channel','event','direction','UserId','User','name','interface','format','SIP/%s','incomingmessage','catch','outgoingmessage','opened','changed','closed','default','length','model','hook','callback','toLowerCase','../../mysqldb','jayson/promise','triggers','client','Chat','ChatInteraction','afterCreate','afterUpdate','ChatMessage','Sms','SmsInteraction','newinteraction','closedinteraction','SmsMessage','newmessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxMessage','Mail','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','then','info','Trigger,\x20%s'];(function(_0x3f1732,_0x300971){var _0x2dd600=function(_0x4e51af){while(--_0x4e51af){_0x3f1732['push'](_0x3f1732['shift']());}};_0x2dd600(++_0x300971);}(_0x2049,0x15d));var _0x9204=function(_0x5b7f3f,_0x3b6367){_0x5b7f3f=_0x5b7f3f-0x0;var _0x545c03=_0x2049[_0x5b7f3f];return _0x545c03;};'use strict';var util=require('util');var db=require(_0x9204('0x0'))['db'];var jayson=require(_0x9204('0x1'));var logger=require('../logger')(_0x9204('0x2'));var client=jayson[_0x9204('0x3')]['http']({'port':0x232a});var triggers=[{'channel':_0x9204('0x4'),'model':_0x9204('0x5'),'event':_0x9204('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x9204('0x4'),'model':'ChatInteraction','event':_0x9204('0x7'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x9204('0x4'),'model':_0x9204('0x8'),'event':_0x9204('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x9204('0x9'),'model':_0x9204('0xa'),'event':_0x9204('0x6'),'condition':_0x9204('0xb'),'callback':afterCreate},{'channel':_0x9204('0x9'),'model':'SmsInteraction','event':_0x9204('0x7'),'condition':_0x9204('0xc'),'callback':afterUpdate},{'channel':_0x9204('0x9'),'model':_0x9204('0xd'),'event':_0x9204('0x6'),'condition':_0x9204('0xe'),'callback':afterCreateMessage},{'channel':_0x9204('0xf'),'model':_0x9204('0x10'),'event':_0x9204('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x9204('0xf'),'model':_0x9204('0x10'),'event':'afterUpdate','condition':_0x9204('0xc'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0x9204('0x11'),'event':_0x9204('0x6'),'condition':_0x9204('0xe'),'callback':afterCreateMessage},{'channel':_0x9204('0x12'),'model':'FaxInteraction','event':_0x9204('0x6'),'condition':_0x9204('0xb'),'callback':afterCreate},{'channel':_0x9204('0x12'),'model':'FaxInteraction','event':'afterUpdate','condition':_0x9204('0xc'),'callback':afterUpdate},{'channel':_0x9204('0x12'),'model':_0x9204('0x13'),'event':_0x9204('0x6'),'condition':_0x9204('0xe'),'callback':afterCreateMessage},{'channel':_0x9204('0x14'),'model':'MailInteraction','event':_0x9204('0x6'),'condition':_0x9204('0xb'),'callback':afterCreate},{'channel':_0x9204('0x14'),'model':'MailInteraction','event':_0x9204('0x7'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x9204('0x14'),'model':_0x9204('0x15'),'event':_0x9204('0x6'),'condition':_0x9204('0xe'),'callback':afterCreateMessage},{'channel':_0x9204('0x16'),'model':_0x9204('0x17'),'event':_0x9204('0x6'),'condition':_0x9204('0xb'),'callback':afterCreate},{'channel':_0x9204('0x16'),'model':_0x9204('0x17'),'event':_0x9204('0x7'),'condition':_0x9204('0xc'),'callback':afterUpdate},{'channel':_0x9204('0x16'),'model':_0x9204('0x18'),'event':_0x9204('0x6'),'condition':_0x9204('0xe'),'callback':afterCreateMessage}];function request(_0x4791c3){return client[_0x9204('0x19')]('EventManager',_0x4791c3)[_0x9204('0x1a')](function(_0x4effea){logger[_0x9204('0x1b')](_0x9204('0x1c'),_0x9204('0x1d'),_0x4effea);if(_0x4effea[_0x9204('0x1e')]){if(_0x4effea[_0x9204('0x1e')][_0x9204('0x1f')]===0x1f4){logger[_0x9204('0x1e')](_0x9204('0x1c'),_0x9204('0x1d'),_0x4effea[_0x9204('0x1e')]);}}})['catch'](function(_0x1512a4){logger[_0x9204('0x1e')](_0x9204('0x1c'),_0x9204('0x1d'),_0x1512a4);});}function afterCreateMessage(_0x3f9303,_0xce194e){return function(_0x4cba12,_0x5505aa){_0x4cba12=_0x4cba12[_0x9204('0x20')]({'plain':!![]});_0x4cba12[_0x9204('0x21')]=_0x3f9303;_0x4cba12[_0x9204('0x22')]=_0x4cba12[_0x9204('0x23')];if(_0x4cba12[_0x9204('0x24')]){return db[_0x9204('0x25')]['find']({'where':{'id':_0x4cba12['UserId']},'attributes':['id',_0x9204('0x26')],'raw':!![]})[_0x9204('0x1a')](function(_0x1d0ebc){_0x4cba12[_0x9204('0x27')]=util[_0x9204('0x28')](_0x9204('0x29'),_0x1d0ebc[_0x9204('0x26')]);_0x4cba12[_0x9204('0x21')]=_0x3f9303;return request({'event':_0x9204('0x2a'),'message':_0x4cba12});})[_0x9204('0x2b')](function(_0x40b22a){console[_0x9204('0x1e')](_0x40b22a);});}else{return request({'event':_0x9204('0x2c'),'message':_0x4cba12});}};}function afterCreate(_0x461a8a,_0x31bf0f){return function(_0x34acfe,_0x3e3ef0){_0x34acfe=_0x34acfe[_0x9204('0x20')]({'plain':!![]});_0x34acfe[_0x9204('0x21')]=_0x461a8a;_0x34acfe[_0x9204('0x22')]=_0x9204('0x2d');return request({'event':_0x31bf0f,'message':_0x34acfe});};}function afterUpdate(_0x51621b,_0x4eb3d6){return function(_0x53ea1e,_0x125cdb){if(_0x53ea1e[_0x9204('0x2e')](_0x9204('0x2f'))&&_0x53ea1e['closed']){_0x53ea1e=_0x53ea1e['get']({'plain':!![]});_0x53ea1e['channel']=_0x51621b;_0x53ea1e[_0x9204('0x22')]=_0x9204('0x2f');if(_0x53ea1e[_0x9204('0x24')]){return db[_0x9204('0x25')]['find']({'where':{'id':_0x53ea1e[_0x9204('0x24')]},'attributes':['id',_0x9204('0x26')],'raw':!![]})[_0x9204('0x1a')](function(_0x9e9e99){_0x53ea1e[_0x9204('0x27')]=util[_0x9204('0x28')](_0x9204('0x29'),_0x9e9e99[_0x9204('0x26')]);return request({'event':_0x4eb3d6,'message':_0x53ea1e});})[_0x9204('0x2b')](function(_0x44a5d0){console['error'](_0x44a5d0);});}else{return request({'event':_0x4eb3d6,'message':_0x53ea1e});}}};}exports[_0x9204('0x30')]=function(){for(var _0x76c203=0x0;_0x76c203<triggers[_0x9204('0x31')];_0x76c203+=0x1){if(db['hasOwnProperty'](triggers[_0x76c203]['model'])){db[triggers[_0x76c203][_0x9204('0x32')]][_0x9204('0x33')](triggers[_0x76c203][_0x9204('0x22')],triggers[_0x76c203][_0x9204('0x34')](triggers[_0x76c203][_0x9204('0x21')][_0x9204('0x35')](),triggers[_0x76c203]['condition']));}}};