80f2dd61739089da56ccf41f4c83fc7dbc6cb512
[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 _0x3754=['callback','toLowerCase','util','../../mysqldb','jayson/promise','../logger','http','ChatInteraction','afterCreate','Chat','afterUpdate','ChatMessage','newmessage','Sms','newinteraction','SmsInteraction','closedinteraction','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','request','EventManager','then','info','Trigger,\x20%s','error','code','catch','get','channel','event','direction','UserId','User','find','name','interface','format','SIP/%s','incomingmessage','outgoingmessage','opened','closed','default','length','hasOwnProperty','model','hook'];(function(_0x1d9c84,_0x172781){var _0x301c1f=function(_0x1f06a8){while(--_0x1f06a8){_0x1d9c84['push'](_0x1d9c84['shift']());}};_0x301c1f(++_0x172781);}(_0x3754,0x72));var _0x4375=function(_0x2577a9,_0x5a8b84){_0x2577a9=_0x2577a9-0x0;var _0x2f86ef=_0x3754[_0x2577a9];return _0x2f86ef;};'use strict';var util=require(_0x4375('0x0'));var db=require(_0x4375('0x1'))['db'];var jayson=require(_0x4375('0x2'));var logger=require(_0x4375('0x3'))('triggers');var client=jayson['client'][_0x4375('0x4')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0x4375('0x5'),'event':_0x4375('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x4375('0x7'),'model':_0x4375('0x5'),'event':_0x4375('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x4375('0x7'),'model':_0x4375('0x9'),'event':_0x4375('0x6'),'condition':_0x4375('0xa'),'callback':afterCreateMessage},{'channel':_0x4375('0xb'),'model':'SmsInteraction','event':_0x4375('0x6'),'condition':_0x4375('0xc'),'callback':afterCreate},{'channel':_0x4375('0xb'),'model':_0x4375('0xd'),'event':_0x4375('0x8'),'condition':_0x4375('0xe'),'callback':afterUpdate},{'channel':_0x4375('0xb'),'model':'SmsMessage','event':_0x4375('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x4375('0xf'),'model':_0x4375('0x10'),'event':_0x4375('0x6'),'condition':_0x4375('0xc'),'callback':afterCreate},{'channel':_0x4375('0xf'),'model':'WhatsappInteraction','event':'afterUpdate','condition':_0x4375('0xe'),'callback':afterUpdate},{'channel':_0x4375('0xf'),'model':_0x4375('0x11'),'event':_0x4375('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x4375('0x12'),'model':_0x4375('0x13'),'event':_0x4375('0x6'),'condition':_0x4375('0xc'),'callback':afterCreate},{'channel':_0x4375('0x12'),'model':_0x4375('0x13'),'event':_0x4375('0x8'),'condition':_0x4375('0xe'),'callback':afterUpdate},{'channel':_0x4375('0x12'),'model':_0x4375('0x14'),'event':'afterCreate','condition':_0x4375('0xa'),'callback':afterCreateMessage},{'channel':_0x4375('0x15'),'model':_0x4375('0x16'),'event':'afterCreate','condition':_0x4375('0xc'),'callback':afterCreate},{'channel':_0x4375('0x15'),'model':'MailInteraction','event':_0x4375('0x8'),'condition':_0x4375('0xe'),'callback':afterUpdate},{'channel':_0x4375('0x15'),'model':_0x4375('0x17'),'event':_0x4375('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x4375('0x18'),'model':_0x4375('0x19'),'event':_0x4375('0x6'),'condition':_0x4375('0xc'),'callback':afterCreate},{'channel':_0x4375('0x18'),'model':_0x4375('0x19'),'event':'afterUpdate','condition':_0x4375('0xe'),'callback':afterUpdate},{'channel':_0x4375('0x18'),'model':'OpenchannelMessage','event':_0x4375('0x6'),'condition':_0x4375('0xa'),'callback':afterCreateMessage}];function request(_0x1a21cb){return client[_0x4375('0x1a')](_0x4375('0x1b'),_0x1a21cb)[_0x4375('0x1c')](function(_0x470602){logger[_0x4375('0x1d')](_0x4375('0x1e'),'EventManager',_0x470602);if(_0x470602[_0x4375('0x1f')]){if(_0x470602[_0x4375('0x1f')][_0x4375('0x20')]===0x1f4){logger[_0x4375('0x1f')](_0x4375('0x1e'),_0x4375('0x1b'),_0x470602[_0x4375('0x1f')]);}}})[_0x4375('0x21')](function(_0x1d5547){logger[_0x4375('0x1f')](_0x4375('0x1e'),_0x4375('0x1b'),_0x1d5547);});}function afterCreateMessage(_0x4589d8,_0x5f10a3){return function(_0x5e7772,_0x5cbaef){_0x5e7772=_0x5e7772[_0x4375('0x22')]({'plain':!![]});_0x5e7772[_0x4375('0x23')]=_0x4589d8;_0x5e7772[_0x4375('0x24')]=_0x5e7772[_0x4375('0x25')];if(_0x5e7772[_0x4375('0x26')]){return db[_0x4375('0x27')][_0x4375('0x28')]({'where':{'id':_0x5e7772['UserId']},'attributes':['id',_0x4375('0x29')],'raw':!![]})[_0x4375('0x1c')](function(_0x56e36d){_0x5e7772[_0x4375('0x2a')]=util[_0x4375('0x2b')](_0x4375('0x2c'),_0x56e36d[_0x4375('0x29')]);_0x5e7772['channel']=_0x4589d8;return request({'event':_0x4375('0x2d'),'message':_0x5e7772});})[_0x4375('0x21')](function(_0x334cfc){console['error'](_0x334cfc);});}else{return request({'event':_0x4375('0x2e'),'message':_0x5e7772});}};}function afterCreate(_0x2b5796,_0x468170){return function(_0x1901c2,_0x195646){_0x1901c2=_0x1901c2[_0x4375('0x22')]({'plain':!![]});_0x1901c2[_0x4375('0x23')]=_0x2b5796;_0x1901c2[_0x4375('0x24')]=_0x4375('0x2f');return request({'event':_0x468170,'message':_0x1901c2});};}function afterUpdate(_0x2396cc,_0x3422f5){return function(_0x4dd498,_0x1d5530){if(_0x4dd498['changed'](_0x4375('0x30'))&&_0x4dd498[_0x4375('0x30')]){_0x4dd498=_0x4dd498['get']({'plain':!![]});_0x4dd498[_0x4375('0x23')]=_0x2396cc;_0x4dd498[_0x4375('0x24')]=_0x4375('0x30');if(_0x4dd498[_0x4375('0x26')]){return db['User'][_0x4375('0x28')]({'where':{'id':_0x4dd498[_0x4375('0x26')]},'attributes':['id',_0x4375('0x29')],'raw':!![]})[_0x4375('0x1c')](function(_0x1867f2){_0x4dd498[_0x4375('0x2a')]=util['format'](_0x4375('0x2c'),_0x1867f2[_0x4375('0x29')]);return request({'event':_0x3422f5,'message':_0x4dd498});})[_0x4375('0x21')](function(_0x492c80){console['error'](_0x492c80);});}else{return request({'event':_0x3422f5,'message':_0x4dd498});}}};}exports[_0x4375('0x31')]=function(){for(var _0x30f678=0x0;_0x30f678<triggers[_0x4375('0x32')];_0x30f678+=0x1){if(db[_0x4375('0x33')](triggers[_0x30f678][_0x4375('0x34')])){db[triggers[_0x30f678]['model']][_0x4375('0x35')](triggers[_0x30f678][_0x4375('0x24')],triggers[_0x30f678][_0x4375('0x36')](triggers[_0x30f678][_0x4375('0x23')][_0x4375('0x37')](),triggers[_0x30f678]['condition']));}}};