a67ea792d121442ba033a9e10f2d66bbd035a02c
[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 _0x8d63=['limit','debug','AddTagsToChatInteraction','body','omit','ids','spread','AddTags','lodash','util','bluebird','randomstring','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','client','redis','defaults','localhost','./chatInteraction.socket','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','UpdateChatInteraction','ChatInteraction','options','raw','where','attributes'];(function(_0x4559e4,_0x1adc3d){var _0x1dc440=function(_0x3cc049){while(--_0x3cc049){_0x4559e4['push'](_0x4559e4['shift']());}};_0x1dc440(++_0x1adc3d);}(_0x8d63,0x167));var _0x38d6=function(_0x15ad8f,_0x4f78d5){_0x15ad8f=_0x15ad8f-0x0;var _0x2793ef=_0x8d63[_0x15ad8f];return _0x2793ef;};'use strict';var _=require(_0x38d6('0x0'));var util=require(_0x38d6('0x1'));var moment=require('moment');var BPromise=require(_0x38d6('0x2'));var rs=require(_0x38d6('0x3'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x38d6('0x4'))['db'];var utils=require(_0x38d6('0x5'));var logger=require(_0x38d6('0x6'))(_0x38d6('0x7'));var config=require('../../config/environment');var jayson=require(_0x38d6('0x8'));var client=jayson[_0x38d6('0x9')]['http']({'port':0x232a});config[_0x38d6('0xa')]=_[_0x38d6('0xb')](config[_0x38d6('0xa')],{'host':_0x38d6('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x38d6('0xa')]));require(_0x38d6('0xd'))['register'](socket);function respondWithRpcPromise(_0xa40cb6,_0x4d84a1,_0x2c0a78){return new BPromise(function(_0x3b96c0,_0x54ff2e){return client[_0x38d6('0xe')](_0xa40cb6,_0x2c0a78)[_0x38d6('0xf')](function(_0x4146d0){logger[_0x38d6('0x10')](_0x38d6('0x11'),_0x4d84a1,_0x38d6('0x12'));logger['debug'](_0x38d6('0x13'),_0x4d84a1,_0x38d6('0x12'),JSON[_0x38d6('0x14')](_0x4146d0));if(_0x4146d0['error']){if(_0x4146d0[_0x38d6('0x15')]['code']===0x1f4){logger[_0x38d6('0x15')](_0x38d6('0x11'),_0x4d84a1,_0x4146d0[_0x38d6('0x15')]['message']);return _0x54ff2e(_0x4146d0[_0x38d6('0x15')]['message']);}logger['error'](_0x38d6('0x11'),_0x4d84a1,_0x4146d0[_0x38d6('0x15')][_0x38d6('0x16')]);return _0x3b96c0(_0x4146d0[_0x38d6('0x15')]['message']);}else{logger[_0x38d6('0x10')](_0x38d6('0x11'),_0x4d84a1,_0x38d6('0x12'));_0x3b96c0(_0x4146d0[_0x38d6('0x17')][_0x38d6('0x16')]);}})[_0x38d6('0x18')](function(_0x829bad){logger['error'](_0x38d6('0x11'),_0x4d84a1,_0x829bad);_0x54ff2e(_0x829bad);});});}exports[_0x38d6('0x19')]=function(_0x245300){var _0x9c171e=this;return new Promise(function(_0x10cfe8,_0x4d7e93){return db[_0x38d6('0x1a')]['update'](_0x245300['body'],{'raw':_0x245300[_0x38d6('0x1b')]?_0x245300[_0x38d6('0x1b')][_0x38d6('0x1c')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x245300['options']?_0x245300[_0x38d6('0x1b')][_0x38d6('0x1d')]||null:null,'attributes':_0x245300[_0x38d6('0x1b')]?_0x245300[_0x38d6('0x1b')][_0x38d6('0x1e')]||null:null,'limit':_0x245300[_0x38d6('0x1b')]?_0x245300['options'][_0x38d6('0x1f')]||null:null})[_0x38d6('0xf')](function(_0x10e208){logger['info']('UpdateChatInteraction',_0x245300);logger[_0x38d6('0x20')]('UpdateChatInteraction',_0x245300,JSON['stringify'](_0x10e208));_0x10cfe8(_0x10e208);})['catch'](function(_0x193099){logger[_0x38d6('0x15')](_0x38d6('0x19'),_0x193099[_0x38d6('0x16')],_0x245300);_0x4d7e93(_0x9c171e[_0x38d6('0x15')](0x1f4,_0x193099[_0x38d6('0x16')]));});});};exports[_0x38d6('0x21')]=function(_0x27c5cf){return new Promise(function(_0x45c652,_0x58e343){return db[_0x38d6('0x1a')]['find']({'where':_0x27c5cf[_0x38d6('0x1b')]?_0x27c5cf['options'][_0x38d6('0x1d')]||null:null})[_0x38d6('0xf')](function(_0x4d8ea0){if(_0x4d8ea0){return _0x4d8ea0['addTags'](_0x27c5cf[_0x38d6('0x22')]['ids'],_[_0x38d6('0x23')](_0x27c5cf['body'],[_0x38d6('0x24'),'id'])||{});}})[_0x38d6('0x25')](function(_0x23b4ed){logger[_0x38d6('0x10')](_0x38d6('0x26'),_0x27c5cf);logger[_0x38d6('0x20')](_0x38d6('0x26'),_0x27c5cf,JSON[_0x38d6('0x14')](_0x23b4ed));_0x45c652(_0x23b4ed);})[_0x38d6('0x18')](function(_0x2a620f){logger[_0x38d6('0x15')](_0x38d6('0x26'),_0x2a620f[_0x38d6('0x16')],_0x27c5cf);_0x58e343(_this[_0x38d6('0x15')](0x1f4,_0x2a620f['message']));});});};