d8586bba2a19c40d125dc8c7224c464c2563f760
[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 _0x70ae=['addTags','body','omit','ids','spread','AddTags','lodash','util','moment','../../mysqldb','rpc','../../config/environment','jayson/promise','http','redis','request','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','error','message','result','catch','UpdateChatInteraction','ChatInteraction','update','options','raw','where','attributes','limit','then','info','stringify','AddTagsToChatInteraction','find'];(function(_0x29a45b,_0x467f6c){var _0x5304a0=function(_0x3201d0){while(--_0x3201d0){_0x29a45b['push'](_0x29a45b['shift']());}};_0x5304a0(++_0x467f6c);}(_0x70ae,0x16e));var _0xe70a=function(_0x1fbafd,_0x1ba0a5){_0x1fbafd=_0x1fbafd-0x0;var _0x2ccceb=_0x70ae[_0x1fbafd];return _0x2ccceb;};'use strict';var _=require(_0xe70a('0x0'));var util=require(_0xe70a('0x1'));var moment=require(_0xe70a('0x2'));var BPromise=require('bluebird');var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require(_0xe70a('0x3'))['db'];var utils=require('../../config/utils');var logger=require('../../config/logger')(_0xe70a('0x4'));var config=require(_0xe70a('0x5'));var jayson=require(_0xe70a('0x6'));var client=jayson['client'][_0xe70a('0x7')]({'port':0x232a});config[_0xe70a('0x8')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xe70a('0x8')]));require('./chatInteraction.socket')['register'](socket);function respondWithRpcPromise(_0x25b061,_0x25de88,_0x4fa55e){return new BPromise(function(_0x495e03,_0x36f37d){return client[_0xe70a('0x9')](_0x25b061,_0x4fa55e)['then'](function(_0x5c01cc){logger['info'](_0xe70a('0xa'),_0x25de88,_0xe70a('0xb'));logger[_0xe70a('0xc')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x25de88,_0xe70a('0xb'),JSON['stringify'](_0x5c01cc));if(_0x5c01cc['error']){if(_0x5c01cc[_0xe70a('0xd')]['code']===0x1f4){logger['error'](_0xe70a('0xa'),_0x25de88,_0x5c01cc[_0xe70a('0xd')]['message']);return _0x36f37d(_0x5c01cc[_0xe70a('0xd')][_0xe70a('0xe')]);}logger[_0xe70a('0xd')](_0xe70a('0xa'),_0x25de88,_0x5c01cc['error'][_0xe70a('0xe')]);return _0x495e03(_0x5c01cc[_0xe70a('0xd')][_0xe70a('0xe')]);}else{logger['info'](_0xe70a('0xa'),_0x25de88,_0xe70a('0xb'));_0x495e03(_0x5c01cc[_0xe70a('0xf')][_0xe70a('0xe')]);}})[_0xe70a('0x10')](function(_0x1d8504){logger[_0xe70a('0xd')](_0xe70a('0xa'),_0x25de88,_0x1d8504);_0x36f37d(_0x1d8504);});});}exports[_0xe70a('0x11')]=function(_0x2c88f4){var _0x2b171b=this;return new Promise(function(_0x2f5471,_0x1d58a0){return db[_0xe70a('0x12')][_0xe70a('0x13')](_0x2c88f4['body'],{'raw':_0x2c88f4[_0xe70a('0x14')]?_0x2c88f4[_0xe70a('0x14')][_0xe70a('0x15')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x2c88f4['options']?_0x2c88f4[_0xe70a('0x14')][_0xe70a('0x16')]||null:null,'attributes':_0x2c88f4[_0xe70a('0x14')]?_0x2c88f4[_0xe70a('0x14')][_0xe70a('0x17')]||null:null,'limit':_0x2c88f4[_0xe70a('0x14')]?_0x2c88f4[_0xe70a('0x14')][_0xe70a('0x18')]||null:null})[_0xe70a('0x19')](function(_0x364455){logger[_0xe70a('0x1a')](_0xe70a('0x11'),_0x2c88f4);logger[_0xe70a('0xc')](_0xe70a('0x11'),_0x2c88f4,JSON[_0xe70a('0x1b')](_0x364455));_0x2f5471(_0x364455);})[_0xe70a('0x10')](function(_0x1edfd9){logger[_0xe70a('0xd')](_0xe70a('0x11'),_0x1edfd9[_0xe70a('0xe')],_0x2c88f4);_0x1d58a0(_0x2b171b[_0xe70a('0xd')](0x1f4,_0x1edfd9[_0xe70a('0xe')]));});});};exports[_0xe70a('0x1c')]=function(_0x24e956){return new Promise(function(_0x4f6253,_0x29c552){return db[_0xe70a('0x12')][_0xe70a('0x1d')]({'where':_0x24e956[_0xe70a('0x14')]?_0x24e956[_0xe70a('0x14')]['where']||null:null})[_0xe70a('0x19')](function(_0x849a86){if(_0x849a86){return _0x849a86[_0xe70a('0x1e')](_0x24e956[_0xe70a('0x1f')]['ids'],_[_0xe70a('0x20')](_0x24e956[_0xe70a('0x1f')],[_0xe70a('0x21'),'id'])||{});}})[_0xe70a('0x22')](function(_0x45f5c7){logger[_0xe70a('0x1a')](_0xe70a('0x23'),_0x24e956);logger[_0xe70a('0xc')](_0xe70a('0x23'),_0x24e956,JSON[_0xe70a('0x1b')](_0x45f5c7));_0x4f6253(_0x45f5c7);})[_0xe70a('0x10')](function(_0x262924){logger[_0xe70a('0xd')](_0xe70a('0x23'),_0x262924[_0xe70a('0xe')],_0x24e956);_0x29c552(_this[_0xe70a('0xd')](0x1f4,_0x262924['message']));});});};