efc9e902b6100044f7d2123f5e569019a31a16f8
[motion2.git] / server / components / interaction / service.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 _0xff98=['fax','mobile','../../mysqldb','../../config/logger','openchannel-interactions','whatsapp-interactions','upperFirst','InteractionId','unknown','name','role','stringify','Interaction','then','update','catch','user','clone','body','omit','html','phone'];(function(_0x415308,_0x3889b8){var _0x4ee3e9=function(_0x1f4395){while(--_0x1f4395){_0x415308['push'](_0x415308['shift']());}};_0x4ee3e9(++_0x3889b8);}(_0xff98,0x9c));var _0x8ff9=function(_0x4bcaf7,_0x1e770f){_0x4bcaf7=_0x4bcaf7-0x0;var _0x59c33d=_0xff98[_0x4bcaf7];return _0x59c33d;};'use strict';var _=require('lodash');var db=require(_0x8ff9('0x0'))['db'];var loggers={'openchannel':require(_0x8ff9('0x1'))(_0x8ff9('0x2')),'mail':require(_0x8ff9('0x1'))('mail-interactions'),'fax':require(_0x8ff9('0x1'))('fax-interactions'),'sms':require(_0x8ff9('0x1'))('sms-interactions'),'chat':require(_0x8ff9('0x1'))('chat-interactions'),'whatsapp':require(_0x8ff9('0x1'))(_0x8ff9('0x3'))};function getInteractionId(_0x4122b2,_0x3e6002,_0x280acf){if(_0x4122b2&&_0x4122b2[_[_0x8ff9('0x4')](_0x280acf)+_0x8ff9('0x5')]){return _0x4122b2[_[_0x8ff9('0x4')](_0x280acf)+'InteractionId'];}else if(_0x4122b2&&_0x4122b2['id']){return _0x4122b2['id'];}else if(_0x3e6002&&_0x3e6002['id']){return _0x3e6002['id'];}else{return _0x8ff9('0x6');}}function log(_0x267a67,_0x1bab3d,_0x725644,_0xee279a,_0x3bab13,_0x177f72){loggers[_0x3bab13['toLowerCase']()][_0x267a67]('[%s]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x177f72['toUpperCase'](),_0x1bab3d?_0x1bab3d['id']:null,_0x1bab3d?_0x1bab3d[_0x8ff9('0x7')]:null,_0x1bab3d?_0x1bab3d[_0x8ff9('0x8')]:null,getInteractionId(_0x725644,_0xee279a,_0x3bab13),_0x725644?JSON[_0x8ff9('0x9')](_0x725644):'null');}function updateUser(_0x3c655c,_0x79efb,_0x24798a,_0x2e2a89,_0x405aac){db[_[_0x8ff9('0x4')](_0x2e2a89)+_0x8ff9('0xa')]['findOne']({'where':{'id':getInteractionId(_0x79efb,_0x24798a,_0x2e2a89)}})[_0x8ff9('0xb')](function(_0x25ca31){if(_0x25ca31){return _0x25ca31[_0x8ff9('0xc')]({'UserId':_0x3c655c?_0x3c655c['id']:null});}})['then'](function(_0x42e911){if(_0x42e911){log('info',_0x3c655c,_0x79efb,_0x24798a,_0x2e2a89,_0x405aac);}})[_0x8ff9('0xd')](function(){log('error',_0x3c655c,_0x79efb,_0x24798a,_0x2e2a89,_0x405aac);});}exports['tracked']=function(_0x4b321a,_0x5745ff){return function(_0x20d149,_0x2dedbc,_0xad903b){var _0x406bc8=_0x20d149[_0x8ff9('0xe')];var _0x23664d={};var _0x34390b=_0x20d149['query'];if(_0x23664d){_0x23664d=_[_0x8ff9('0xf')](_0x20d149[_0x8ff9('0x10')]);_0x23664d=_[_0x8ff9('0x11')](_0x23664d,['body',_0x8ff9('0x12'),_0x8ff9('0x13'),_0x8ff9('0x14'),_0x8ff9('0x15')]);}updateUser(_0x406bc8,_0x23664d,_0x34390b,_0x4b321a,_0x5745ff);_0xad903b(null);};};