518fca1c65c32a9a8160c205bbe61ca940159a92
[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 _0x1ce0=['ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','redis','defaults','localhost','request','then','info','ChatInteraction,\x20%s,\x20%s','debug','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','code','message','request\x20sent','catch','UpdateChatInteraction','update','body','options','raw','attributes','limit','AddTagsToChatInteraction','ChatInteraction','find','addTags','ids','omit','spread','AddTags','util','moment','bluebird','randomstring'];(function(_0x2c3528,_0x3511de){var _0x93502d=function(_0x5905e){while(--_0x5905e){_0x2c3528['push'](_0x2c3528['shift']());}};_0x93502d(++_0x3511de);}(_0x1ce0,0x134));var _0x01ce=function(_0x510cd9,_0x551300){_0x510cd9=_0x510cd9-0x0;var _0x2b1f61=_0x1ce0[_0x510cd9];return _0x2b1f61;};'use strict';var _=require('lodash');var util=require(_0x01ce('0x0'));var moment=require(_0x01ce('0x1'));var BPromise=require(_0x01ce('0x2'));var rs=require(_0x01ce('0x3'));var fs=require('fs');var Redis=require(_0x01ce('0x4'));var db=require(_0x01ce('0x5'))['db'];var utils=require(_0x01ce('0x6'));var logger=require(_0x01ce('0x7'))(_0x01ce('0x8'));var config=require('../../config/environment');var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232a});config[_0x01ce('0x9')]=_[_0x01ce('0xa')](config[_0x01ce('0x9')],{'host':_0x01ce('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./chatInteraction.socket')['register'](socket);function respondWithRpcPromise(_0x4f74f2,_0x260f3e,_0x3ff41f){return new BPromise(function(_0x54d72f,_0x58445b){return client[_0x01ce('0xc')](_0x4f74f2,_0x3ff41f)[_0x01ce('0xd')](function(_0x1e2cad){logger[_0x01ce('0xe')](_0x01ce('0xf'),_0x260f3e,'request\x20sent');logger[_0x01ce('0x10')](_0x01ce('0x11'),_0x260f3e,'request\x20sent',JSON[_0x01ce('0x12')](_0x1e2cad));if(_0x1e2cad['error']){if(_0x1e2cad[_0x01ce('0x13')][_0x01ce('0x14')]===0x1f4){logger['error']('ChatInteraction,\x20%s,\x20%s',_0x260f3e,_0x1e2cad[_0x01ce('0x13')][_0x01ce('0x15')]);return _0x58445b(_0x1e2cad['error']['message']);}logger[_0x01ce('0x13')](_0x01ce('0xf'),_0x260f3e,_0x1e2cad[_0x01ce('0x13')][_0x01ce('0x15')]);return _0x54d72f(_0x1e2cad['error'][_0x01ce('0x15')]);}else{logger['info']('ChatInteraction,\x20%s,\x20%s',_0x260f3e,_0x01ce('0x16'));_0x54d72f(_0x1e2cad['result'][_0x01ce('0x15')]);}})[_0x01ce('0x17')](function(_0x1657df){logger[_0x01ce('0x13')](_0x01ce('0xf'),_0x260f3e,_0x1657df);_0x58445b(_0x1657df);});});}exports[_0x01ce('0x18')]=function(_0x5aaa9d){var _0x2b02d1=this;return new Promise(function(_0x6d2c15,_0x2ed194){return db['ChatInteraction'][_0x01ce('0x19')](_0x5aaa9d[_0x01ce('0x1a')],{'raw':_0x5aaa9d[_0x01ce('0x1b')]?_0x5aaa9d['options'][_0x01ce('0x1c')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x5aaa9d[_0x01ce('0x1b')]?_0x5aaa9d[_0x01ce('0x1b')]['where']||null:null,'attributes':_0x5aaa9d[_0x01ce('0x1b')]?_0x5aaa9d[_0x01ce('0x1b')][_0x01ce('0x1d')]||null:null,'limit':_0x5aaa9d[_0x01ce('0x1b')]?_0x5aaa9d[_0x01ce('0x1b')][_0x01ce('0x1e')]||null:null})['then'](function(_0x34170b){logger[_0x01ce('0xe')](_0x01ce('0x18'),_0x5aaa9d);logger[_0x01ce('0x10')](_0x01ce('0x18'),_0x5aaa9d,JSON['stringify'](_0x34170b));_0x6d2c15(_0x34170b);})['catch'](function(_0x322c04){logger[_0x01ce('0x13')](_0x01ce('0x18'),_0x322c04[_0x01ce('0x15')],_0x5aaa9d);_0x2ed194(_0x2b02d1['error'](0x1f4,_0x322c04[_0x01ce('0x15')]));});});};exports[_0x01ce('0x1f')]=function(_0x15cc71){return new Promise(function(_0x4520a1,_0x3463bf){return db[_0x01ce('0x20')][_0x01ce('0x21')]({'where':_0x15cc71[_0x01ce('0x1b')]?_0x15cc71[_0x01ce('0x1b')]['where']||null:null})[_0x01ce('0xd')](function(_0x260cf6){if(_0x260cf6){return _0x260cf6[_0x01ce('0x22')](_0x15cc71[_0x01ce('0x1a')][_0x01ce('0x23')],_[_0x01ce('0x24')](_0x15cc71[_0x01ce('0x1a')],[_0x01ce('0x23'),'id'])||{});}})[_0x01ce('0x25')](function(_0x5c25e9){logger[_0x01ce('0xe')]('AddTags',_0x15cc71);logger[_0x01ce('0x10')](_0x01ce('0x26'),_0x15cc71,JSON[_0x01ce('0x12')](_0x5c25e9));_0x4520a1(_0x5c25e9);})[_0x01ce('0x17')](function(_0x2a4cbf){logger[_0x01ce('0x13')](_0x01ce('0x26'),_0x2a4cbf[_0x01ce('0x15')],_0x15cc71);_0x3463bf(_this[_0x01ce('0x13')](0x1f4,_0x2a4cbf[_0x01ce('0x15')]));});});};