73de3d3738340630814c539e9516663bbad91be4
[motion2.git] / server / api / cmContact / cmContact.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 _0x0b9b=['../../config/logger','../../config/environment','jayson/promise','client','http','redis','defaults','localhost','./cmContact.socket','register','then','CmContact,\x20%s,\x20%s','request\x20sent','debug','CmContact,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','GetCmContact','options','raw','attributes','limit','map','model','include','catch','body','keys','startsWith','cf_','table','cm_contacts','set','id\x20=\x20?','toString','sequelize','query','CreateCmContact','lodash','moment','bluebird','randomstring','squel','../../mysqldb'];(function(_0xba1835,_0x219a4c){var _0x41e70a=function(_0x3f14da){while(--_0x3f14da){_0xba1835['push'](_0xba1835['shift']());}};_0x41e70a(++_0x219a4c);}(_0x0b9b,0xba));var _0xb0b9=function(_0x1cdc4b,_0x581c39){_0x1cdc4b=_0x1cdc4b-0x0;var _0x1c9bd8=_0x0b9b[_0x1cdc4b];return _0x1c9bd8;};'use strict';var _=require(_0xb0b9('0x0'));var util=require('util');var moment=require(_0xb0b9('0x1'));var BPromise=require(_0xb0b9('0x2'));var rs=require(_0xb0b9('0x3'));var fs=require('fs');var Redis=require('ioredis');var squel=require(_0xb0b9('0x4'));var db=require(_0xb0b9('0x5'))['db'];var utils=require('../../config/utils');var logger=require(_0xb0b9('0x6'))('rpc');var config=require(_0xb0b9('0x7'));var jayson=require(_0xb0b9('0x8'));var client=jayson[_0xb0b9('0x9')][_0xb0b9('0xa')]({'port':0x232a});config[_0xb0b9('0xb')]=_[_0xb0b9('0xc')](config['redis'],{'host':_0xb0b9('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xb0b9('0xb')]));require(_0xb0b9('0xe'))[_0xb0b9('0xf')](socket);function respondWithRpcPromise(_0x557f35,_0x235608,_0x2bd877){return new BPromise(function(_0x2289c0,_0x484301){return client['request'](_0x557f35,_0x2bd877)[_0xb0b9('0x10')](function(_0x54f622){logger['info'](_0xb0b9('0x11'),_0x235608,_0xb0b9('0x12'));logger[_0xb0b9('0x13')](_0xb0b9('0x14'),_0x235608,'request\x20sent',JSON[_0xb0b9('0x15')](_0x54f622));if(_0x54f622['error']){if(_0x54f622[_0xb0b9('0x16')][_0xb0b9('0x17')]===0x1f4){logger['error']('CmContact,\x20%s,\x20%s',_0x235608,_0x54f622[_0xb0b9('0x16')][_0xb0b9('0x18')]);return _0x484301(_0x54f622[_0xb0b9('0x16')]['message']);}logger[_0xb0b9('0x16')](_0xb0b9('0x11'),_0x235608,_0x54f622['error'][_0xb0b9('0x18')]);return _0x2289c0(_0x54f622['error'][_0xb0b9('0x18')]);}else{logger[_0xb0b9('0x19')]('CmContact,\x20%s,\x20%s',_0x235608,_0xb0b9('0x12'));_0x2289c0(_0x54f622[_0xb0b9('0x1a')][_0xb0b9('0x18')]);}})['catch'](function(_0x3a220c){logger[_0xb0b9('0x16')](_0xb0b9('0x11'),_0x235608,_0x3a220c);_0x484301(_0x3a220c);});});}exports[_0xb0b9('0x1b')]=function(_0x21c929){var _0x3f370e=this;return new Promise(function(_0x1ab24f,_0x51a531){return db['CmContact']['findAll']({'raw':_0x21c929[_0xb0b9('0x1c')]?_0x21c929[_0xb0b9('0x1c')][_0xb0b9('0x1d')]===undefined?!![]:![]:!![],'where':_0x21c929[_0xb0b9('0x1c')]?_0x21c929[_0xb0b9('0x1c')]['where']||null:null,'attributes':_0x21c929['options']?_0x21c929[_0xb0b9('0x1c')][_0xb0b9('0x1e')]||null:null,'limit':_0x21c929['options']?_0x21c929[_0xb0b9('0x1c')][_0xb0b9('0x1f')]||null:null,'include':_0x21c929['options']?_0x21c929[_0xb0b9('0x1c')]['include']?_[_0xb0b9('0x20')](_0x21c929[_0xb0b9('0x1c')]['include'],function(_0x4314db){return{'model':db[_0x4314db[_0xb0b9('0x21')]],'as':_0x4314db['as'],'attributes':_0x4314db[_0xb0b9('0x1e')],'include':_0x4314db[_0xb0b9('0x22')]?_['map'](_0x4314db[_0xb0b9('0x22')],function(_0x5127ee){return{'model':db[_0x5127ee[_0xb0b9('0x21')]],'as':_0x5127ee['as'],'attributes':_0x5127ee[_0xb0b9('0x1e')],'include':_0x5127ee['include']?_[_0xb0b9('0x20')](_0x5127ee['include'],function(_0x36c437){return{'model':db[_0x36c437[_0xb0b9('0x21')]],'as':_0x36c437['as'],'attributes':_0x36c437['attributes']};}):[]};}):[]};}):[]:[]})[_0xb0b9('0x10')](function(_0x267c8c){logger['info']('GetCmContact',_0x21c929);logger[_0xb0b9('0x13')](_0xb0b9('0x1b'),_0x21c929,JSON['stringify'](_0x267c8c));_0x1ab24f(_0x267c8c);})[_0xb0b9('0x23')](function(_0x540185){logger[_0xb0b9('0x16')](_0xb0b9('0x1b'),_0x540185['message'],_0x21c929);_0x51a531(_0x3f370e[_0xb0b9('0x16')](0x1f4,_0x540185[_0xb0b9('0x18')]));});});};exports['CreateCmContact']=function(_0x42d485){var _0x11b8de=this;return new Promise(function(_0x3bbf66,_0x55cf1a){return db['CmContact']['create'](_0x42d485[_0xb0b9('0x24')],{'raw':_0x42d485['options']?_0x42d485[_0xb0b9('0x1c')][_0xb0b9('0x1d')]===undefined?!![]:![]:!![]})[_0xb0b9('0x10')](function(_0x38e7cc){var _0x5c9480;for(var _0x349c49=0x0;_0x349c49<Object['keys'](_0x42d485[_0xb0b9('0x24')])['length'];_0x349c49++){var _0x59452b=Object[_0xb0b9('0x25')](_0x42d485[_0xb0b9('0x24')])[_0x349c49];if(_0x59452b[_0xb0b9('0x26')](_0xb0b9('0x27'))){_0x5c9480=squel['update']()[_0xb0b9('0x28')](_0xb0b9('0x29'))[_0xb0b9('0x2a')](_0x59452b,_0x42d485[_0xb0b9('0x24')][_0x59452b])['where'](_0xb0b9('0x2b'),_0x38e7cc['id'])[_0xb0b9('0x2c')]();break;}}if(!_0x5c9480)return _0x38e7cc;return db[_0xb0b9('0x2d')][_0xb0b9('0x2e')](_0x5c9480)['then'](function(){return _0x38e7cc;});})[_0xb0b9('0x10')](function(_0x2a8344){logger['info'](_0xb0b9('0x2f'),_0x42d485);logger['debug'](_0xb0b9('0x2f'),_0x42d485,JSON[_0xb0b9('0x15')](_0x2a8344));_0x3bbf66(_0x2a8344);})[_0xb0b9('0x23')](function(_0x2c57f9){logger[_0xb0b9('0x16')](_0xb0b9('0x2f'),_0x2c57f9['message'],_0x42d485);_0x55cf1a(_0x11b8de[_0xb0b9('0x16')](0x1f4,_0x2c57f9[_0xb0b9('0x18')]));});});};