Built motion from commit (unavailable).|2.5.14
[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 _0x5898=['condition','util','../../mysqldb','jayson/promise','../logger','triggers','client','http','ChatInteraction','afterCreate','newinteraction','closedinteraction','Chat','Sms','SmsInteraction','afterUpdate','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','newmessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','code','catch','get','channel','event','direction','UserId','User','find','name','interface','format','incomingmessage','opened','changed','closed','default','model','hook','callback','toLowerCase'];(function(_0x58370d,_0x204d5c){var _0x288862=function(_0x40df7e){while(--_0x40df7e){_0x58370d['push'](_0x58370d['shift']());}};_0x288862(++_0x204d5c);}(_0x5898,0x157));var _0x8589=function(_0x21a2da,_0x9f4c2b){_0x21a2da=_0x21a2da-0x0;var _0x3ff5da=_0x5898[_0x21a2da];return _0x3ff5da;};'use strict';var util=require(_0x8589('0x0'));var db=require(_0x8589('0x1'))['db'];var jayson=require(_0x8589('0x2'));var logger=require(_0x8589('0x3'))(_0x8589('0x4'));var client=jayson[_0x8589('0x5')][_0x8589('0x6')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0x8589('0x7'),'event':_0x8589('0x8'),'condition':_0x8589('0x9'),'callback':afterCreate},{'channel':'Chat','model':_0x8589('0x7'),'event':'afterUpdate','condition':_0x8589('0xa'),'callback':afterUpdate},{'channel':_0x8589('0xb'),'model':'ChatMessage','event':_0x8589('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x8589('0xc'),'model':_0x8589('0xd'),'event':_0x8589('0x8'),'condition':_0x8589('0x9'),'callback':afterCreate},{'channel':'Sms','model':_0x8589('0xd'),'event':_0x8589('0xe'),'condition':_0x8589('0xa'),'callback':afterUpdate},{'channel':'Sms','model':_0x8589('0xf'),'event':_0x8589('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x8589('0x10'),'model':_0x8589('0x11'),'event':'afterCreate','condition':_0x8589('0x9'),'callback':afterCreate},{'channel':_0x8589('0x10'),'model':_0x8589('0x11'),'event':'afterUpdate','condition':_0x8589('0xa'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0x8589('0x12'),'event':'afterCreate','condition':_0x8589('0x13'),'callback':afterCreateMessage},{'channel':_0x8589('0x14'),'model':'FaxInteraction','event':_0x8589('0x8'),'condition':_0x8589('0x9'),'callback':afterCreate},{'channel':_0x8589('0x14'),'model':_0x8589('0x15'),'event':'afterUpdate','condition':_0x8589('0xa'),'callback':afterUpdate},{'channel':_0x8589('0x14'),'model':_0x8589('0x16'),'event':'afterCreate','condition':_0x8589('0x13'),'callback':afterCreateMessage},{'channel':_0x8589('0x17'),'model':_0x8589('0x18'),'event':'afterCreate','condition':_0x8589('0x9'),'callback':afterCreate},{'channel':'Mail','model':_0x8589('0x18'),'event':'afterUpdate','condition':_0x8589('0xa'),'callback':afterUpdate},{'channel':'Mail','model':_0x8589('0x19'),'event':'afterCreate','condition':_0x8589('0x13'),'callback':afterCreateMessage},{'channel':_0x8589('0x1a'),'model':_0x8589('0x1b'),'event':_0x8589('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x8589('0x1a'),'model':_0x8589('0x1b'),'event':_0x8589('0xe'),'condition':_0x8589('0xa'),'callback':afterUpdate},{'channel':_0x8589('0x1a'),'model':_0x8589('0x1c'),'event':_0x8589('0x8'),'condition':'newmessage','callback':afterCreateMessage}];function request(_0x40d1b3){return client[_0x8589('0x1d')](_0x8589('0x1e'),_0x40d1b3)[_0x8589('0x1f')](function(_0x5581dc){logger[_0x8589('0x20')](_0x8589('0x21'),_0x8589('0x1e'),_0x5581dc);if(_0x5581dc['error']){if(_0x5581dc[_0x8589('0x22')][_0x8589('0x23')]===0x1f4){logger[_0x8589('0x22')](_0x8589('0x21'),_0x8589('0x1e'),_0x5581dc[_0x8589('0x22')]);}}})[_0x8589('0x24')](function(_0x15e9df){logger[_0x8589('0x22')](_0x8589('0x21'),_0x8589('0x1e'),_0x15e9df);});}function afterCreateMessage(_0x3e3fc3,_0x57b709){return function(_0x5e2045,_0x21dc31){_0x5e2045=_0x5e2045[_0x8589('0x25')]({'plain':!![]});_0x5e2045[_0x8589('0x26')]=_0x3e3fc3;_0x5e2045[_0x8589('0x27')]=_0x5e2045[_0x8589('0x28')];if(_0x5e2045[_0x8589('0x29')]){return db[_0x8589('0x2a')][_0x8589('0x2b')]({'where':{'id':_0x5e2045[_0x8589('0x29')]},'attributes':['id',_0x8589('0x2c')],'raw':!![]})[_0x8589('0x1f')](function(_0x2ba34d){_0x5e2045[_0x8589('0x2d')]=util[_0x8589('0x2e')]('SIP/%s',_0x2ba34d[_0x8589('0x2c')]);_0x5e2045[_0x8589('0x26')]=_0x3e3fc3;return request({'event':_0x8589('0x2f'),'message':_0x5e2045});})[_0x8589('0x24')](function(_0x58515c){console[_0x8589('0x22')](_0x58515c);});}else{return request({'event':'outgoingmessage','message':_0x5e2045});}};}function afterCreate(_0x5b80fd,_0x34b70c){return function(_0x41d5b8,_0x2651c9){_0x41d5b8=_0x41d5b8['get']({'plain':!![]});_0x41d5b8[_0x8589('0x26')]=_0x5b80fd;_0x41d5b8[_0x8589('0x27')]=_0x8589('0x30');return request({'event':_0x34b70c,'message':_0x41d5b8});};}function afterUpdate(_0x7b981d,_0x584112){return function(_0x5299d9,_0x25615a){if(_0x5299d9[_0x8589('0x31')](_0x8589('0x32'))&&_0x5299d9[_0x8589('0x32')]){_0x5299d9=_0x5299d9[_0x8589('0x25')]({'plain':!![]});_0x5299d9[_0x8589('0x26')]=_0x7b981d;_0x5299d9[_0x8589('0x27')]='closed';if(_0x5299d9[_0x8589('0x29')]){return db[_0x8589('0x2a')][_0x8589('0x2b')]({'where':{'id':_0x5299d9[_0x8589('0x29')]},'attributes':['id','name'],'raw':!![]})['then'](function(_0x3a9b77){_0x5299d9['interface']=util[_0x8589('0x2e')]('SIP/%s',_0x3a9b77[_0x8589('0x2c')]);return request({'event':_0x584112,'message':_0x5299d9});})[_0x8589('0x24')](function(_0x585bed){console['error'](_0x585bed);});}else{return request({'event':_0x584112,'message':_0x5299d9});}}};}exports[_0x8589('0x33')]=function(){for(var _0x27db06=0x0;_0x27db06<triggers['length'];_0x27db06+=0x1){if(db['hasOwnProperty'](triggers[_0x27db06][_0x8589('0x34')])){db[triggers[_0x27db06]['model']][_0x8589('0x35')](triggers[_0x27db06][_0x8589('0x27')],triggers[_0x27db06][_0x8589('0x36')](triggers[_0x27db06][_0x8589('0x26')][_0x8589('0x37')](),triggers[_0x27db06][_0x8589('0x38')]));}}};