26a3e951ad4b85683976c6aa3c7032fbeba104a8
[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 _0x5c85=['../../config/logger','rpc','../../config/environment','http','redis','defaults','localhost','socket.io-emitter','then','info','CmContact,\x20%s,\x20%s','request\x20sent','debug','CmContact,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','CmContact','findAll','options','raw','where','attributes','limit','include','map','model','GetCmContact','create','body','keys','length','startsWith','update','table','set','id\x20=\x20?','toString','sequelize','query','CreateCmContact','lodash','moment','randomstring','squel','../../mysqldb','../../config/utils'];(function(_0x543425,_0x286db8){var _0x40cdce=function(_0x12c4cd){while(--_0x12c4cd){_0x543425['push'](_0x543425['shift']());}};_0x40cdce(++_0x286db8);}(_0x5c85,0x8d));var _0x55c8=function(_0x3ce018,_0xef84f0){_0x3ce018=_0x3ce018-0x0;var _0x36c75d=_0x5c85[_0x3ce018];return _0x36c75d;};'use strict';var _=require(_0x55c8('0x0'));var util=require('util');var moment=require(_0x55c8('0x1'));var BPromise=require('bluebird');var rs=require(_0x55c8('0x2'));var fs=require('fs');var Redis=require('ioredis');var squel=require(_0x55c8('0x3'));var db=require(_0x55c8('0x4'))['db'];var utils=require(_0x55c8('0x5'));var logger=require(_0x55c8('0x6'))(_0x55c8('0x7'));var config=require(_0x55c8('0x8'));var jayson=require('jayson/promise');var client=jayson['client'][_0x55c8('0x9')]({'port':0x232a});config[_0x55c8('0xa')]=_[_0x55c8('0xb')](config[_0x55c8('0xa')],{'host':_0x55c8('0xc'),'port':0x18eb});var socket=require(_0x55c8('0xd'))(new Redis(config[_0x55c8('0xa')]));require('./cmContact.socket')['register'](socket);function respondWithRpcPromise(_0xe03ae2,_0xd9cf80,_0x4f3f95){return new BPromise(function(_0xd5f2f1,_0x1aa749){return client['request'](_0xe03ae2,_0x4f3f95)[_0x55c8('0xe')](function(_0x4ada6d){logger[_0x55c8('0xf')](_0x55c8('0x10'),_0xd9cf80,_0x55c8('0x11'));logger[_0x55c8('0x12')](_0x55c8('0x13'),_0xd9cf80,_0x55c8('0x11'),JSON[_0x55c8('0x14')](_0x4ada6d));if(_0x4ada6d[_0x55c8('0x15')]){if(_0x4ada6d[_0x55c8('0x15')][_0x55c8('0x16')]===0x1f4){logger[_0x55c8('0x15')](_0x55c8('0x10'),_0xd9cf80,_0x4ada6d[_0x55c8('0x15')]['message']);return _0x1aa749(_0x4ada6d['error'][_0x55c8('0x17')]);}logger[_0x55c8('0x15')](_0x55c8('0x10'),_0xd9cf80,_0x4ada6d['error'][_0x55c8('0x17')]);return _0xd5f2f1(_0x4ada6d[_0x55c8('0x15')][_0x55c8('0x17')]);}else{logger[_0x55c8('0xf')](_0x55c8('0x10'),_0xd9cf80,'request\x20sent');_0xd5f2f1(_0x4ada6d['result']['message']);}})[_0x55c8('0x18')](function(_0x536e5b){logger[_0x55c8('0x15')]('CmContact,\x20%s,\x20%s',_0xd9cf80,_0x536e5b);_0x1aa749(_0x536e5b);});});}exports['GetCmContact']=function(_0x1eca3e){var _0xf1758d=this;return new Promise(function(_0x535600,_0x13f8a4){return db[_0x55c8('0x19')][_0x55c8('0x1a')]({'raw':_0x1eca3e['options']?_0x1eca3e[_0x55c8('0x1b')][_0x55c8('0x1c')]===undefined?!![]:![]:!![],'where':_0x1eca3e[_0x55c8('0x1b')]?_0x1eca3e[_0x55c8('0x1b')][_0x55c8('0x1d')]||null:null,'attributes':_0x1eca3e[_0x55c8('0x1b')]?_0x1eca3e[_0x55c8('0x1b')][_0x55c8('0x1e')]||null:null,'limit':_0x1eca3e['options']?_0x1eca3e[_0x55c8('0x1b')][_0x55c8('0x1f')]||null:null,'include':_0x1eca3e[_0x55c8('0x1b')]?_0x1eca3e[_0x55c8('0x1b')][_0x55c8('0x20')]?_[_0x55c8('0x21')](_0x1eca3e['options'][_0x55c8('0x20')],function(_0x59706f){return{'model':db[_0x59706f[_0x55c8('0x22')]],'as':_0x59706f['as'],'attributes':_0x59706f[_0x55c8('0x1e')],'include':_0x59706f['include']?_[_0x55c8('0x21')](_0x59706f['include'],function(_0x119267){return{'model':db[_0x119267['model']],'as':_0x119267['as'],'attributes':_0x119267['attributes'],'include':_0x119267[_0x55c8('0x20')]?_[_0x55c8('0x21')](_0x119267[_0x55c8('0x20')],function(_0x21c045){return{'model':db[_0x21c045[_0x55c8('0x22')]],'as':_0x21c045['as'],'attributes':_0x21c045['attributes']};}):[]};}):[]};}):[]:[]})[_0x55c8('0xe')](function(_0x572241){logger[_0x55c8('0xf')](_0x55c8('0x23'),_0x1eca3e);logger[_0x55c8('0x12')](_0x55c8('0x23'),_0x1eca3e,JSON[_0x55c8('0x14')](_0x572241));_0x535600(_0x572241);})['catch'](function(_0x25e3af){logger[_0x55c8('0x15')]('GetCmContact',_0x25e3af['message'],_0x1eca3e);_0x13f8a4(_0xf1758d[_0x55c8('0x15')](0x1f4,_0x25e3af[_0x55c8('0x17')]));});});};exports['CreateCmContact']=function(_0x3a4ff5){var _0x2797c8=this;return new Promise(function(_0x258a37,_0x419198){return db[_0x55c8('0x19')][_0x55c8('0x24')](_0x3a4ff5[_0x55c8('0x25')],{'raw':_0x3a4ff5[_0x55c8('0x1b')]?_0x3a4ff5['options'][_0x55c8('0x1c')]===undefined?!![]:![]:!![]})['then'](function(_0x27de5c){var _0x31eca9;for(var _0x5359a2=0x0;_0x5359a2<Object[_0x55c8('0x26')](_0x3a4ff5['body'])[_0x55c8('0x27')];_0x5359a2++){var _0x2eccc3=Object[_0x55c8('0x26')](_0x3a4ff5[_0x55c8('0x25')])[_0x5359a2];if(_0x2eccc3[_0x55c8('0x28')]('cf_')){_0x31eca9=squel[_0x55c8('0x29')]()[_0x55c8('0x2a')]('cm_contacts')[_0x55c8('0x2b')](_0x2eccc3,_0x3a4ff5[_0x55c8('0x25')][_0x2eccc3])[_0x55c8('0x1d')](_0x55c8('0x2c'),_0x27de5c['id'])[_0x55c8('0x2d')]();break;}}if(!_0x31eca9)return _0x27de5c;return db[_0x55c8('0x2e')][_0x55c8('0x2f')](_0x31eca9)[_0x55c8('0xe')](function(){return _0x27de5c;});})['then'](function(_0xb559c){logger[_0x55c8('0xf')]('CreateCmContact',_0x3a4ff5);logger[_0x55c8('0x12')](_0x55c8('0x30'),_0x3a4ff5,JSON[_0x55c8('0x14')](_0xb559c));_0x258a37(_0xb559c);})[_0x55c8('0x18')](function(_0x22c022){logger['error'](_0x55c8('0x30'),_0x22c022[_0x55c8('0x17')],_0x3a4ff5);_0x419198(_0x2797c8['error'](0x1f4,_0x22c022[_0x55c8('0x17')]));});});};