efabaedab61ea3ec2ce33284d203961d35763d48
[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 _0xafd6=['toString','query','lodash','util','moment','bluebird','randomstring','ioredis','squel','rpc','../../config/environment','client','http','redis','socket.io-emitter','./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','catch','GetCmContact','CmContact','findAll','options','raw','where','attributes','limit','include','map','model','CreateCmContact','create','body','keys','length','cf_','set','id\x20=\x20?'];(function(_0x7351da,_0x2d3934){var _0x5960dd=function(_0x2fd318){while(--_0x2fd318){_0x7351da['push'](_0x7351da['shift']());}};_0x5960dd(++_0x2d3934);}(_0xafd6,0xf2));var _0x6afd=function(_0x556548,_0x11590d){_0x556548=_0x556548-0x0;var _0x36288c=_0xafd6[_0x556548];return _0x36288c;};'use strict';var _=require(_0x6afd('0x0'));var util=require(_0x6afd('0x1'));var moment=require(_0x6afd('0x2'));var BPromise=require(_0x6afd('0x3'));var rs=require(_0x6afd('0x4'));var fs=require('fs');var Redis=require(_0x6afd('0x5'));var squel=require(_0x6afd('0x6'));var db=require('../../mysqldb')['db'];var utils=require('../../config/utils');var logger=require('../../config/logger')(_0x6afd('0x7'));var config=require(_0x6afd('0x8'));var jayson=require('jayson/promise');var client=jayson[_0x6afd('0x9')][_0x6afd('0xa')]({'port':0x232a});config[_0x6afd('0xb')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x6afd('0xc'))(new Redis(config[_0x6afd('0xb')]));require(_0x6afd('0xd'))[_0x6afd('0xe')](socket);function respondWithRpcPromise(_0x2ea99,_0x481800,_0x44e241){return new BPromise(function(_0x1ff6c1,_0x1aff1a){return client['request'](_0x2ea99,_0x44e241)[_0x6afd('0xf')](function(_0x3ad61b){logger['info'](_0x6afd('0x10'),_0x481800,_0x6afd('0x11'));logger[_0x6afd('0x12')](_0x6afd('0x13'),_0x481800,_0x6afd('0x11'),JSON[_0x6afd('0x14')](_0x3ad61b));if(_0x3ad61b[_0x6afd('0x15')]){if(_0x3ad61b[_0x6afd('0x15')][_0x6afd('0x16')]===0x1f4){logger[_0x6afd('0x15')]('CmContact,\x20%s,\x20%s',_0x481800,_0x3ad61b[_0x6afd('0x15')][_0x6afd('0x17')]);return _0x1aff1a(_0x3ad61b[_0x6afd('0x15')]['message']);}logger[_0x6afd('0x15')](_0x6afd('0x10'),_0x481800,_0x3ad61b[_0x6afd('0x15')]['message']);return _0x1ff6c1(_0x3ad61b[_0x6afd('0x15')][_0x6afd('0x17')]);}else{logger[_0x6afd('0x18')](_0x6afd('0x10'),_0x481800,_0x6afd('0x11'));_0x1ff6c1(_0x3ad61b[_0x6afd('0x19')][_0x6afd('0x17')]);}})[_0x6afd('0x1a')](function(_0x1051dc){logger[_0x6afd('0x15')](_0x6afd('0x10'),_0x481800,_0x1051dc);_0x1aff1a(_0x1051dc);});});}exports[_0x6afd('0x1b')]=function(_0x4787ab){var _0x28d054=this;return new Promise(function(_0xa24644,_0x5833e9){return db[_0x6afd('0x1c')][_0x6afd('0x1d')]({'raw':_0x4787ab[_0x6afd('0x1e')]?_0x4787ab[_0x6afd('0x1e')][_0x6afd('0x1f')]===undefined?!![]:![]:!![],'where':_0x4787ab[_0x6afd('0x1e')]?_0x4787ab[_0x6afd('0x1e')][_0x6afd('0x20')]||null:null,'attributes':_0x4787ab[_0x6afd('0x1e')]?_0x4787ab[_0x6afd('0x1e')][_0x6afd('0x21')]||null:null,'limit':_0x4787ab[_0x6afd('0x1e')]?_0x4787ab[_0x6afd('0x1e')][_0x6afd('0x22')]||null:null,'include':_0x4787ab[_0x6afd('0x1e')]?_0x4787ab[_0x6afd('0x1e')][_0x6afd('0x23')]?_[_0x6afd('0x24')](_0x4787ab[_0x6afd('0x1e')][_0x6afd('0x23')],function(_0x38778b){return{'model':db[_0x38778b[_0x6afd('0x25')]],'as':_0x38778b['as'],'attributes':_0x38778b['attributes'],'include':_0x38778b[_0x6afd('0x23')]?_[_0x6afd('0x24')](_0x38778b[_0x6afd('0x23')],function(_0x18cb70){return{'model':db[_0x18cb70[_0x6afd('0x25')]],'as':_0x18cb70['as'],'attributes':_0x18cb70[_0x6afd('0x21')],'include':_0x18cb70[_0x6afd('0x23')]?_[_0x6afd('0x24')](_0x18cb70['include'],function(_0x476348){return{'model':db[_0x476348['model']],'as':_0x476348['as'],'attributes':_0x476348['attributes']};}):[]};}):[]};}):[]:[]})[_0x6afd('0xf')](function(_0x2db719){logger['info'](_0x6afd('0x1b'),_0x4787ab);logger[_0x6afd('0x12')](_0x6afd('0x1b'),_0x4787ab,JSON[_0x6afd('0x14')](_0x2db719));_0xa24644(_0x2db719);})['catch'](function(_0x18f5f2){logger['error'](_0x6afd('0x1b'),_0x18f5f2[_0x6afd('0x17')],_0x4787ab);_0x5833e9(_0x28d054[_0x6afd('0x15')](0x1f4,_0x18f5f2[_0x6afd('0x17')]));});});};exports[_0x6afd('0x26')]=function(_0x490888){var _0x38e38a=this;return new Promise(function(_0x5e5a5d,_0x5e4354){return db[_0x6afd('0x1c')][_0x6afd('0x27')](_0x490888[_0x6afd('0x28')],{'raw':_0x490888[_0x6afd('0x1e')]?_0x490888[_0x6afd('0x1e')][_0x6afd('0x1f')]===undefined?!![]:![]:!![]})[_0x6afd('0xf')](function(_0x36bad4){var _0x2c5328;for(var _0x228f8f=0x0;_0x228f8f<Object[_0x6afd('0x29')](_0x490888[_0x6afd('0x28')])[_0x6afd('0x2a')];_0x228f8f++){var _0x22e5c5=Object[_0x6afd('0x29')](_0x490888[_0x6afd('0x28')])[_0x228f8f];if(_0x22e5c5['startsWith'](_0x6afd('0x2b'))){_0x2c5328=squel['update']()['table']('cm_contacts')[_0x6afd('0x2c')](_0x22e5c5,_0x490888[_0x6afd('0x28')][_0x22e5c5])['where'](_0x6afd('0x2d'),_0x36bad4['id'])[_0x6afd('0x2e')]();break;}}if(!_0x2c5328)return _0x36bad4;return db['sequelize'][_0x6afd('0x2f')](_0x2c5328)[_0x6afd('0xf')](function(){return _0x36bad4;});})[_0x6afd('0xf')](function(_0x344140){logger[_0x6afd('0x18')](_0x6afd('0x26'),_0x490888);logger[_0x6afd('0x12')](_0x6afd('0x26'),_0x490888,JSON[_0x6afd('0x14')](_0x344140));_0x5e5a5d(_0x344140);})['catch'](function(_0xc2e8fc){logger['error']('CreateCmContact',_0xc2e8fc[_0x6afd('0x17')],_0x490888);_0x5e4354(_0x38e38a[_0x6afd('0x15')](0x1f4,_0xc2e8fc[_0x6afd('0x17')]));});});};