c253f37399eb4bc7499f9bf01bc071a388bf93f7
[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 _0x50bd=['ChatInteraction','update','body','options','raw','where','attributes','UpdateChatInteraction','stringify','AddTagsToChatInteraction','find','addTags','ids','omit','spread','AddTags','debug','lodash','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','client','http','defaults','localhost','redis','./chatInteraction.socket','register','request','then','info','request\x20sent','error','code','ChatInteraction,\x20%s,\x20%s','message','catch'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x50bd,0x113));var _0xd50b=function(_0x29fc91,_0x386185){_0x29fc91=_0x29fc91-0x0;var _0x2adbd1=_0x50bd[_0x29fc91];return _0x2adbd1;};'use strict';var _=require(_0xd50b('0x0'));var util=require('util');var moment=require('moment');var BPromise=require(_0xd50b('0x1'));var rs=require(_0xd50b('0x2'));var fs=require('fs');var Redis=require(_0xd50b('0x3'));var db=require(_0xd50b('0x4'))['db'];var utils=require(_0xd50b('0x5'));var logger=require(_0xd50b('0x6'))(_0xd50b('0x7'));var config=require(_0xd50b('0x8'));var jayson=require(_0xd50b('0x9'));var client=jayson[_0xd50b('0xa')][_0xd50b('0xb')]({'port':0x232a});config['redis']=_[_0xd50b('0xc')](config['redis'],{'host':_0xd50b('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd50b('0xe')]));require(_0xd50b('0xf'))[_0xd50b('0x10')](socket);function respondWithRpcPromise(_0x3dd240,_0x51d32b,_0x4dbb3e){return new BPromise(function(_0x59beac,_0xa827a4){return client[_0xd50b('0x11')](_0x3dd240,_0x4dbb3e)[_0xd50b('0x12')](function(_0x40f15d){logger[_0xd50b('0x13')]('ChatInteraction,\x20%s,\x20%s',_0x51d32b,_0xd50b('0x14'));logger['debug']('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x51d32b,'request\x20sent',JSON['stringify'](_0x40f15d));if(_0x40f15d[_0xd50b('0x15')]){if(_0x40f15d['error'][_0xd50b('0x16')]===0x1f4){logger[_0xd50b('0x15')](_0xd50b('0x17'),_0x51d32b,_0x40f15d[_0xd50b('0x15')][_0xd50b('0x18')]);return _0xa827a4(_0x40f15d[_0xd50b('0x15')]['message']);}logger['error']('ChatInteraction,\x20%s,\x20%s',_0x51d32b,_0x40f15d[_0xd50b('0x15')][_0xd50b('0x18')]);return _0x59beac(_0x40f15d['error'][_0xd50b('0x18')]);}else{logger[_0xd50b('0x13')]('ChatInteraction,\x20%s,\x20%s',_0x51d32b,_0xd50b('0x14'));_0x59beac(_0x40f15d['result']['message']);}})[_0xd50b('0x19')](function(_0x3ff86b){logger['error'](_0xd50b('0x17'),_0x51d32b,_0x3ff86b);_0xa827a4(_0x3ff86b);});});}exports['UpdateChatInteraction']=function(_0xe4f10b){var _0x8b5ac0=this;return new Promise(function(_0x315643,_0x1d75d7){return db[_0xd50b('0x1a')][_0xd50b('0x1b')](_0xe4f10b[_0xd50b('0x1c')],{'raw':_0xe4f10b[_0xd50b('0x1d')]?_0xe4f10b[_0xd50b('0x1d')][_0xd50b('0x1e')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0xe4f10b[_0xd50b('0x1d')]?_0xe4f10b['options'][_0xd50b('0x1f')]||null:null,'attributes':_0xe4f10b[_0xd50b('0x1d')]?_0xe4f10b[_0xd50b('0x1d')][_0xd50b('0x20')]||null:null,'limit':_0xe4f10b[_0xd50b('0x1d')]?_0xe4f10b[_0xd50b('0x1d')]['limit']||null:null})[_0xd50b('0x12')](function(_0x2bd7d1){logger[_0xd50b('0x13')](_0xd50b('0x21'),_0xe4f10b);logger['debug'](_0xd50b('0x21'),_0xe4f10b,JSON[_0xd50b('0x22')](_0x2bd7d1));_0x315643(_0x2bd7d1);})[_0xd50b('0x19')](function(_0x268c80){logger[_0xd50b('0x15')](_0xd50b('0x21'),_0x268c80[_0xd50b('0x18')],_0xe4f10b);_0x1d75d7(_0x8b5ac0[_0xd50b('0x15')](0x1f4,_0x268c80['message']));});});};exports[_0xd50b('0x23')]=function(_0x33a9e6){return new Promise(function(_0x9d7477,_0x2c8644){return db[_0xd50b('0x1a')][_0xd50b('0x24')]({'where':_0x33a9e6[_0xd50b('0x1d')]?_0x33a9e6[_0xd50b('0x1d')][_0xd50b('0x1f')]||null:null})['then'](function(_0xa20e23){if(_0xa20e23){return _0xa20e23[_0xd50b('0x25')](_0x33a9e6[_0xd50b('0x1c')][_0xd50b('0x26')],_[_0xd50b('0x27')](_0x33a9e6['body'],['ids','id'])||{});}})[_0xd50b('0x28')](function(_0x29b0d4){logger[_0xd50b('0x13')](_0xd50b('0x29'),_0x33a9e6);logger[_0xd50b('0x2a')](_0xd50b('0x29'),_0x33a9e6,JSON['stringify'](_0x29b0d4));_0x9d7477(_0x29b0d4);})['catch'](function(_0x307a00){logger['error']('AddTags',_0x307a00['message'],_0x33a9e6);_0x2c8644(_this['error'](0x1f4,_0x307a00[_0xd50b('0x18')]));});});};