164c8feb1c121a4bef7567ee713db32103431bbd
[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 _0xc673=['jayson/promise','http','defaults','localhost','redis','./chatInteraction.socket','register','request','then','info','ChatInteraction,\x20%s,\x20%s','request\x20sent','ChatInteraction,\x20%s,\x20%s,\x20%s','stringify','error','message','catch','ChatInteraction','update','body','options','raw','where','debug','UpdateChatInteraction','AddTagsToChatInteraction','addTags','ids','AddTags','lodash','util','bluebird','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment'];(function(_0x2d8143,_0x26e147){var _0x118f5f=function(_0x114eb2){while(--_0x114eb2){_0x2d8143['push'](_0x2d8143['shift']());}};_0x118f5f(++_0x26e147);}(_0xc673,0xe0));var _0x3c67=function(_0x5df995,_0x269f1e){_0x5df995=_0x5df995-0x0;var _0x4b10a6=_0xc673[_0x5df995];return _0x4b10a6;};'use strict';var _=require(_0x3c67('0x0'));var util=require(_0x3c67('0x1'));var moment=require('moment');var BPromise=require(_0x3c67('0x2'));var rs=require(_0x3c67('0x3'));var fs=require('fs');var Redis=require(_0x3c67('0x4'));var db=require(_0x3c67('0x5'))['db'];var utils=require(_0x3c67('0x6'));var logger=require(_0x3c67('0x7'))(_0x3c67('0x8'));var config=require(_0x3c67('0x9'));var jayson=require(_0x3c67('0xa'));var client=jayson['client'][_0x3c67('0xb')]({'port':0x232a});config['redis']=_[_0x3c67('0xc')](config['redis'],{'host':_0x3c67('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x3c67('0xe')]));require(_0x3c67('0xf'))[_0x3c67('0x10')](socket);function respondWithRpcPromise(_0x5395cd,_0x42ae0a,_0x21fdcb){return new BPromise(function(_0x1dc297,_0x336320){return client[_0x3c67('0x11')](_0x5395cd,_0x21fdcb)[_0x3c67('0x12')](function(_0x3d2ef7){logger[_0x3c67('0x13')](_0x3c67('0x14'),_0x42ae0a,_0x3c67('0x15'));logger['debug'](_0x3c67('0x16'),_0x42ae0a,_0x3c67('0x15'),JSON[_0x3c67('0x17')](_0x3d2ef7));if(_0x3d2ef7[_0x3c67('0x18')]){if(_0x3d2ef7['error']['code']===0x1f4){logger[_0x3c67('0x18')](_0x3c67('0x14'),_0x42ae0a,_0x3d2ef7[_0x3c67('0x18')][_0x3c67('0x19')]);return _0x336320(_0x3d2ef7['error'][_0x3c67('0x19')]);}logger[_0x3c67('0x18')]('ChatInteraction,\x20%s,\x20%s',_0x42ae0a,_0x3d2ef7[_0x3c67('0x18')][_0x3c67('0x19')]);return _0x1dc297(_0x3d2ef7[_0x3c67('0x18')][_0x3c67('0x19')]);}else{logger[_0x3c67('0x13')](_0x3c67('0x14'),_0x42ae0a,_0x3c67('0x15'));_0x1dc297(_0x3d2ef7['result'][_0x3c67('0x19')]);}})[_0x3c67('0x1a')](function(_0x3bb967){logger['error'](_0x3c67('0x14'),_0x42ae0a,_0x3bb967);_0x336320(_0x3bb967);});});}exports['UpdateChatInteraction']=function(_0x3586e2){var _0x2c595a=this;return new Promise(function(_0x485004,_0x30042c){return db[_0x3c67('0x1b')][_0x3c67('0x1c')](_0x3586e2[_0x3c67('0x1d')],{'raw':_0x3586e2['options']?_0x3586e2[_0x3c67('0x1e')][_0x3c67('0x1f')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x3586e2[_0x3c67('0x1e')]?_0x3586e2[_0x3c67('0x1e')][_0x3c67('0x20')]||null:null,'attributes':_0x3586e2[_0x3c67('0x1e')]?_0x3586e2[_0x3c67('0x1e')]['attributes']||null:null,'limit':_0x3586e2[_0x3c67('0x1e')]?_0x3586e2[_0x3c67('0x1e')]['limit']||null:null})['then'](function(_0x2f503b){logger['info']('UpdateChatInteraction',_0x3586e2);logger[_0x3c67('0x21')](_0x3c67('0x22'),_0x3586e2,JSON[_0x3c67('0x17')](_0x2f503b));_0x485004(_0x2f503b);})[_0x3c67('0x1a')](function(_0x13f4f3){logger[_0x3c67('0x18')](_0x3c67('0x22'),_0x13f4f3[_0x3c67('0x19')],_0x3586e2);_0x30042c(_0x2c595a[_0x3c67('0x18')](0x1f4,_0x13f4f3[_0x3c67('0x19')]));});});};exports[_0x3c67('0x23')]=function(_0x4bcafd){return new Promise(function(_0x142dea,_0x29fc70){return db['ChatInteraction']['find']({'where':_0x4bcafd[_0x3c67('0x1e')]?_0x4bcafd[_0x3c67('0x1e')][_0x3c67('0x20')]||null:null})[_0x3c67('0x12')](function(_0x29827f){if(_0x29827f){return _0x29827f[_0x3c67('0x24')](_0x4bcafd[_0x3c67('0x1d')][_0x3c67('0x25')],_['omit'](_0x4bcafd[_0x3c67('0x1d')],['ids','id'])||{});}})['spread'](function(_0x260523){logger[_0x3c67('0x13')]('AddTags',_0x4bcafd);logger[_0x3c67('0x21')](_0x3c67('0x26'),_0x4bcafd,JSON[_0x3c67('0x17')](_0x260523));_0x142dea(_0x260523);})[_0x3c67('0x1a')](function(_0x3342a5){logger[_0x3c67('0x18')](_0x3c67('0x26'),_0x3342a5['message'],_0x4bcafd);_0x29fc70(_this[_0x3c67('0x18')](0x1f4,_0x3342a5[_0x3c67('0x19')]));});});};