7dcbfcdfa1ffb40c44abb5bf5a1790c1460829da
[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 _0x60d8=['ids','omit','body','spread','AddTags','lodash','util','moment','randomstring','../../mysqldb','../../config/logger','rpc','../../config/environment','client','http','redis','defaults','localhost','./chatInteraction.socket','request','then','info','request\x20sent','debug','error','ChatInteraction,\x20%s,\x20%s','message','result','catch','ChatInteraction','update','options','raw','where','attributes','limit','UpdateChatInteraction','stringify','AddTagsToChatInteraction','addTags'];(function(_0x3947c9,_0x4d6c97){var _0x2e7871=function(_0x1236cc){while(--_0x1236cc){_0x3947c9['push'](_0x3947c9['shift']());}};_0x2e7871(++_0x4d6c97);}(_0x60d8,0x11d));var _0x860d=function(_0xa5c827,_0x565405){_0xa5c827=_0xa5c827-0x0;var _0x19a9ba=_0x60d8[_0xa5c827];return _0x19a9ba;};'use strict';var _=require(_0x860d('0x0'));var util=require(_0x860d('0x1'));var moment=require(_0x860d('0x2'));var BPromise=require('bluebird');var rs=require(_0x860d('0x3'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x860d('0x4'))['db'];var utils=require('../../config/utils');var logger=require(_0x860d('0x5'))(_0x860d('0x6'));var config=require(_0x860d('0x7'));var jayson=require('jayson/promise');var client=jayson[_0x860d('0x8')][_0x860d('0x9')]({'port':0x232a});config[_0x860d('0xa')]=_[_0x860d('0xb')](config['redis'],{'host':_0x860d('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x860d('0xa')]));require(_0x860d('0xd'))['register'](socket);function respondWithRpcPromise(_0x281c07,_0x357dd9,_0x4378c6){return new BPromise(function(_0x38c2d6,_0x523e8e){return client[_0x860d('0xe')](_0x281c07,_0x4378c6)[_0x860d('0xf')](function(_0x41fc2b){logger[_0x860d('0x10')]('ChatInteraction,\x20%s,\x20%s',_0x357dd9,_0x860d('0x11'));logger[_0x860d('0x12')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x357dd9,_0x860d('0x11'),JSON['stringify'](_0x41fc2b));if(_0x41fc2b[_0x860d('0x13')]){if(_0x41fc2b['error']['code']===0x1f4){logger[_0x860d('0x13')](_0x860d('0x14'),_0x357dd9,_0x41fc2b['error'][_0x860d('0x15')]);return _0x523e8e(_0x41fc2b[_0x860d('0x13')][_0x860d('0x15')]);}logger[_0x860d('0x13')](_0x860d('0x14'),_0x357dd9,_0x41fc2b['error'][_0x860d('0x15')]);return _0x38c2d6(_0x41fc2b[_0x860d('0x13')]['message']);}else{logger['info'](_0x860d('0x14'),_0x357dd9,'request\x20sent');_0x38c2d6(_0x41fc2b[_0x860d('0x16')]['message']);}})[_0x860d('0x17')](function(_0x28acb0){logger[_0x860d('0x13')]('ChatInteraction,\x20%s,\x20%s',_0x357dd9,_0x28acb0);_0x523e8e(_0x28acb0);});});}exports['UpdateChatInteraction']=function(_0x4a586f){var _0x3b89b6=this;return new Promise(function(_0x72c42d,_0x4c9839){return db[_0x860d('0x18')][_0x860d('0x19')](_0x4a586f['body'],{'raw':_0x4a586f[_0x860d('0x1a')]?_0x4a586f[_0x860d('0x1a')][_0x860d('0x1b')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x4a586f[_0x860d('0x1a')]?_0x4a586f[_0x860d('0x1a')][_0x860d('0x1c')]||null:null,'attributes':_0x4a586f['options']?_0x4a586f['options'][_0x860d('0x1d')]||null:null,'limit':_0x4a586f['options']?_0x4a586f[_0x860d('0x1a')][_0x860d('0x1e')]||null:null})['then'](function(_0x50d5bc){logger['info'](_0x860d('0x1f'),_0x4a586f);logger[_0x860d('0x12')](_0x860d('0x1f'),_0x4a586f,JSON[_0x860d('0x20')](_0x50d5bc));_0x72c42d(_0x50d5bc);})[_0x860d('0x17')](function(_0x32cb20){logger['error']('UpdateChatInteraction',_0x32cb20[_0x860d('0x15')],_0x4a586f);_0x4c9839(_0x3b89b6[_0x860d('0x13')](0x1f4,_0x32cb20[_0x860d('0x15')]));});});};exports[_0x860d('0x21')]=function(_0x5674e5){return new Promise(function(_0x372685,_0x3df873){return db[_0x860d('0x18')]['find']({'where':_0x5674e5[_0x860d('0x1a')]?_0x5674e5[_0x860d('0x1a')][_0x860d('0x1c')]||null:null})[_0x860d('0xf')](function(_0x36792d){if(_0x36792d){return _0x36792d[_0x860d('0x22')](_0x5674e5['body'][_0x860d('0x23')],_[_0x860d('0x24')](_0x5674e5[_0x860d('0x25')],[_0x860d('0x23'),'id'])||{});}})[_0x860d('0x26')](function(_0x481981){logger[_0x860d('0x10')](_0x860d('0x27'),_0x5674e5);logger[_0x860d('0x12')](_0x860d('0x27'),_0x5674e5,JSON[_0x860d('0x20')](_0x481981));_0x372685(_0x481981);})[_0x860d('0x17')](function(_0x5e4065){logger['error'](_0x860d('0x27'),_0x5e4065['message'],_0x5674e5);_0x3df873(_this['error'](0x1f4,_0x5e4065[_0x860d('0x15')]));});});};