a14cb5897e025c448eb1d9a07f401200b86587b4
[motion2.git] / server / api / chatInteraction / chatInteraction.rpc.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 _0xe81c=['rpc','../../config/environment','client','http','redis','localhost','./chatInteraction.socket','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','catch','update','options','raw','where','attributes','UpdateChatInteraction','AddTagsToChatInteraction','find','then','ids','omit','body','spread','AddTags','debug','lodash','bluebird','randomstring','../../mysqldb','../../config/utils','../../config/logger'];(function(_0x5d5a5e,_0x3e6054){var _0x35a912=function(_0x3d2ff3){while(--_0x3d2ff3){_0x5d5a5e['push'](_0x5d5a5e['shift']());}};_0x35a912(++_0x3e6054);}(_0xe81c,0xae));var _0xce81=function(_0x2d3d18,_0x475f4c){_0x2d3d18=_0x2d3d18-0x0;var _0x202f49=_0xe81c[_0x2d3d18];return _0x202f49;};'use strict';var _=require(_0xce81('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0xce81('0x1'));var rs=require(_0xce81('0x2'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0xce81('0x3'))['db'];var utils=require(_0xce81('0x4'));var logger=require(_0xce81('0x5'))(_0xce81('0x6'));var config=require(_0xce81('0x7'));var jayson=require('jayson/promise');var client=jayson[_0xce81('0x8')][_0xce81('0x9')]({'port':0x232a});config[_0xce81('0xa')]=_['defaults'](config['redis'],{'host':_0xce81('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xce81('0xa')]));require(_0xce81('0xc'))['register'](socket);function respondWithRpcPromise(_0x394143,_0x1ebe1c,_0x1b4bd9){return new BPromise(function(_0x512cad,_0x444eae){return client['request'](_0x394143,_0x1b4bd9)['then'](function(_0x1eecdf){logger[_0xce81('0xd')](_0xce81('0xe'),_0x1ebe1c,_0xce81('0xf'));logger['debug']('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x1ebe1c,_0xce81('0xf'),JSON[_0xce81('0x10')](_0x1eecdf));if(_0x1eecdf[_0xce81('0x11')]){if(_0x1eecdf[_0xce81('0x11')][_0xce81('0x12')]===0x1f4){logger['error'](_0xce81('0xe'),_0x1ebe1c,_0x1eecdf['error']['message']);return _0x444eae(_0x1eecdf[_0xce81('0x11')][_0xce81('0x13')]);}logger[_0xce81('0x11')](_0xce81('0xe'),_0x1ebe1c,_0x1eecdf[_0xce81('0x11')][_0xce81('0x13')]);return _0x512cad(_0x1eecdf['error'][_0xce81('0x13')]);}else{logger['info']('ChatInteraction,\x20%s,\x20%s',_0x1ebe1c,_0xce81('0xf'));_0x512cad(_0x1eecdf['result']['message']);}})[_0xce81('0x14')](function(_0x54de4a){logger['error'](_0xce81('0xe'),_0x1ebe1c,_0x54de4a);_0x444eae(_0x54de4a);});});}exports['UpdateChatInteraction']=function(_0x17259f){var _0x488948=this;return new Promise(function(_0x8fdd37,_0x16ca9d){return db['ChatInteraction'][_0xce81('0x15')](_0x17259f['body'],{'raw':_0x17259f['options']?_0x17259f[_0xce81('0x16')][_0xce81('0x17')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x17259f['options']?_0x17259f[_0xce81('0x16')][_0xce81('0x18')]||null:null,'attributes':_0x17259f[_0xce81('0x16')]?_0x17259f[_0xce81('0x16')][_0xce81('0x19')]||null:null,'limit':_0x17259f[_0xce81('0x16')]?_0x17259f[_0xce81('0x16')]['limit']||null:null})['then'](function(_0x1d1cd1){logger[_0xce81('0xd')](_0xce81('0x1a'),_0x17259f);logger['debug'](_0xce81('0x1a'),_0x17259f,JSON[_0xce81('0x10')](_0x1d1cd1));_0x8fdd37(_0x1d1cd1);})['catch'](function(_0x4d11b7){logger['error']('UpdateChatInteraction',_0x4d11b7[_0xce81('0x13')],_0x17259f);_0x16ca9d(_0x488948[_0xce81('0x11')](0x1f4,_0x4d11b7[_0xce81('0x13')]));});});};exports[_0xce81('0x1b')]=function(_0x93aec8){return new Promise(function(_0x2af77e,_0x2d2c23){return db['ChatInteraction'][_0xce81('0x1c')]({'where':_0x93aec8[_0xce81('0x16')]?_0x93aec8[_0xce81('0x16')][_0xce81('0x18')]||null:null})[_0xce81('0x1d')](function(_0x465665){if(_0x465665){return _0x465665['addTags'](_0x93aec8['body'][_0xce81('0x1e')],_[_0xce81('0x1f')](_0x93aec8[_0xce81('0x20')],[_0xce81('0x1e'),'id'])||{});}})[_0xce81('0x21')](function(_0x4556a6){logger[_0xce81('0xd')](_0xce81('0x22'),_0x93aec8);logger[_0xce81('0x23')](_0xce81('0x22'),_0x93aec8,JSON[_0xce81('0x10')](_0x4556a6));_0x2af77e(_0x4556a6);})[_0xce81('0x14')](function(_0x5baed4){logger[_0xce81('0x11')](_0xce81('0x22'),_0x5baed4[_0xce81('0x13')],_0x93aec8);_0x2d2c23(_this['error'](0x1f4,_0x5baed4[_0xce81('0x13')]));});});};