a9f7132ef3a446b5fb67b87f29f16acd38621f36
[motion2.git] / server / components / interaction / utils.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 _0xaf8c=['mail-interactions','fax-interactions','sms-interactions','whatsapp-interactions','capitalize','chat','Website','Account','InteractionId','upperFirst','unknown','websites','accounts','_interactions','_interaction_has_tags','_messages','user_has_','toLowerCase','[%s]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','toUpperCase','role','null','findOne','then','info','error','exports','../../mysqldb','../../config/logger'];(function(_0x160c73,_0x2ee678){var _0xd9302=function(_0x169454){while(--_0x169454){_0x160c73['push'](_0x160c73['shift']());}};_0xd9302(++_0x2ee678);}(_0xaf8c,0x72));var _0xcaf8=function(_0x447083,_0x4937bb){_0x447083=_0x447083-0x0;var _0x2480a1=_0xaf8c[_0x447083];return _0x2480a1;};'use strict';var _=require('lodash');var db=require(_0xcaf8('0x0'))['db'];var loggers={'openchannel':require(_0xcaf8('0x1'))('openchannel-interactions'),'mail':require(_0xcaf8('0x1'))(_0xcaf8('0x2')),'fax':require(_0xcaf8('0x1'))(_0xcaf8('0x3')),'sms':require(_0xcaf8('0x1'))(_0xcaf8('0x4')),'chat':require('../../config/logger')('chat-interactions'),'whatsapp':require(_0xcaf8('0x1'))(_0xcaf8('0x5'))};function getAccountFK(_0x22c0b4){return _[_0xcaf8('0x6')](_0x22c0b4)+(_0x22c0b4===_0xcaf8('0x7')?_0xcaf8('0x8'):_0xcaf8('0x9'))+'Id';}function getInteractionFK(_0x51627c){return _['capitalize'](_0x51627c)+_0xcaf8('0xa');}function getInteractionId(_0x306d78,_0x50b8f8,_0x4aeca8){if(_0x306d78&&_0x306d78[_['upperFirst'](_0x4aeca8)+_0xcaf8('0xa')]){return _0x306d78[_[_0xcaf8('0xb')](_0x4aeca8)+'InteractionId'];}else if(_0x306d78&&_0x306d78['id']){return _0x306d78['id'];}else if(_0x50b8f8&&_0x50b8f8['id']){return _0x50b8f8['id'];}else{return _0xcaf8('0xc');}}function getInteractionsTables(_0x45d12a){return{'accounts':_0x45d12a+'_'+(_0x45d12a==='chat'?_0xcaf8('0xd'):_0xcaf8('0xe')),'interactions':_0x45d12a+_0xcaf8('0xf'),'interactionsTags':_0x45d12a+_0xcaf8('0x10'),'messages':_0x45d12a+_0xcaf8('0x11'),'userInteractions':_0xcaf8('0x12')+_0x45d12a+_0xcaf8('0xf')};}function getSelectedTags(_0x2515f4){var _0x1ec359=[];if(_0x2515f4){_0x1ec359=Array['isArray'](_0x2515f4)?_0x2515f4:[_0x2515f4];}return _0x1ec359;}function log(_0x975b59,_0x450d34,_0x4d3c4a,_0x101ac1,_0x44090e,_0x1a4806){loggers[_0x44090e[_0xcaf8('0x13')]()][_0x975b59](_0xcaf8('0x14'),_0x1a4806[_0xcaf8('0x15')](),_0x450d34?_0x450d34['id']:null,_0x450d34?_0x450d34['name']:null,_0x450d34?_0x450d34[_0xcaf8('0x16')]:null,getInteractionId(_0x4d3c4a,_0x101ac1,_0x44090e),_0x4d3c4a?JSON['stringify'](_0x4d3c4a):_0xcaf8('0x17'));}function updateUser(_0x47a718,_0x54fae4,_0x50a008,_0xd6cc26,_0x34e903){db[_[_0xcaf8('0xb')](_0xd6cc26)+'Interaction'][_0xcaf8('0x18')]({'where':{'id':getInteractionId(_0x54fae4,_0x50a008,_0xd6cc26)}})[_0xcaf8('0x19')](function(_0x2a5c4e){if(_0x2a5c4e){return _0x2a5c4e['update']({'UserId':_0x47a718?_0x47a718['id']:null});}})['then'](function(_0x3b31b4){if(_0x3b31b4){log(_0xcaf8('0x1a'),_0x47a718,_0x54fae4,_0x50a008,_0xd6cc26,_0x34e903);}})['catch'](function(){log(_0xcaf8('0x1b'),_0x47a718,_0x54fae4,_0x50a008,_0xd6cc26,_0x34e903);});}module[_0xcaf8('0x1c')]={'getAccountFK':getAccountFK,'getInteractionFK':getInteractionFK,'getInteractionsTables':getInteractionsTables,'getSelectedTags':getSelectedTags,'updateUser':updateUser};