99975fa4b782125038b3e62ddf79bf2fc9411036
[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 _0xc457=['then','update','catch','tracked','clone','body','html','fax','mobile','lodash','../../mysqldb','../../config/logger','openchannel-interactions','mail-interactions','fax-interactions','sms-interactions','chat-interactions','InteractionId','unknown','toUpperCase','role','stringify','null'];(function(_0xce29a4,_0x55bd9a){var _0x33fd9f=function(_0x2f2699){while(--_0x2f2699){_0xce29a4['push'](_0xce29a4['shift']());}};_0x33fd9f(++_0x55bd9a);}(_0xc457,0x190));var _0x7c45=function(_0x24fe76,_0x27e4de){_0x24fe76=_0x24fe76-0x0;var _0x42dd45=_0xc457[_0x24fe76];return _0x42dd45;};'use strict';var _=require(_0x7c45('0x0'));var db=require(_0x7c45('0x1'))['db'];var loggers={'openchannel':require(_0x7c45('0x2'))(_0x7c45('0x3')),'mail':require('../../config/logger')(_0x7c45('0x4')),'fax':require(_0x7c45('0x2'))(_0x7c45('0x5')),'sms':require(_0x7c45('0x2'))(_0x7c45('0x6')),'chat':require(_0x7c45('0x2'))(_0x7c45('0x7'))};function getInteractionId(_0x3b9519,_0x6f5f01,_0x59b528){if(_0x3b9519&&_0x3b9519[_['upperFirst'](_0x59b528)+_0x7c45('0x8')]){return _0x3b9519[_['upperFirst'](_0x59b528)+_0x7c45('0x8')];}else if(_0x3b9519&&_0x3b9519['id']){return _0x3b9519['id'];}else if(_0x6f5f01&&_0x6f5f01['id']){return _0x6f5f01['id'];}else{return _0x7c45('0x9');}}function log(_0x580c45,_0x4659bc,_0x31a9c3,_0x3966f8,_0xc4fec8,_0x4a24dd){loggers[_0xc4fec8['toLowerCase']()][_0x580c45]('[%s]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x4a24dd[_0x7c45('0xa')](),_0x4659bc?_0x4659bc['id']:null,_0x4659bc?_0x4659bc['name']:null,_0x4659bc?_0x4659bc[_0x7c45('0xb')]:null,getInteractionId(_0x31a9c3,_0x3966f8,_0xc4fec8),_0x31a9c3?JSON[_0x7c45('0xc')](_0x31a9c3):_0x7c45('0xd'));}function updateUser(_0x42266c,_0x4d339f,_0x19fd29,_0x4974f1,_0x27caa9){db[_['upperFirst'](_0x4974f1)+'Interaction']['findOne']({'where':{'id':getInteractionId(_0x4d339f,_0x19fd29,_0x4974f1)}})[_0x7c45('0xe')](function(_0xa42c88){if(_0xa42c88){return _0xa42c88[_0x7c45('0xf')]({'UserId':_0x42266c?_0x42266c['id']:null});}})['then'](function(_0x502736){if(_0x502736){log('info',_0x42266c,_0x4d339f,_0x19fd29,_0x4974f1,_0x27caa9);}})[_0x7c45('0x10')](function(){log('error',_0x42266c,_0x4d339f,_0x19fd29,_0x4974f1,_0x27caa9);});}exports[_0x7c45('0x11')]=function(_0x38628f,_0x1c0679){return function(_0x48ccff,_0x899d14,_0x4826ee){var _0x152a38=_0x48ccff['user'];var _0x2eb9dd={};var _0x886472=_0x48ccff['query'];if(_0x2eb9dd){_0x2eb9dd=_[_0x7c45('0x12')](_0x48ccff[_0x7c45('0x13')]);_0x2eb9dd=_['omit'](_0x2eb9dd,[_0x7c45('0x13'),_0x7c45('0x14'),'phone',_0x7c45('0x15'),_0x7c45('0x16')]);}updateUser(_0x152a38,_0x2eb9dd,_0x886472,_0x38628f,_0x1c0679);_0x4826ee(null);};};