0fdd06dbc8bb75962f089a0fee0b6002e9ff1b58
[motion2.git] / server / api / mailInteraction / mailInteraction.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 _0x2fa9=['debug','catch','find','where','addTags','ids','omit','spread','AddTags','lodash','util','randomstring','ioredis','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','http','defaults','redis','./mailInteraction.socket','register','then','info','MailInteraction,\x20%s,\x20%s','MailInteraction,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','UpdateMailInteraction','MailInteraction','body','options','raw','attributes','limit'];(function(_0x2ca91d,_0x4e8413){var _0x4a5dde=function(_0x15af85){while(--_0x15af85){_0x2ca91d['push'](_0x2ca91d['shift']());}};_0x4a5dde(++_0x4e8413);}(_0x2fa9,0x1e9));var _0x92fa=function(_0x375953,_0x57e5bc){_0x375953=_0x375953-0x0;var _0x11d4a5=_0x2fa9[_0x375953];return _0x11d4a5;};'use strict';var _=require(_0x92fa('0x0'));var util=require(_0x92fa('0x1'));var moment=require('moment');var BPromise=require('bluebird');var rs=require(_0x92fa('0x2'));var fs=require('fs');var Redis=require(_0x92fa('0x3'));var db=require(_0x92fa('0x4'))['db'];var utils=require(_0x92fa('0x5'));var logger=require(_0x92fa('0x6'))(_0x92fa('0x7'));var config=require('../../config/environment');var jayson=require(_0x92fa('0x8'));var client=jayson['client'][_0x92fa('0x9')]({'port':0x232a});config['redis']=_[_0x92fa('0xa')](config[_0x92fa('0xb')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x92fa('0xb')]));require(_0x92fa('0xc'))[_0x92fa('0xd')](socket);function respondWithRpcPromise(_0x16dab5,_0xf614f0,_0x32929e){return new BPromise(function(_0x28e4ef,_0x3f2b3d){return client['request'](_0x16dab5,_0x32929e)[_0x92fa('0xe')](function(_0x225db6){logger[_0x92fa('0xf')](_0x92fa('0x10'),_0xf614f0,'request\x20sent');logger['debug'](_0x92fa('0x11'),_0xf614f0,_0x92fa('0x12'),JSON[_0x92fa('0x13')](_0x225db6));if(_0x225db6['error']){if(_0x225db6[_0x92fa('0x14')][_0x92fa('0x15')]===0x1f4){logger[_0x92fa('0x14')](_0x92fa('0x10'),_0xf614f0,_0x225db6['error'][_0x92fa('0x16')]);return _0x3f2b3d(_0x225db6[_0x92fa('0x14')][_0x92fa('0x16')]);}logger['error'](_0x92fa('0x10'),_0xf614f0,_0x225db6[_0x92fa('0x14')][_0x92fa('0x16')]);return _0x28e4ef(_0x225db6[_0x92fa('0x14')]['message']);}else{logger[_0x92fa('0xf')](_0x92fa('0x10'),_0xf614f0,_0x92fa('0x12'));_0x28e4ef(_0x225db6[_0x92fa('0x17')]['message']);}})['catch'](function(_0x3fa803){logger[_0x92fa('0x14')](_0x92fa('0x10'),_0xf614f0,_0x3fa803);_0x3f2b3d(_0x3fa803);});});}exports[_0x92fa('0x18')]=function(_0x4f724e){var _0x3fa0ff=this;return new Promise(function(_0x3d4d58,_0x4cda98){return db[_0x92fa('0x19')]['update'](_0x4f724e[_0x92fa('0x1a')],{'raw':_0x4f724e[_0x92fa('0x1b')]?_0x4f724e['options'][_0x92fa('0x1c')]===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0x4f724e[_0x92fa('0x1b')]?_0x4f724e[_0x92fa('0x1b')]['where']||null:null,'attributes':_0x4f724e['options']?_0x4f724e[_0x92fa('0x1b')][_0x92fa('0x1d')]||null:null,'limit':_0x4f724e[_0x92fa('0x1b')]?_0x4f724e[_0x92fa('0x1b')][_0x92fa('0x1e')]||null:null})[_0x92fa('0xe')](function(_0x55ef63){logger['info']('UpdateMailInteraction',_0x4f724e);logger[_0x92fa('0x1f')](_0x92fa('0x18'),_0x4f724e,JSON[_0x92fa('0x13')](_0x55ef63));_0x3d4d58(_0x55ef63);})[_0x92fa('0x20')](function(_0x44c334){logger['error'](_0x92fa('0x18'),_0x44c334['message'],_0x4f724e);_0x4cda98(_0x3fa0ff['error'](0x1f4,_0x44c334[_0x92fa('0x16')]));});});};exports['AddTagsToMailInteraction']=function(_0x186b64){return new Promise(function(_0x52e320,_0x47b327){return db[_0x92fa('0x19')][_0x92fa('0x21')]({'where':_0x186b64['options']?_0x186b64['options'][_0x92fa('0x22')]||null:null})[_0x92fa('0xe')](function(_0x4994ca){if(_0x4994ca){return _0x4994ca[_0x92fa('0x23')](_0x186b64[_0x92fa('0x1a')][_0x92fa('0x24')],_[_0x92fa('0x25')](_0x186b64['body'],[_0x92fa('0x24'),'id'])||{});}})[_0x92fa('0x26')](function(_0x36d663){logger['info']('AddTags',_0x186b64);logger['debug']('AddTags',_0x186b64,JSON[_0x92fa('0x13')](_0x36d663));_0x52e320(_0x36d663);})['catch'](function(_0x54e88d){logger[_0x92fa('0x14')](_0x92fa('0x27'),_0x54e88d['message'],_0x186b64);_0x47b327(_this[_0x92fa('0x14')](0x1f4,_0x54e88d[_0x92fa('0x16')]));});});};