Built motion from commit (unavailable).|2.4.18
[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 _0x74df=['afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','newinteraction','Fax','FaxInteraction','MailInteraction','MailMessage','OpenchannelInteraction','Openchannel','OpenchannelMessage','request','then','info','EventManager','error','Trigger,\x20%s','get','channel','event','UserId','User','find','name','interface','format','incomingmessage','catch','outgoingmessage','opened','closed','SIP/%s','default','length','hasOwnProperty','model','hook','condition','util','jayson/promise','triggers','client','http','Chat','ChatInteraction','afterCreate'];(function(_0x26e780,_0x5465ba){var _0x2e9594=function(_0x5212df){while(--_0x5212df){_0x26e780['push'](_0x26e780['shift']());}};_0x2e9594(++_0x5465ba);}(_0x74df,0x8b));var _0xf74d=function(_0x479022,_0x51273b){_0x479022=_0x479022-0x0;var _0x496de1=_0x74df[_0x479022];return _0x496de1;};'use strict';var util=require(_0xf74d('0x0'));var db=require('../../mysqldb')['db'];var jayson=require(_0xf74d('0x1'));var logger=require('../logger')(_0xf74d('0x2'));var client=jayson[_0xf74d('0x3')][_0xf74d('0x4')]({'port':0x232a});var triggers=[{'channel':_0xf74d('0x5'),'model':_0xf74d('0x6'),'event':_0xf74d('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xf74d('0x5'),'model':'ChatInteraction','event':_0xf74d('0x8'),'condition':_0xf74d('0x9'),'callback':afterUpdate},{'channel':_0xf74d('0x5'),'model':_0xf74d('0xa'),'event':_0xf74d('0x7'),'condition':_0xf74d('0xb'),'callback':afterCreateMessage},{'channel':_0xf74d('0xc'),'model':_0xf74d('0xd'),'event':'afterCreate','condition':_0xf74d('0xe'),'callback':afterCreate},{'channel':_0xf74d('0xc'),'model':_0xf74d('0xd'),'event':'afterUpdate','condition':_0xf74d('0x9'),'callback':afterUpdate},{'channel':'Sms','model':'SmsMessage','event':_0xf74d('0x7'),'condition':_0xf74d('0xb'),'callback':afterCreateMessage},{'channel':_0xf74d('0xf'),'model':_0xf74d('0x10'),'event':_0xf74d('0x7'),'condition':_0xf74d('0xe'),'callback':afterCreate},{'channel':_0xf74d('0xf'),'model':_0xf74d('0x10'),'event':'afterUpdate','condition':_0xf74d('0x9'),'callback':afterUpdate},{'channel':'Fax','model':'FaxMessage','event':_0xf74d('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Mail','model':_0xf74d('0x11'),'event':_0xf74d('0x7'),'condition':_0xf74d('0xe'),'callback':afterCreate},{'channel':'Mail','model':_0xf74d('0x11'),'event':_0xf74d('0x8'),'condition':_0xf74d('0x9'),'callback':afterUpdate},{'channel':'Mail','model':_0xf74d('0x12'),'event':_0xf74d('0x7'),'condition':_0xf74d('0xb'),'callback':afterCreateMessage},{'channel':'Openchannel','model':_0xf74d('0x13'),'event':'afterCreate','condition':_0xf74d('0xe'),'callback':afterCreate},{'channel':_0xf74d('0x14'),'model':_0xf74d('0x13'),'event':_0xf74d('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xf74d('0x14'),'model':_0xf74d('0x15'),'event':_0xf74d('0x7'),'condition':_0xf74d('0xb'),'callback':afterCreateMessage}];function request(_0x20d982){return client[_0xf74d('0x16')]('EventManager',_0x20d982)[_0xf74d('0x17')](function(_0x9dc01b){logger[_0xf74d('0x18')]('Trigger,\x20%s',_0xf74d('0x19'),_0x9dc01b);if(_0x9dc01b[_0xf74d('0x1a')]){if(_0x9dc01b[_0xf74d('0x1a')]['code']===0x1f4){logger[_0xf74d('0x1a')]('Trigger,\x20%s',_0xf74d('0x19'),_0x9dc01b['error']);}}})['catch'](function(_0x440e5d){logger['error'](_0xf74d('0x1b'),_0xf74d('0x19'),_0x440e5d);});}function afterCreateMessage(_0x11bf92,_0x1c0031){return function(_0x22f26e,_0x1c5006){_0x22f26e=_0x22f26e[_0xf74d('0x1c')]({'plain':!![]});_0x22f26e[_0xf74d('0x1d')]=_0x11bf92;_0x22f26e[_0xf74d('0x1e')]=_0x22f26e['direction'];if(_0x22f26e[_0xf74d('0x1f')]){return db[_0xf74d('0x20')][_0xf74d('0x21')]({'where':{'id':_0x22f26e[_0xf74d('0x1f')]},'attributes':['id',_0xf74d('0x22')],'raw':!![]})[_0xf74d('0x17')](function(_0x210e4e){_0x22f26e[_0xf74d('0x23')]=util[_0xf74d('0x24')]('SIP/%s',_0x210e4e[_0xf74d('0x22')]);_0x22f26e[_0xf74d('0x1d')]=_0x11bf92;return request({'event':_0xf74d('0x25'),'message':_0x22f26e});})[_0xf74d('0x26')](function(_0x2ef792){console[_0xf74d('0x1a')](_0x2ef792);});}else{return request({'event':_0xf74d('0x27'),'message':_0x22f26e});}};}function afterCreate(_0x3a3654,_0x340aae){return function(_0x38a73f,_0x51a217){_0x38a73f=_0x38a73f['get']({'plain':!![]});_0x38a73f['channel']=_0x3a3654;_0x38a73f[_0xf74d('0x1e')]=_0xf74d('0x28');return request({'event':_0x340aae,'message':_0x38a73f});};}function afterUpdate(_0x228441,_0x116f56){return function(_0xe88dd,_0x3a0732){if(_0xe88dd['changed'](_0xf74d('0x29'))&&_0xe88dd[_0xf74d('0x29')]){_0xe88dd=_0xe88dd[_0xf74d('0x1c')]({'plain':!![]});_0xe88dd[_0xf74d('0x1d')]=_0x228441;_0xe88dd['event']=_0xf74d('0x29');if(_0xe88dd[_0xf74d('0x1f')]){return db[_0xf74d('0x20')][_0xf74d('0x21')]({'where':{'id':_0xe88dd[_0xf74d('0x1f')]},'attributes':['id',_0xf74d('0x22')],'raw':!![]})[_0xf74d('0x17')](function(_0x28c82a){_0xe88dd[_0xf74d('0x23')]=util[_0xf74d('0x24')](_0xf74d('0x2a'),_0x28c82a[_0xf74d('0x22')]);return request({'event':_0x116f56,'message':_0xe88dd});})[_0xf74d('0x26')](function(_0x4cbba2){console[_0xf74d('0x1a')](_0x4cbba2);});}else{return request({'event':_0x116f56,'message':_0xe88dd});}}};}exports[_0xf74d('0x2b')]=function(){for(var _0x5eced3=0x0;_0x5eced3<triggers[_0xf74d('0x2c')];_0x5eced3+=0x1){if(db[_0xf74d('0x2d')](triggers[_0x5eced3][_0xf74d('0x2e')])){db[triggers[_0x5eced3][_0xf74d('0x2e')]][_0xf74d('0x2f')](triggers[_0x5eced3]['event'],triggers[_0x5eced3]['callback'](triggers[_0x5eced3][_0xf74d('0x1d')]['toLowerCase'](),triggers[_0x5eced3][_0xf74d('0x30')]));}}};