b5571c6ed38e9166e7e9a142234a9b04bdc7c99f
[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 _0x5c06=['OpenchannelMessage','newmessage','request','then','info','EventManager','error','code','Trigger,\x20%s','catch','channel','User','find','UserId','format','SIP/%s','name','incomingmessage','outgoingmessage','get','changed','closed','default','length','hasOwnProperty','model','event','callback','toLowerCase','condition','util','../../mysqldb','../logger','http','Chat','ChatInteraction','newinteraction','afterUpdate','closedinteraction','ChatMessage','afterCreate','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','MailInteraction','Mail','MailMessage','Openchannel','OpenchannelInteraction'];(function(_0x118f34,_0x487a33){var _0x291c6f=function(_0x4b4299){while(--_0x4b4299){_0x118f34['push'](_0x118f34['shift']());}};_0x291c6f(++_0x487a33);}(_0x5c06,0x162));var _0x65c0=function(_0x618414,_0x1a7a60){_0x618414=_0x618414-0x0;var _0x21c19a=_0x5c06[_0x618414];return _0x21c19a;};'use strict';var util=require(_0x65c0('0x0'));var db=require(_0x65c0('0x1'))['db'];var jayson=require('jayson/promise');var logger=require(_0x65c0('0x2'))('triggers');var client=jayson['client'][_0x65c0('0x3')]({'port':0x232a});var triggers=[{'channel':_0x65c0('0x4'),'model':_0x65c0('0x5'),'event':'afterCreate','condition':_0x65c0('0x6'),'callback':afterCreate},{'channel':_0x65c0('0x4'),'model':_0x65c0('0x5'),'event':_0x65c0('0x7'),'condition':_0x65c0('0x8'),'callback':afterUpdate},{'channel':_0x65c0('0x4'),'model':_0x65c0('0x9'),'event':_0x65c0('0xa'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x65c0('0xb'),'model':_0x65c0('0xc'),'event':_0x65c0('0xa'),'condition':_0x65c0('0x6'),'callback':afterCreate},{'channel':_0x65c0('0xb'),'model':_0x65c0('0xc'),'event':_0x65c0('0x7'),'condition':_0x65c0('0x8'),'callback':afterUpdate},{'channel':'Sms','model':_0x65c0('0xd'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0x65c0('0xe'),'model':_0x65c0('0xf'),'event':_0x65c0('0xa'),'condition':_0x65c0('0x6'),'callback':afterCreate},{'channel':_0x65c0('0xe'),'model':_0x65c0('0xf'),'event':_0x65c0('0x7'),'condition':_0x65c0('0x8'),'callback':afterUpdate},{'channel':_0x65c0('0xe'),'model':_0x65c0('0x10'),'event':_0x65c0('0xa'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Fax','model':'FaxInteraction','event':_0x65c0('0xa'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x65c0('0x11'),'model':_0x65c0('0x12'),'event':'afterUpdate','condition':_0x65c0('0x8'),'callback':afterUpdate},{'channel':_0x65c0('0x11'),'model':'FaxMessage','event':_0x65c0('0xa'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Mail','model':_0x65c0('0x13'),'event':_0x65c0('0xa'),'condition':_0x65c0('0x6'),'callback':afterCreate},{'channel':_0x65c0('0x14'),'model':'MailInteraction','event':_0x65c0('0x7'),'condition':'closedinteraction','callback':afterUpdate},{'channel':'Mail','model':_0x65c0('0x15'),'event':_0x65c0('0xa'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x65c0('0x16'),'model':_0x65c0('0x17'),'event':_0x65c0('0xa'),'condition':_0x65c0('0x6'),'callback':afterCreate},{'channel':_0x65c0('0x16'),'model':_0x65c0('0x17'),'event':_0x65c0('0x7'),'condition':_0x65c0('0x8'),'callback':afterUpdate},{'channel':'Openchannel','model':_0x65c0('0x18'),'event':_0x65c0('0xa'),'condition':_0x65c0('0x19'),'callback':afterCreateMessage}];function request(_0x18d99d){return client[_0x65c0('0x1a')]('EventManager',_0x18d99d)[_0x65c0('0x1b')](function(_0x371b5f){logger[_0x65c0('0x1c')]('Trigger,\x20%s',_0x65c0('0x1d'),_0x371b5f);if(_0x371b5f['error']){if(_0x371b5f[_0x65c0('0x1e')][_0x65c0('0x1f')]===0x1f4){logger[_0x65c0('0x1e')](_0x65c0('0x20'),'EventManager',_0x371b5f[_0x65c0('0x1e')]);}}})[_0x65c0('0x21')](function(_0x47f5dc){logger['error']('Trigger,\x20%s',_0x65c0('0x1d'),_0x47f5dc);});}function afterCreateMessage(_0x594a5d,_0x338e65){return function(_0x3a25b9,_0x4876a5){_0x3a25b9=_0x3a25b9['get']({'plain':!![]});_0x3a25b9[_0x65c0('0x22')]=_0x594a5d;_0x3a25b9['event']=_0x3a25b9['direction'];if(_0x3a25b9['UserId']){return db[_0x65c0('0x23')][_0x65c0('0x24')]({'where':{'id':_0x3a25b9[_0x65c0('0x25')]},'attributes':['id','name'],'raw':!![]})[_0x65c0('0x1b')](function(_0x3c269c){_0x3a25b9['interface']=util[_0x65c0('0x26')](_0x65c0('0x27'),_0x3c269c[_0x65c0('0x28')]);_0x3a25b9[_0x65c0('0x22')]=_0x594a5d;return request({'event':_0x65c0('0x29'),'message':_0x3a25b9});})[_0x65c0('0x21')](function(_0xaf929a){console['error'](_0xaf929a);});}else{return request({'event':_0x65c0('0x2a'),'message':_0x3a25b9});}};}function afterCreate(_0xd98135,_0x5d8e2b){return function(_0x4d4040,_0x5c1f1d){_0x4d4040=_0x4d4040[_0x65c0('0x2b')]({'plain':!![]});_0x4d4040[_0x65c0('0x22')]=_0xd98135;_0x4d4040['event']='opened';return request({'event':_0x5d8e2b,'message':_0x4d4040});};}function afterUpdate(_0x30cf34,_0x1d6e7f){return function(_0x2ccdb2,_0x2a63f7){if(_0x2ccdb2[_0x65c0('0x2c')](_0x65c0('0x2d'))&&_0x2ccdb2[_0x65c0('0x2d')]){_0x2ccdb2=_0x2ccdb2[_0x65c0('0x2b')]({'plain':!![]});_0x2ccdb2[_0x65c0('0x22')]=_0x30cf34;_0x2ccdb2['event']=_0x65c0('0x2d');if(_0x2ccdb2[_0x65c0('0x25')]){return db[_0x65c0('0x23')][_0x65c0('0x24')]({'where':{'id':_0x2ccdb2[_0x65c0('0x25')]},'attributes':['id',_0x65c0('0x28')],'raw':!![]})[_0x65c0('0x1b')](function(_0xf07fdf){_0x2ccdb2['interface']=util[_0x65c0('0x26')](_0x65c0('0x27'),_0xf07fdf['name']);return request({'event':_0x1d6e7f,'message':_0x2ccdb2});})[_0x65c0('0x21')](function(_0x8b86be){console['error'](_0x8b86be);});}else{return request({'event':_0x1d6e7f,'message':_0x2ccdb2});}}};}exports[_0x65c0('0x2e')]=function(){for(var _0x1e99d8=0x0;_0x1e99d8<triggers[_0x65c0('0x2f')];_0x1e99d8+=0x1){if(db[_0x65c0('0x30')](triggers[_0x1e99d8][_0x65c0('0x31')])){db[triggers[_0x1e99d8]['model']]['hook'](triggers[_0x1e99d8][_0x65c0('0x32')],triggers[_0x1e99d8][_0x65c0('0x33')](triggers[_0x1e99d8]['channel'][_0x65c0('0x34')](),triggers[_0x1e99d8][_0x65c0('0x35')]));}}};