4b210be5a033f6406a7330a24220141fa1c069a1
[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 _0x2e30=['body','options','where','attributes','limit','AddTagsToChatInteraction','find','omit','spread','AddTags','lodash','util','moment','randomstring','ioredis','../../config/environment','jayson/promise','redis','defaults','socket.io-emitter','./chatInteraction.socket','register','request','then','request\x20sent','debug','stringify','error','code','ChatInteraction,\x20%s,\x20%s','message','info','result','catch','UpdateChatInteraction','ChatInteraction'];(function(_0x2e4bcf,_0x133124){var _0x35f8dd=function(_0x4f49a4){while(--_0x4f49a4){_0x2e4bcf['push'](_0x2e4bcf['shift']());}};_0x35f8dd(++_0x133124);}(_0x2e30,0x1de));var _0x02e3=function(_0x5d82ec,_0x5e363c){_0x5d82ec=_0x5d82ec-0x0;var _0x5c1cde=_0x2e30[_0x5d82ec];return _0x5c1cde;};'use strict';var _=require(_0x02e3('0x0'));var util=require(_0x02e3('0x1'));var moment=require(_0x02e3('0x2'));var BPromise=require('bluebird');var rs=require(_0x02e3('0x3'));var fs=require('fs');var Redis=require(_0x02e3('0x4'));var db=require('../../mysqldb')['db'];var utils=require('../../config/utils');var logger=require('../../config/logger')('rpc');var config=require(_0x02e3('0x5'));var jayson=require(_0x02e3('0x6'));var client=jayson['client']['http']({'port':0x232a});config[_0x02e3('0x7')]=_[_0x02e3('0x8')](config[_0x02e3('0x7')],{'host':'localhost','port':0x18eb});var socket=require(_0x02e3('0x9'))(new Redis(config[_0x02e3('0x7')]));require(_0x02e3('0xa'))[_0x02e3('0xb')](socket);function respondWithRpcPromise(_0x998371,_0x2d8aca,_0x55f40e){return new BPromise(function(_0x31c701,_0x782ec2){return client[_0x02e3('0xc')](_0x998371,_0x55f40e)[_0x02e3('0xd')](function(_0x543e60){logger['info']('ChatInteraction,\x20%s,\x20%s',_0x2d8aca,_0x02e3('0xe'));logger[_0x02e3('0xf')]('ChatInteraction,\x20%s,\x20%s,\x20%s',_0x2d8aca,_0x02e3('0xe'),JSON[_0x02e3('0x10')](_0x543e60));if(_0x543e60[_0x02e3('0x11')]){if(_0x543e60[_0x02e3('0x11')][_0x02e3('0x12')]===0x1f4){logger[_0x02e3('0x11')](_0x02e3('0x13'),_0x2d8aca,_0x543e60['error']['message']);return _0x782ec2(_0x543e60[_0x02e3('0x11')][_0x02e3('0x14')]);}logger[_0x02e3('0x11')]('ChatInteraction,\x20%s,\x20%s',_0x2d8aca,_0x543e60[_0x02e3('0x11')]['message']);return _0x31c701(_0x543e60[_0x02e3('0x11')][_0x02e3('0x14')]);}else{logger[_0x02e3('0x15')](_0x02e3('0x13'),_0x2d8aca,_0x02e3('0xe'));_0x31c701(_0x543e60[_0x02e3('0x16')]['message']);}})[_0x02e3('0x17')](function(_0x44cb8e){logger['error'](_0x02e3('0x13'),_0x2d8aca,_0x44cb8e);_0x782ec2(_0x44cb8e);});});}exports[_0x02e3('0x18')]=function(_0x42e26a){var _0x199c29=this;return new Promise(function(_0xa169a3,_0x79d752){return db[_0x02e3('0x19')]['update'](_0x42e26a[_0x02e3('0x1a')],{'raw':_0x42e26a[_0x02e3('0x1b')]?_0x42e26a['options']['raw']===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x42e26a[_0x02e3('0x1b')]?_0x42e26a['options'][_0x02e3('0x1c')]||null:null,'attributes':_0x42e26a[_0x02e3('0x1b')]?_0x42e26a[_0x02e3('0x1b')][_0x02e3('0x1d')]||null:null,'limit':_0x42e26a[_0x02e3('0x1b')]?_0x42e26a[_0x02e3('0x1b')][_0x02e3('0x1e')]||null:null})['then'](function(_0x4ec158){logger[_0x02e3('0x15')]('UpdateChatInteraction',_0x42e26a);logger['debug'](_0x02e3('0x18'),_0x42e26a,JSON['stringify'](_0x4ec158));_0xa169a3(_0x4ec158);})[_0x02e3('0x17')](function(_0x1a371f){logger['error'](_0x02e3('0x18'),_0x1a371f[_0x02e3('0x14')],_0x42e26a);_0x79d752(_0x199c29[_0x02e3('0x11')](0x1f4,_0x1a371f['message']));});});};exports[_0x02e3('0x1f')]=function(_0x560a7c){return new Promise(function(_0x21d0b6,_0x407d4a){return db[_0x02e3('0x19')][_0x02e3('0x20')]({'where':_0x560a7c[_0x02e3('0x1b')]?_0x560a7c[_0x02e3('0x1b')][_0x02e3('0x1c')]||null:null})['then'](function(_0x2f3dc1){if(_0x2f3dc1){return _0x2f3dc1['addTags'](_0x560a7c['body']['ids'],_[_0x02e3('0x21')](_0x560a7c[_0x02e3('0x1a')],['ids','id'])||{});}})[_0x02e3('0x22')](function(_0x12e0cc){logger['info'](_0x02e3('0x23'),_0x560a7c);logger['debug'](_0x02e3('0x23'),_0x560a7c,JSON[_0x02e3('0x10')](_0x12e0cc));_0x21d0b6(_0x12e0cc);})['catch'](function(_0x43139a){logger[_0x02e3('0x11')](_0x02e3('0x23'),_0x43139a[_0x02e3('0x14')],_0x560a7c);_0x407d4a(_this['error'](0x1f4,_0x43139a[_0x02e3('0x14')]));});});};