f611dfa81c7590efc0cbad43bd64f867539927e9
[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 _0xcc0a=['rpc','jayson/promise','client','http','redis','defaults','localhost','./chatInteraction.socket','register','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','error','code','message','catch','UpdateChatInteraction','ChatInteraction','body','options','raw','where','limit','stringify','omit','ids','spread','AddTags','lodash','util','moment','randomstring','ioredis','../../config/utils','../../config/logger'];(function(_0x164930,_0x4f5c44){var _0x238b7b=function(_0x1ba99e){while(--_0x1ba99e){_0x164930['push'](_0x164930['shift']());}};_0x238b7b(++_0x4f5c44);}(_0xcc0a,0x131));var _0xacc0=function(_0x7a4308,_0x4a06e4){_0x7a4308=_0x7a4308-0x0;var _0x28fede=_0xcc0a[_0x7a4308];return _0x28fede;};'use strict';var _=require(_0xacc0('0x0'));var util=require(_0xacc0('0x1'));var moment=require(_0xacc0('0x2'));var BPromise=require('bluebird');var rs=require(_0xacc0('0x3'));var fs=require('fs');var Redis=require(_0xacc0('0x4'));var db=require('../../mysqldb')['db'];var utils=require(_0xacc0('0x5'));var logger=require(_0xacc0('0x6'))(_0xacc0('0x7'));var config=require('../../config/environment');var jayson=require(_0xacc0('0x8'));var client=jayson[_0xacc0('0x9')][_0xacc0('0xa')]({'port':0x232a});config[_0xacc0('0xb')]=_[_0xacc0('0xc')](config['redis'],{'host':_0xacc0('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xacc0('0xb')]));require(_0xacc0('0xe'))[_0xacc0('0xf')](socket);function respondWithRpcPromise(_0x535c44,_0x4d5979,_0x9c8569){return new BPromise(function(_0x36f8bb,_0x49d7d3){return client[_0xacc0('0x10')](_0x535c44,_0x9c8569)[_0xacc0('0x11')](function(_0x1b5e72){logger[_0xacc0('0x12')](_0xacc0('0x13'),_0x4d5979,_0xacc0('0x14'));logger[_0xacc0('0x15')](_0xacc0('0x16'),_0x4d5979,_0xacc0('0x14'),JSON['stringify'](_0x1b5e72));if(_0x1b5e72[_0xacc0('0x17')]){if(_0x1b5e72[_0xacc0('0x17')][_0xacc0('0x18')]===0x1f4){logger['error']('ChatInteraction,\x20%s,\x20%s',_0x4d5979,_0x1b5e72[_0xacc0('0x17')][_0xacc0('0x19')]);return _0x49d7d3(_0x1b5e72[_0xacc0('0x17')][_0xacc0('0x19')]);}logger[_0xacc0('0x17')]('ChatInteraction,\x20%s,\x20%s',_0x4d5979,_0x1b5e72[_0xacc0('0x17')][_0xacc0('0x19')]);return _0x36f8bb(_0x1b5e72[_0xacc0('0x17')]['message']);}else{logger[_0xacc0('0x12')]('ChatInteraction,\x20%s,\x20%s',_0x4d5979,_0xacc0('0x14'));_0x36f8bb(_0x1b5e72['result'][_0xacc0('0x19')]);}})[_0xacc0('0x1a')](function(_0x2945f7){logger['error'](_0xacc0('0x13'),_0x4d5979,_0x2945f7);_0x49d7d3(_0x2945f7);});});}exports[_0xacc0('0x1b')]=function(_0x5b0c6c){var _0x1a6d2d=this;return new Promise(function(_0x5a5ab5,_0x56c934){return db[_0xacc0('0x1c')]['update'](_0x5b0c6c[_0xacc0('0x1d')],{'raw':_0x5b0c6c[_0xacc0('0x1e')]?_0x5b0c6c[_0xacc0('0x1e')][_0xacc0('0x1f')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x5b0c6c[_0xacc0('0x1e')]?_0x5b0c6c['options'][_0xacc0('0x20')]||null:null,'attributes':_0x5b0c6c[_0xacc0('0x1e')]?_0x5b0c6c[_0xacc0('0x1e')]['attributes']||null:null,'limit':_0x5b0c6c['options']?_0x5b0c6c['options'][_0xacc0('0x21')]||null:null})[_0xacc0('0x11')](function(_0x27db85){logger['info'](_0xacc0('0x1b'),_0x5b0c6c);logger[_0xacc0('0x15')]('UpdateChatInteraction',_0x5b0c6c,JSON[_0xacc0('0x22')](_0x27db85));_0x5a5ab5(_0x27db85);})[_0xacc0('0x1a')](function(_0x11a63c){logger['error'](_0xacc0('0x1b'),_0x11a63c[_0xacc0('0x19')],_0x5b0c6c);_0x56c934(_0x1a6d2d[_0xacc0('0x17')](0x1f4,_0x11a63c[_0xacc0('0x19')]));});});};exports['AddTagsToChatInteraction']=function(_0x21cd7e){return new Promise(function(_0x4a6da8,_0x2d7c13){return db[_0xacc0('0x1c')]['find']({'where':_0x21cd7e[_0xacc0('0x1e')]?_0x21cd7e[_0xacc0('0x1e')]['where']||null:null})[_0xacc0('0x11')](function(_0x42b63c){if(_0x42b63c){return _0x42b63c['addTags'](_0x21cd7e['body']['ids'],_[_0xacc0('0x23')](_0x21cd7e[_0xacc0('0x1d')],[_0xacc0('0x24'),'id'])||{});}})[_0xacc0('0x25')](function(_0x375243){logger['info'](_0xacc0('0x26'),_0x21cd7e);logger[_0xacc0('0x15')](_0xacc0('0x26'),_0x21cd7e,JSON[_0xacc0('0x22')](_0x375243));_0x4a6da8(_0x375243);})[_0xacc0('0x1a')](function(_0x28f3f9){logger['error'](_0xacc0('0x26'),_0x28f3f9['message'],_0x21cd7e);_0x2d7c13(_this['error'](0x1f4,_0x28f3f9[_0xacc0('0x19')]));});});};