fd269b631ae423ef507d4ca657b37c3f82f2083c
[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 _0xf6e9=['raw','where','limit','UpdateChatInteraction','debug','stringify','find','then','addTags','ids','spread','AddTags','lodash','util','moment','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','rpc','client','redis','defaults','localhost','./chatInteraction.socket','request','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','ChatInteraction,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','ChatInteraction','update','body','options'];(function(_0x5cdd65,_0xdda6bc){var _0x4a09cc=function(_0x4c725a){while(--_0x4c725a){_0x5cdd65['push'](_0x5cdd65['shift']());}};_0x4a09cc(++_0xdda6bc);}(_0xf6e9,0x14c));var _0x9f6e=function(_0x1291d2,_0x1851b6){_0x1291d2=_0x1291d2-0x0;var _0x17eb37=_0xf6e9[_0x1291d2];return _0x17eb37;};'use strict';var _=require(_0x9f6e('0x0'));var util=require(_0x9f6e('0x1'));var moment=require(_0x9f6e('0x2'));var BPromise=require(_0x9f6e('0x3'));var rs=require(_0x9f6e('0x4'));var fs=require('fs');var Redis=require(_0x9f6e('0x5'));var db=require(_0x9f6e('0x6'))['db'];var utils=require(_0x9f6e('0x7'));var logger=require('../../config/logger')(_0x9f6e('0x8'));var config=require('../../config/environment');var jayson=require('jayson/promise');var client=jayson[_0x9f6e('0x9')]['http']({'port':0x232a});config[_0x9f6e('0xa')]=_[_0x9f6e('0xb')](config['redis'],{'host':_0x9f6e('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x9f6e('0xa')]));require(_0x9f6e('0xd'))['register'](socket);function respondWithRpcPromise(_0x3361f4,_0x1cba55,_0x2f109a){return new BPromise(function(_0x187196,_0x311976){return client[_0x9f6e('0xe')](_0x3361f4,_0x2f109a)['then'](function(_0x492117){logger[_0x9f6e('0xf')](_0x9f6e('0x10'),_0x1cba55,_0x9f6e('0x11'));logger['debug'](_0x9f6e('0x12'),_0x1cba55,_0x9f6e('0x11'),JSON['stringify'](_0x492117));if(_0x492117['error']){if(_0x492117[_0x9f6e('0x13')][_0x9f6e('0x14')]===0x1f4){logger['error'](_0x9f6e('0x10'),_0x1cba55,_0x492117[_0x9f6e('0x13')]['message']);return _0x311976(_0x492117[_0x9f6e('0x13')][_0x9f6e('0x15')]);}logger[_0x9f6e('0x13')](_0x9f6e('0x10'),_0x1cba55,_0x492117[_0x9f6e('0x13')][_0x9f6e('0x15')]);return _0x187196(_0x492117[_0x9f6e('0x13')][_0x9f6e('0x15')]);}else{logger[_0x9f6e('0xf')](_0x9f6e('0x10'),_0x1cba55,_0x9f6e('0x11'));_0x187196(_0x492117[_0x9f6e('0x16')][_0x9f6e('0x15')]);}})[_0x9f6e('0x17')](function(_0x47c648){logger[_0x9f6e('0x13')](_0x9f6e('0x10'),_0x1cba55,_0x47c648);_0x311976(_0x47c648);});});}exports['UpdateChatInteraction']=function(_0x1a5f13){var _0x12f84e=this;return new Promise(function(_0x432c00,_0x2a5e32){return db[_0x9f6e('0x18')][_0x9f6e('0x19')](_0x1a5f13[_0x9f6e('0x1a')],{'raw':_0x1a5f13[_0x9f6e('0x1b')]?_0x1a5f13[_0x9f6e('0x1b')][_0x9f6e('0x1c')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x1a5f13[_0x9f6e('0x1b')]?_0x1a5f13['options'][_0x9f6e('0x1d')]||null:null,'attributes':_0x1a5f13[_0x9f6e('0x1b')]?_0x1a5f13['options']['attributes']||null:null,'limit':_0x1a5f13[_0x9f6e('0x1b')]?_0x1a5f13['options'][_0x9f6e('0x1e')]||null:null})['then'](function(_0x22c313){logger[_0x9f6e('0xf')](_0x9f6e('0x1f'),_0x1a5f13);logger[_0x9f6e('0x20')](_0x9f6e('0x1f'),_0x1a5f13,JSON[_0x9f6e('0x21')](_0x22c313));_0x432c00(_0x22c313);})[_0x9f6e('0x17')](function(_0x3af0a3){logger['error']('UpdateChatInteraction',_0x3af0a3[_0x9f6e('0x15')],_0x1a5f13);_0x2a5e32(_0x12f84e[_0x9f6e('0x13')](0x1f4,_0x3af0a3[_0x9f6e('0x15')]));});});};exports['AddTagsToChatInteraction']=function(_0x2c9241){return new Promise(function(_0x10a009,_0x19ad6a){return db[_0x9f6e('0x18')][_0x9f6e('0x22')]({'where':_0x2c9241['options']?_0x2c9241[_0x9f6e('0x1b')][_0x9f6e('0x1d')]||null:null})[_0x9f6e('0x23')](function(_0x5b20a9){if(_0x5b20a9){return _0x5b20a9[_0x9f6e('0x24')](_0x2c9241[_0x9f6e('0x1a')][_0x9f6e('0x25')],_['omit'](_0x2c9241[_0x9f6e('0x1a')],[_0x9f6e('0x25'),'id'])||{});}})[_0x9f6e('0x26')](function(_0x4b3d14){logger['info'](_0x9f6e('0x27'),_0x2c9241);logger[_0x9f6e('0x20')]('AddTags',_0x2c9241,JSON[_0x9f6e('0x21')](_0x4b3d14));_0x10a009(_0x4b3d14);})[_0x9f6e('0x17')](function(_0x1e4cf4){logger['error'](_0x9f6e('0x27'),_0x1e4cf4[_0x9f6e('0x15')],_0x2c9241);_0x19ad6a(_this[_0x9f6e('0x13')](0x1f4,_0x1e4cf4[_0x9f6e('0x15')]));});});};