fbd2fa6a722e3afea740603e34832d214b9ddb43
[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 _0xc2fc=['request\x20sent','error','code','message','info','result','catch','UpdateChatInteraction','ChatInteraction','update','body','options','raw','attributes','limit','debug','stringify','find','where','addTags','ids','omit','spread','AddTags','lodash','util','moment','randomstring','ioredis','../../config/logger','rpc','jayson/promise','client','http','redis','defaults','localhost','socket.io-emitter','./chatInteraction.socket','register','then','ChatInteraction,\x20%s,\x20%s'];(function(_0x5dee5e,_0x2fd6fb){var _0x14caf0=function(_0x1f6997){while(--_0x1f6997){_0x5dee5e['push'](_0x5dee5e['shift']());}};_0x14caf0(++_0x2fd6fb);}(_0xc2fc,0xea));var _0xcc2f=function(_0x1375f5,_0x3867ae){_0x1375f5=_0x1375f5-0x0;var _0x9f088=_0xc2fc[_0x1375f5];return _0x9f088;};'use strict';var _=require(_0xcc2f('0x0'));var util=require(_0xcc2f('0x1'));var moment=require(_0xcc2f('0x2'));var BPromise=require('bluebird');var rs=require(_0xcc2f('0x3'));var fs=require('fs');var Redis=require(_0xcc2f('0x4'));var db=require('../../mysqldb')['db'];var utils=require('../../config/utils');var logger=require(_0xcc2f('0x5'))(_0xcc2f('0x6'));var config=require('../../config/environment');var jayson=require(_0xcc2f('0x7'));var client=jayson[_0xcc2f('0x8')][_0xcc2f('0x9')]({'port':0x232a});config[_0xcc2f('0xa')]=_[_0xcc2f('0xb')](config[_0xcc2f('0xa')],{'host':_0xcc2f('0xc'),'port':0x18eb});var socket=require(_0xcc2f('0xd'))(new Redis(config[_0xcc2f('0xa')]));require(_0xcc2f('0xe'))[_0xcc2f('0xf')](socket);function respondWithRpcPromise(_0x2db3d8,_0x2995f2,_0x23d13d){return new BPromise(function(_0x2ec8cf,_0x321798){return client['request'](_0x2db3d8,_0x23d13d)[_0xcc2f('0x10')](function(_0x12189c){logger['info'](_0xcc2f('0x11'),_0x2995f2,_0xcc2f('0x12'));logger['debug']('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x2995f2,'request\x20sent',JSON['stringify'](_0x12189c));if(_0x12189c[_0xcc2f('0x13')]){if(_0x12189c[_0xcc2f('0x13')][_0xcc2f('0x14')]===0x1f4){logger[_0xcc2f('0x13')](_0xcc2f('0x11'),_0x2995f2,_0x12189c[_0xcc2f('0x13')][_0xcc2f('0x15')]);return _0x321798(_0x12189c[_0xcc2f('0x13')]['message']);}logger[_0xcc2f('0x13')]('ChatInteraction,\x20%s,\x20%s',_0x2995f2,_0x12189c['error']['message']);return _0x2ec8cf(_0x12189c[_0xcc2f('0x13')][_0xcc2f('0x15')]);}else{logger[_0xcc2f('0x16')](_0xcc2f('0x11'),_0x2995f2,'request\x20sent');_0x2ec8cf(_0x12189c[_0xcc2f('0x17')][_0xcc2f('0x15')]);}})[_0xcc2f('0x18')](function(_0x392e8c){logger['error'](_0xcc2f('0x11'),_0x2995f2,_0x392e8c);_0x321798(_0x392e8c);});});}exports[_0xcc2f('0x19')]=function(_0x4427f0){var _0xf03414=this;return new Promise(function(_0x5a646,_0x215022){return db[_0xcc2f('0x1a')][_0xcc2f('0x1b')](_0x4427f0[_0xcc2f('0x1c')],{'raw':_0x4427f0['options']?_0x4427f0[_0xcc2f('0x1d')][_0xcc2f('0x1e')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x4427f0[_0xcc2f('0x1d')]?_0x4427f0[_0xcc2f('0x1d')]['where']||null:null,'attributes':_0x4427f0['options']?_0x4427f0[_0xcc2f('0x1d')][_0xcc2f('0x1f')]||null:null,'limit':_0x4427f0[_0xcc2f('0x1d')]?_0x4427f0['options'][_0xcc2f('0x20')]||null:null})[_0xcc2f('0x10')](function(_0x8f62bc){logger[_0xcc2f('0x16')](_0xcc2f('0x19'),_0x4427f0);logger[_0xcc2f('0x21')]('UpdateChatInteraction',_0x4427f0,JSON[_0xcc2f('0x22')](_0x8f62bc));_0x5a646(_0x8f62bc);})['catch'](function(_0x15c98e){logger['error'](_0xcc2f('0x19'),_0x15c98e[_0xcc2f('0x15')],_0x4427f0);_0x215022(_0xf03414[_0xcc2f('0x13')](0x1f4,_0x15c98e['message']));});});};exports['AddTagsToChatInteraction']=function(_0x55efd7){return new Promise(function(_0x5cbdbe,_0x19c010){return db[_0xcc2f('0x1a')][_0xcc2f('0x23')]({'where':_0x55efd7[_0xcc2f('0x1d')]?_0x55efd7[_0xcc2f('0x1d')][_0xcc2f('0x24')]||null:null})[_0xcc2f('0x10')](function(_0x1ba7bc){if(_0x1ba7bc){return _0x1ba7bc[_0xcc2f('0x25')](_0x55efd7[_0xcc2f('0x1c')][_0xcc2f('0x26')],_[_0xcc2f('0x27')](_0x55efd7[_0xcc2f('0x1c')],[_0xcc2f('0x26'),'id'])||{});}})[_0xcc2f('0x28')](function(_0x1c1652){logger['info'](_0xcc2f('0x29'),_0x55efd7);logger[_0xcc2f('0x21')]('AddTags',_0x55efd7,JSON['stringify'](_0x1c1652));_0x5cbdbe(_0x1c1652);})[_0xcc2f('0x18')](function(_0x51e822){logger[_0xcc2f('0x13')]('AddTags',_0x51e822[_0xcc2f('0x15')],_0x55efd7);_0x19c010(_this['error'](0x1f4,_0x51e822[_0xcc2f('0x15')]));});});};