4d2f1066a2baa26c20f20a54bfeca1a0b99fd062
[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 _0x3e4a=['where','limit','AddTagsToChatInteraction','addTags','ids','omit','body','AddTags','lodash','util','randomstring','../../config/utils','../../config/logger','jayson/promise','client','http','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','register','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','result','catch','UpdateChatInteraction','ChatInteraction','update','options'];(function(_0x4d91c6,_0x1b41fc){var _0x1b3cf8=function(_0x414261){while(--_0x414261){_0x4d91c6['push'](_0x4d91c6['shift']());}};_0x1b3cf8(++_0x1b41fc);}(_0x3e4a,0x17a));var _0xa3e4=function(_0x4cd21d,_0x5a8c31){_0x4cd21d=_0x4cd21d-0x0;var _0x124c6d=_0x3e4a[_0x4cd21d];return _0x124c6d;};'use strict';var _=require(_0xa3e4('0x0'));var util=require(_0xa3e4('0x1'));var moment=require('moment');var BPromise=require('bluebird');var rs=require(_0xa3e4('0x2'));var fs=require('fs');var Redis=require('ioredis');var db=require('../../mysqldb')['db'];var utils=require(_0xa3e4('0x3'));var logger=require(_0xa3e4('0x4'))('rpc');var config=require('../../config/environment');var jayson=require(_0xa3e4('0x5'));var client=jayson[_0xa3e4('0x6')][_0xa3e4('0x7')]({'port':0x232a});config[_0xa3e4('0x8')]=_[_0xa3e4('0x9')](config[_0xa3e4('0x8')],{'host':_0xa3e4('0xa'),'port':0x18eb});var socket=require(_0xa3e4('0xb'))(new Redis(config[_0xa3e4('0x8')]));require(_0xa3e4('0xc'))[_0xa3e4('0xd')](socket);function respondWithRpcPromise(_0x1e763d,_0x4b1e08,_0x4c7a53){return new BPromise(function(_0x263237,_0x246029){return client[_0xa3e4('0xe')](_0x1e763d,_0x4c7a53)[_0xa3e4('0xf')](function(_0x148be8){logger[_0xa3e4('0x10')](_0xa3e4('0x11'),_0x4b1e08,_0xa3e4('0x12'));logger[_0xa3e4('0x13')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x4b1e08,'request\x20sent',JSON[_0xa3e4('0x14')](_0x148be8));if(_0x148be8[_0xa3e4('0x15')]){if(_0x148be8['error']['code']===0x1f4){logger[_0xa3e4('0x15')](_0xa3e4('0x11'),_0x4b1e08,_0x148be8['error']['message']);return _0x246029(_0x148be8[_0xa3e4('0x15')][_0xa3e4('0x16')]);}logger['error'](_0xa3e4('0x11'),_0x4b1e08,_0x148be8[_0xa3e4('0x15')]['message']);return _0x263237(_0x148be8[_0xa3e4('0x15')][_0xa3e4('0x16')]);}else{logger[_0xa3e4('0x10')](_0xa3e4('0x11'),_0x4b1e08,'request\x20sent');_0x263237(_0x148be8[_0xa3e4('0x17')][_0xa3e4('0x16')]);}})[_0xa3e4('0x18')](function(_0x45f33e){logger[_0xa3e4('0x15')](_0xa3e4('0x11'),_0x4b1e08,_0x45f33e);_0x246029(_0x45f33e);});});}exports[_0xa3e4('0x19')]=function(_0x5acdf0){var _0xffe1c9=this;return new Promise(function(_0x4892a5,_0x48cf2b){return db[_0xa3e4('0x1a')][_0xa3e4('0x1b')](_0x5acdf0['body'],{'raw':_0x5acdf0['options']?_0x5acdf0['options']['raw']===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x5acdf0[_0xa3e4('0x1c')]?_0x5acdf0[_0xa3e4('0x1c')][_0xa3e4('0x1d')]||null:null,'attributes':_0x5acdf0[_0xa3e4('0x1c')]?_0x5acdf0[_0xa3e4('0x1c')]['attributes']||null:null,'limit':_0x5acdf0[_0xa3e4('0x1c')]?_0x5acdf0[_0xa3e4('0x1c')][_0xa3e4('0x1e')]||null:null})[_0xa3e4('0xf')](function(_0x155bd7){logger[_0xa3e4('0x10')](_0xa3e4('0x19'),_0x5acdf0);logger[_0xa3e4('0x13')](_0xa3e4('0x19'),_0x5acdf0,JSON[_0xa3e4('0x14')](_0x155bd7));_0x4892a5(_0x155bd7);})[_0xa3e4('0x18')](function(_0x448992){logger['error']('UpdateChatInteraction',_0x448992[_0xa3e4('0x16')],_0x5acdf0);_0x48cf2b(_0xffe1c9[_0xa3e4('0x15')](0x1f4,_0x448992['message']));});});};exports[_0xa3e4('0x1f')]=function(_0x3df62a){return new Promise(function(_0x13230f,_0x11859e){return db[_0xa3e4('0x1a')]['find']({'where':_0x3df62a[_0xa3e4('0x1c')]?_0x3df62a[_0xa3e4('0x1c')]['where']||null:null})['then'](function(_0x2c74b0){if(_0x2c74b0){return _0x2c74b0[_0xa3e4('0x20')](_0x3df62a['body'][_0xa3e4('0x21')],_[_0xa3e4('0x22')](_0x3df62a[_0xa3e4('0x23')],[_0xa3e4('0x21'),'id'])||{});}})['spread'](function(_0x335919){logger['info'](_0xa3e4('0x24'),_0x3df62a);logger[_0xa3e4('0x13')](_0xa3e4('0x24'),_0x3df62a,JSON[_0xa3e4('0x14')](_0x335919));_0x13230f(_0x335919);})[_0xa3e4('0x18')](function(_0x439fde){logger['error'](_0xa3e4('0x24'),_0x439fde[_0xa3e4('0x16')],_0x3df62a);_0x11859e(_this[_0xa3e4('0x15')](0x1f4,_0x439fde['message']));});});};