f5c3be0c5f1347057a228c83eb21f2a86a8471d3
[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 _0x107e=['client','redis','defaults','localhost','socket.io-emitter','./mailInteraction.socket','request','then','info','MailInteraction,\x20%s,\x20%s','request\x20sent','error','message','result','UpdateMailInteraction','MailInteraction','update','body','options','where','attributes','limit','debug','catch','AddTagsToMailInteraction','omit','ids','AddTags','moment','bluebird','../../mysqldb','../../config/logger','../../config/environment','jayson/promise'];(function(_0x22ebae,_0x3e6eae){var _0x397803=function(_0x1f3306){while(--_0x1f3306){_0x22ebae['push'](_0x22ebae['shift']());}};_0x397803(++_0x3e6eae);}(_0x107e,0xe8));var _0xe107=function(_0x55fe56,_0x2573d1){_0x55fe56=_0x55fe56-0x0;var _0x36d1dd=_0x107e[_0x55fe56];return _0x36d1dd;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0xe107('0x0'));var BPromise=require(_0xe107('0x1'));var rs=require('randomstring');var fs=require('fs');var Redis=require('ioredis');var db=require(_0xe107('0x2'))['db'];var utils=require('../../config/utils');var logger=require(_0xe107('0x3'))('rpc');var config=require(_0xe107('0x4'));var jayson=require(_0xe107('0x5'));var client=jayson[_0xe107('0x6')]['http']({'port':0x232a});config[_0xe107('0x7')]=_[_0xe107('0x8')](config[_0xe107('0x7')],{'host':_0xe107('0x9'),'port':0x18eb});var socket=require(_0xe107('0xa'))(new Redis(config[_0xe107('0x7')]));require(_0xe107('0xb'))['register'](socket);function respondWithRpcPromise(_0x499c67,_0x51b77b,_0x31ff70){return new BPromise(function(_0x1ab175,_0x2818cb){return client[_0xe107('0xc')](_0x499c67,_0x31ff70)[_0xe107('0xd')](function(_0x1ac5a0){logger[_0xe107('0xe')](_0xe107('0xf'),_0x51b77b,'request\x20sent');logger['debug']('MailInteraction,\x20%s,\x20%s,\x20%s',_0x51b77b,_0xe107('0x10'),JSON['stringify'](_0x1ac5a0));if(_0x1ac5a0[_0xe107('0x11')]){if(_0x1ac5a0[_0xe107('0x11')]['code']===0x1f4){logger['error'](_0xe107('0xf'),_0x51b77b,_0x1ac5a0[_0xe107('0x11')][_0xe107('0x12')]);return _0x2818cb(_0x1ac5a0[_0xe107('0x11')][_0xe107('0x12')]);}logger[_0xe107('0x11')](_0xe107('0xf'),_0x51b77b,_0x1ac5a0[_0xe107('0x11')][_0xe107('0x12')]);return _0x1ab175(_0x1ac5a0[_0xe107('0x11')][_0xe107('0x12')]);}else{logger[_0xe107('0xe')](_0xe107('0xf'),_0x51b77b,'request\x20sent');_0x1ab175(_0x1ac5a0[_0xe107('0x13')][_0xe107('0x12')]);}})['catch'](function(_0x5b872d){logger[_0xe107('0x11')]('MailInteraction,\x20%s,\x20%s',_0x51b77b,_0x5b872d);_0x2818cb(_0x5b872d);});});}exports[_0xe107('0x14')]=function(_0xb76fcb){var _0x2e6a61=this;return new Promise(function(_0x1698a9,_0x12ac84){return db[_0xe107('0x15')][_0xe107('0x16')](_0xb76fcb[_0xe107('0x17')],{'raw':_0xb76fcb[_0xe107('0x18')]?_0xb76fcb[_0xe107('0x18')]['raw']===undefined?!![]:![]:!![],'individualHooks':!![],'where':_0xb76fcb[_0xe107('0x18')]?_0xb76fcb[_0xe107('0x18')][_0xe107('0x19')]||null:null,'attributes':_0xb76fcb['options']?_0xb76fcb[_0xe107('0x18')][_0xe107('0x1a')]||null:null,'limit':_0xb76fcb['options']?_0xb76fcb[_0xe107('0x18')][_0xe107('0x1b')]||null:null})[_0xe107('0xd')](function(_0x42ab35){logger['info'](_0xe107('0x14'),_0xb76fcb);logger[_0xe107('0x1c')](_0xe107('0x14'),_0xb76fcb,JSON['stringify'](_0x42ab35));_0x1698a9(_0x42ab35);})[_0xe107('0x1d')](function(_0x2e46f9){logger[_0xe107('0x11')]('UpdateMailInteraction',_0x2e46f9[_0xe107('0x12')],_0xb76fcb);_0x12ac84(_0x2e6a61[_0xe107('0x11')](0x1f4,_0x2e46f9[_0xe107('0x12')]));});});};exports[_0xe107('0x1e')]=function(_0x3c8dd4){return new Promise(function(_0x5a8b28,_0x13db7f){return db[_0xe107('0x15')]['find']({'where':_0x3c8dd4[_0xe107('0x18')]?_0x3c8dd4[_0xe107('0x18')]['where']||null:null})[_0xe107('0xd')](function(_0x1adf7a){if(_0x1adf7a){return _0x1adf7a['addTags'](_0x3c8dd4[_0xe107('0x17')]['ids'],_[_0xe107('0x1f')](_0x3c8dd4[_0xe107('0x17')],[_0xe107('0x20'),'id'])||{});}})['spread'](function(_0x6f85af){logger['info'](_0xe107('0x21'),_0x3c8dd4);logger['debug'](_0xe107('0x21'),_0x3c8dd4,JSON['stringify'](_0x6f85af));_0x5a8b28(_0x6f85af);})['catch'](function(_0x42a31){logger[_0xe107('0x11')](_0xe107('0x21'),_0x42a31[_0xe107('0x12')],_0x3c8dd4);_0x13db7f(_this['error'](0x1f4,_0x42a31[_0xe107('0x12')]));});});};