Built motion from commit db94841.|2.5.3
[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 _0x4dca=['util','../../mysqldb','jayson/promise','triggers','client','http','ChatInteraction','afterCreate','Chat','afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappInteraction','newinteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','MailInteraction','Mail','MailMessage','OpenchannelInteraction','Openchannel','OpenchannelMessage','EventManager','then','info','Trigger,\x20%s','error','catch','get','channel','event','direction','UserId','User','find','interface','format','SIP/%s','name','incomingmessage','changed','closed','default','length','hasOwnProperty','model','hook','callback','condition'];(function(_0x4f02a5,_0x154972){var _0x23ca4f=function(_0x2fd579){while(--_0x2fd579){_0x4f02a5['push'](_0x4f02a5['shift']());}};_0x23ca4f(++_0x154972);}(_0x4dca,0x1c0));var _0xa4dc=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x4dca[_0x20a584];return _0x4b41a8;};'use strict';var util=require(_0xa4dc('0x0'));var db=require(_0xa4dc('0x1'))['db'];var jayson=require(_0xa4dc('0x2'));var logger=require('../logger')(_0xa4dc('0x3'));var client=jayson[_0xa4dc('0x4')][_0xa4dc('0x5')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0xa4dc('0x6'),'event':_0xa4dc('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xa4dc('0x8'),'model':'ChatInteraction','event':_0xa4dc('0x9'),'condition':_0xa4dc('0xa'),'callback':afterUpdate},{'channel':_0xa4dc('0x8'),'model':_0xa4dc('0xb'),'event':'afterCreate','condition':_0xa4dc('0xc'),'callback':afterCreateMessage},{'channel':_0xa4dc('0xd'),'model':'SmsInteraction','event':_0xa4dc('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':'Sms','model':_0xa4dc('0xe'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0xa4dc('0xd'),'model':_0xa4dc('0xf'),'event':_0xa4dc('0x7'),'condition':_0xa4dc('0xc'),'callback':afterCreateMessage},{'channel':_0xa4dc('0x10'),'model':_0xa4dc('0x11'),'event':_0xa4dc('0x7'),'condition':_0xa4dc('0x12'),'callback':afterCreate},{'channel':_0xa4dc('0x10'),'model':'WhatsappInteraction','event':_0xa4dc('0x9'),'condition':_0xa4dc('0xa'),'callback':afterUpdate},{'channel':_0xa4dc('0x10'),'model':_0xa4dc('0x13'),'event':_0xa4dc('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa4dc('0x14'),'model':_0xa4dc('0x15'),'event':_0xa4dc('0x7'),'condition':_0xa4dc('0x12'),'callback':afterCreate},{'channel':'Fax','model':_0xa4dc('0x15'),'event':_0xa4dc('0x9'),'condition':_0xa4dc('0xa'),'callback':afterUpdate},{'channel':'Fax','model':_0xa4dc('0x16'),'event':_0xa4dc('0x7'),'condition':_0xa4dc('0xc'),'callback':afterCreateMessage},{'channel':'Mail','model':_0xa4dc('0x17'),'event':_0xa4dc('0x7'),'condition':_0xa4dc('0x12'),'callback':afterCreate},{'channel':'Mail','model':'MailInteraction','event':_0xa4dc('0x9'),'condition':_0xa4dc('0xa'),'callback':afterUpdate},{'channel':_0xa4dc('0x18'),'model':_0xa4dc('0x19'),'event':_0xa4dc('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Openchannel','model':_0xa4dc('0x1a'),'event':_0xa4dc('0x7'),'condition':_0xa4dc('0x12'),'callback':afterCreate},{'channel':_0xa4dc('0x1b'),'model':_0xa4dc('0x1a'),'event':_0xa4dc('0x9'),'condition':_0xa4dc('0xa'),'callback':afterUpdate},{'channel':'Openchannel','model':_0xa4dc('0x1c'),'event':'afterCreate','condition':_0xa4dc('0xc'),'callback':afterCreateMessage}];function request(_0x1ba159){return client['request'](_0xa4dc('0x1d'),_0x1ba159)[_0xa4dc('0x1e')](function(_0x437087){logger[_0xa4dc('0x1f')](_0xa4dc('0x20'),_0xa4dc('0x1d'),_0x437087);if(_0x437087[_0xa4dc('0x21')]){if(_0x437087['error']['code']===0x1f4){logger[_0xa4dc('0x21')](_0xa4dc('0x20'),'EventManager',_0x437087[_0xa4dc('0x21')]);}}})[_0xa4dc('0x22')](function(_0xfc5502){logger[_0xa4dc('0x21')](_0xa4dc('0x20'),_0xa4dc('0x1d'),_0xfc5502);});}function afterCreateMessage(_0x1c4bb9,_0xf8d27b){return function(_0x1f47cf,_0x1e3858){_0x1f47cf=_0x1f47cf[_0xa4dc('0x23')]({'plain':!![]});_0x1f47cf[_0xa4dc('0x24')]=_0x1c4bb9;_0x1f47cf[_0xa4dc('0x25')]=_0x1f47cf[_0xa4dc('0x26')];if(_0x1f47cf[_0xa4dc('0x27')]){return db[_0xa4dc('0x28')][_0xa4dc('0x29')]({'where':{'id':_0x1f47cf['UserId']},'attributes':['id','name'],'raw':!![]})[_0xa4dc('0x1e')](function(_0x161d03){_0x1f47cf[_0xa4dc('0x2a')]=util[_0xa4dc('0x2b')](_0xa4dc('0x2c'),_0x161d03[_0xa4dc('0x2d')]);_0x1f47cf[_0xa4dc('0x24')]=_0x1c4bb9;return request({'event':_0xa4dc('0x2e'),'message':_0x1f47cf});})[_0xa4dc('0x22')](function(_0x1b382c){console['error'](_0x1b382c);});}else{return request({'event':'outgoingmessage','message':_0x1f47cf});}};}function afterCreate(_0x2bb64f,_0x1ea7b0){return function(_0x4de01c,_0x380a2c){_0x4de01c=_0x4de01c['get']({'plain':!![]});_0x4de01c[_0xa4dc('0x24')]=_0x2bb64f;_0x4de01c[_0xa4dc('0x25')]='opened';return request({'event':_0x1ea7b0,'message':_0x4de01c});};}function afterUpdate(_0x3d2e3b,_0x27b0ec){return function(_0xf0b9f5,_0xae8028){if(_0xf0b9f5[_0xa4dc('0x2f')]('closed')&&_0xf0b9f5[_0xa4dc('0x30')]){_0xf0b9f5=_0xf0b9f5['get']({'plain':!![]});_0xf0b9f5[_0xa4dc('0x24')]=_0x3d2e3b;_0xf0b9f5[_0xa4dc('0x25')]=_0xa4dc('0x30');if(_0xf0b9f5[_0xa4dc('0x27')]){return db[_0xa4dc('0x28')]['find']({'where':{'id':_0xf0b9f5['UserId']},'attributes':['id','name'],'raw':!![]})['then'](function(_0xdd789d){_0xf0b9f5[_0xa4dc('0x2a')]=util[_0xa4dc('0x2b')](_0xa4dc('0x2c'),_0xdd789d[_0xa4dc('0x2d')]);return request({'event':_0x27b0ec,'message':_0xf0b9f5});})[_0xa4dc('0x22')](function(_0x49307a){console[_0xa4dc('0x21')](_0x49307a);});}else{return request({'event':_0x27b0ec,'message':_0xf0b9f5});}}};}exports[_0xa4dc('0x31')]=function(){for(var _0x38dc8a=0x0;_0x38dc8a<triggers[_0xa4dc('0x32')];_0x38dc8a+=0x1){if(db[_0xa4dc('0x33')](triggers[_0x38dc8a]['model'])){db[triggers[_0x38dc8a][_0xa4dc('0x34')]][_0xa4dc('0x35')](triggers[_0x38dc8a][_0xa4dc('0x25')],triggers[_0x38dc8a][_0xa4dc('0x36')](triggers[_0x38dc8a][_0xa4dc('0x24')]['toLowerCase'](),triggers[_0x38dc8a][_0xa4dc('0x37')]));}}};