Built motion from commit 3e059bc2.|2.5.32
[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 _0x3b6c=['Openchannel','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','code','catch','get','channel','event','direction','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','query','Sequelize','QueryTypes','SELECT','contact','User','find','name','fullname','internal','format','SIP/%s','agent','incomingmessage','outgoingmessage','opened','closed','UserId','email','default','length','hasOwnProperty','model','hook','callback','condition','../../mysqldb','jayson/promise','../logger','triggers','lodash','http','Chat','ChatInteraction','afterCreate','newinteraction','closedinteraction','newmessage','SmsInteraction','Sms','afterUpdate','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','FaxInteraction','Fax','FaxMessage','Mail','MailInteraction','MailMessage','OpenchannelInteraction'];(function(_0x8002f6,_0x17575e){var _0x8ef815=function(_0x107510){while(--_0x107510){_0x8002f6['push'](_0x8002f6['shift']());}};_0x8ef815(++_0x17575e);}(_0x3b6c,0x70));var _0xc3b6=function(_0x41ccda,_0x560f9c){_0x41ccda=_0x41ccda-0x0;var _0x475fd9=_0x3b6c[_0x41ccda];return _0x475fd9;};'use strict';var util=require('util');var db=require(_0xc3b6('0x0'))['db'];var jayson=require(_0xc3b6('0x1'));var logger=require(_0xc3b6('0x2'))(_0xc3b6('0x3'));var _=require(_0xc3b6('0x4'));var client=jayson['client'][_0xc3b6('0x5')]({'port':0x232a});var triggers=[{'channel':_0xc3b6('0x6'),'model':_0xc3b6('0x7'),'event':_0xc3b6('0x8'),'condition':_0xc3b6('0x9'),'callback':afterCreate},{'channel':'Chat','model':_0xc3b6('0x7'),'event':'afterUpdate','condition':_0xc3b6('0xa'),'callback':afterUpdate},{'channel':'Chat','model':'ChatMessage','event':_0xc3b6('0x8'),'condition':_0xc3b6('0xb'),'callback':afterCreateMessage},{'channel':'Sms','model':_0xc3b6('0xc'),'event':_0xc3b6('0x8'),'condition':_0xc3b6('0x9'),'callback':afterCreate},{'channel':_0xc3b6('0xd'),'model':_0xc3b6('0xc'),'event':_0xc3b6('0xe'),'condition':_0xc3b6('0xa'),'callback':afterUpdate},{'channel':_0xc3b6('0xd'),'model':_0xc3b6('0xf'),'event':'afterCreate','condition':_0xc3b6('0xb'),'callback':afterCreateMessage},{'channel':_0xc3b6('0x10'),'model':_0xc3b6('0x11'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0xc3b6('0x10'),'model':_0xc3b6('0x11'),'event':_0xc3b6('0xe'),'condition':_0xc3b6('0xa'),'callback':afterUpdate},{'channel':_0xc3b6('0x10'),'model':_0xc3b6('0x12'),'event':_0xc3b6('0x8'),'condition':_0xc3b6('0xb'),'callback':afterCreateMessage},{'channel':'Fax','model':_0xc3b6('0x13'),'event':_0xc3b6('0x8'),'condition':_0xc3b6('0x9'),'callback':afterCreate},{'channel':_0xc3b6('0x14'),'model':_0xc3b6('0x13'),'event':_0xc3b6('0xe'),'condition':'closedinteraction','callback':afterUpdate},{'channel':'Fax','model':_0xc3b6('0x15'),'event':_0xc3b6('0x8'),'condition':_0xc3b6('0xb'),'callback':afterCreateMessage},{'channel':_0xc3b6('0x16'),'model':_0xc3b6('0x17'),'event':'afterCreate','condition':_0xc3b6('0x9'),'callback':afterCreate},{'channel':_0xc3b6('0x16'),'model':_0xc3b6('0x17'),'event':_0xc3b6('0xe'),'condition':_0xc3b6('0xa'),'callback':afterUpdate},{'channel':'Mail','model':_0xc3b6('0x18'),'event':_0xc3b6('0x8'),'condition':_0xc3b6('0xb'),'callback':afterCreateMessage},{'channel':'Openchannel','model':_0xc3b6('0x19'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0xc3b6('0x1a'),'model':_0xc3b6('0x19'),'event':_0xc3b6('0xe'),'condition':_0xc3b6('0xa'),'callback':afterUpdate},{'channel':_0xc3b6('0x1a'),'model':_0xc3b6('0x1b'),'event':_0xc3b6('0x8'),'condition':_0xc3b6('0xb'),'callback':afterCreateMessage}];function request(_0xaf726d){return client[_0xc3b6('0x1c')](_0xc3b6('0x1d'),_0xaf726d)[_0xc3b6('0x1e')](function(_0x388b74){logger[_0xc3b6('0x1f')](_0xc3b6('0x20'),_0xc3b6('0x1d'),_0x388b74);if(_0x388b74[_0xc3b6('0x21')]){if(_0x388b74['error'][_0xc3b6('0x22')]===0x1f4){logger['error'](_0xc3b6('0x20'),_0xc3b6('0x1d'),_0x388b74[_0xc3b6('0x21')]);}}})[_0xc3b6('0x23')](function(_0x48bf71){logger['error'](_0xc3b6('0x20'),_0xc3b6('0x1d'),_0x48bf71);});}function afterCreateMessage(_0x457a80,_0x471046){return function(_0x496feb,_0x46a151){_0x496feb=_0x496feb[_0xc3b6('0x24')]({'plain':!![]});_0x496feb[_0xc3b6('0x25')]=_0x457a80;_0x496feb[_0xc3b6('0x26')]=_0x496feb[_0xc3b6('0x27')];var _0x5c44b7=_0xc3b6('0x28')+_0x496feb[_0xc3b6('0x29')];return db[_0xc3b6('0x2a')][_0xc3b6('0x2b')](_0x5c44b7,{'type':db[_0xc3b6('0x2c')][_0xc3b6('0x2d')][_0xc3b6('0x2e')],'raw':!![]})[_0xc3b6('0x1e')](function(_0x4beaea){return _0x4beaea;})[_0xc3b6('0x1e')](function(_0x432e1a){if(_0x432e1a){_0x496feb[_0xc3b6('0x2f')]=_0x432e1a[0x0];}if(_0x496feb['UserId']){return db[_0xc3b6('0x30')][_0xc3b6('0x31')]({'where':{'id':_0x496feb['UserId']},'attributes':['id',_0xc3b6('0x32'),_0xc3b6('0x33'),'email',_0xc3b6('0x34')],'raw':!![]})[_0xc3b6('0x1e')](function(_0x3cd5a7){_0x496feb['interface']=util[_0xc3b6('0x35')](_0xc3b6('0x36'),_0x3cd5a7[_0xc3b6('0x32')]);_0x496feb['channel']=_0x457a80;_0x496feb[_0xc3b6('0x37')]=_0x3cd5a7;return request({'event':_0xc3b6('0x38'),'message':_0x496feb});})[_0xc3b6('0x23')](function(_0x9b5a26){console['error'](_0x9b5a26);});}else{return request({'event':_0xc3b6('0x39'),'message':_0x496feb});}});};}function afterCreate(_0x1fe860,_0x4028d0){return function(_0x206207,_0x7c26ab){_0x206207=_0x206207['get']({'plain':!![]});_0x206207[_0xc3b6('0x25')]=_0x1fe860;_0x206207[_0xc3b6('0x26')]=_0xc3b6('0x3a');var _0x5a9b84=_0xc3b6('0x28')+_0x206207[_0xc3b6('0x29')];return db[_0xc3b6('0x2a')][_0xc3b6('0x2b')](_0x5a9b84,{'type':db[_0xc3b6('0x2c')][_0xc3b6('0x2d')]['SELECT'],'raw':!![]})[_0xc3b6('0x1e')](function(_0x392404){return _0x392404;})[_0xc3b6('0x1e')](function(_0x28f35c){if(_0x28f35c){_0x206207[_0xc3b6('0x2f')]=_0x28f35c[0x0];}return request({'event':_0x4028d0,'message':_0x206207});});};}function afterUpdate(_0x197b49,_0x47046a){return function(_0x8c4883,_0x313c25){if(_0x8c4883['changed'](_0xc3b6('0x3b'))&&_0x8c4883[_0xc3b6('0x3b')]){_0x8c4883=_0x8c4883[_0xc3b6('0x24')]({'plain':!![]});_0x8c4883[_0xc3b6('0x25')]=_0x197b49;_0x8c4883[_0xc3b6('0x26')]=_0xc3b6('0x3b');var _0x1b3de8='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x8c4883[_0xc3b6('0x29')];return db[_0xc3b6('0x2a')][_0xc3b6('0x2b')](_0x1b3de8,{'type':db[_0xc3b6('0x2c')][_0xc3b6('0x2d')][_0xc3b6('0x2e')],'raw':!![]})['then'](function(_0x2630a9){return _0x2630a9;})[_0xc3b6('0x1e')](function(_0x16112c){if(_0x16112c){_0x8c4883['contact']=_0x16112c[0x0];}if(_0x8c4883[_0xc3b6('0x3c')]){return db[_0xc3b6('0x30')][_0xc3b6('0x31')]({'where':{'id':_0x8c4883[_0xc3b6('0x3c')]},'attributes':['id',_0xc3b6('0x32'),_0xc3b6('0x33'),_0xc3b6('0x3d'),_0xc3b6('0x34')],'raw':!![]})[_0xc3b6('0x1e')](function(_0x55d3d3){_0x8c4883['interface']=util[_0xc3b6('0x35')](_0xc3b6('0x36'),_0x55d3d3['name']);_0x8c4883[_0xc3b6('0x37')]=_0x55d3d3;return request({'event':_0x47046a,'message':_0x8c4883});})[_0xc3b6('0x23')](function(_0x1aeccf){console[_0xc3b6('0x21')](_0x1aeccf);});}else{return request({'event':_0x47046a,'message':_0x8c4883});}});}};}exports[_0xc3b6('0x3e')]=function(){for(var _0x291ca3=0x0;_0x291ca3<triggers[_0xc3b6('0x3f')];_0x291ca3+=0x1){if(db[_0xc3b6('0x40')](triggers[_0x291ca3]['model'])){db[triggers[_0x291ca3][_0xc3b6('0x41')]][_0xc3b6('0x42')](triggers[_0x291ca3]['event'],triggers[_0x291ca3][_0xc3b6('0x43')](triggers[_0x291ca3][_0xc3b6('0x25')]['toLowerCase'](),triggers[_0x291ca3][_0xc3b6('0x44')]));}}};