3f79949b4adf8c98ad9a0f927949be116b7e69f5
[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 _0x52c3=['stringify','error','code','message','catch','GetCmContact','CmContact','findAll','options','raw','where','attributes','limit','include','map','model','CreateCmContact','body','length','keys','startsWith','cf_','update','table','cm_contacts','set','id\x20=\x20?','toString','sequelize','util','randomstring','ioredis','squel','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','client','redis','defaults','localhost','./cmContact.socket','register','request','then','info','CmContact,\x20%s,\x20%s','request\x20sent','debug','CmContact,\x20%s,\x20%s,\x20%s'];(function(_0x3a0213,_0x6452a){var _0x4a1ac1=function(_0x4b92a0){while(--_0x4b92a0){_0x3a0213['push'](_0x3a0213['shift']());}};_0x4a1ac1(++_0x6452a);}(_0x52c3,0x1b5));var _0x352c=function(_0x41bfa8,_0x2222f0){_0x41bfa8=_0x41bfa8-0x0;var _0x5a689e=_0x52c3[_0x41bfa8];return _0x5a689e;};'use strict';var _=require('lodash');var util=require(_0x352c('0x0'));var moment=require('moment');var BPromise=require('bluebird');var rs=require(_0x352c('0x1'));var fs=require('fs');var Redis=require(_0x352c('0x2'));var squel=require(_0x352c('0x3'));var db=require(_0x352c('0x4'))['db'];var utils=require(_0x352c('0x5'));var logger=require('../../config/logger')(_0x352c('0x6'));var config=require(_0x352c('0x7'));var jayson=require(_0x352c('0x8'));var client=jayson[_0x352c('0x9')]['http']({'port':0x232a});config[_0x352c('0xa')]=_[_0x352c('0xb')](config[_0x352c('0xa')],{'host':_0x352c('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x352c('0xa')]));require(_0x352c('0xd'))[_0x352c('0xe')](socket);function respondWithRpcPromise(_0xdc24ae,_0x56497b,_0x121838){return new BPromise(function(_0x58217b,_0x3b05bf){return client[_0x352c('0xf')](_0xdc24ae,_0x121838)[_0x352c('0x10')](function(_0x58bab8){logger[_0x352c('0x11')](_0x352c('0x12'),_0x56497b,_0x352c('0x13'));logger[_0x352c('0x14')](_0x352c('0x15'),_0x56497b,_0x352c('0x13'),JSON[_0x352c('0x16')](_0x58bab8));if(_0x58bab8[_0x352c('0x17')]){if(_0x58bab8[_0x352c('0x17')][_0x352c('0x18')]===0x1f4){logger[_0x352c('0x17')](_0x352c('0x12'),_0x56497b,_0x58bab8[_0x352c('0x17')]['message']);return _0x3b05bf(_0x58bab8[_0x352c('0x17')][_0x352c('0x19')]);}logger['error'](_0x352c('0x12'),_0x56497b,_0x58bab8[_0x352c('0x17')]['message']);return _0x58217b(_0x58bab8[_0x352c('0x17')]['message']);}else{logger[_0x352c('0x11')](_0x352c('0x12'),_0x56497b,'request\x20sent');_0x58217b(_0x58bab8['result'][_0x352c('0x19')]);}})[_0x352c('0x1a')](function(_0x1e08cf){logger[_0x352c('0x17')](_0x352c('0x12'),_0x56497b,_0x1e08cf);_0x3b05bf(_0x1e08cf);});});}exports[_0x352c('0x1b')]=function(_0x5baac2){var _0x1a4cc7=this;return new Promise(function(_0x1faf5c,_0x5bda20){return db[_0x352c('0x1c')][_0x352c('0x1d')]({'raw':_0x5baac2[_0x352c('0x1e')]?_0x5baac2['options'][_0x352c('0x1f')]===undefined?!![]:![]:!![],'where':_0x5baac2[_0x352c('0x1e')]?_0x5baac2['options'][_0x352c('0x20')]||null:null,'attributes':_0x5baac2[_0x352c('0x1e')]?_0x5baac2[_0x352c('0x1e')][_0x352c('0x21')]||null:null,'limit':_0x5baac2[_0x352c('0x1e')]?_0x5baac2['options'][_0x352c('0x22')]||null:null,'include':_0x5baac2[_0x352c('0x1e')]?_0x5baac2[_0x352c('0x1e')][_0x352c('0x23')]?_[_0x352c('0x24')](_0x5baac2[_0x352c('0x1e')][_0x352c('0x23')],function(_0x55ac91){return{'model':db[_0x55ac91[_0x352c('0x25')]],'as':_0x55ac91['as'],'attributes':_0x55ac91['attributes'],'include':_0x55ac91[_0x352c('0x23')]?_[_0x352c('0x24')](_0x55ac91['include'],function(_0x2e34cb){return{'model':db[_0x2e34cb['model']],'as':_0x2e34cb['as'],'attributes':_0x2e34cb[_0x352c('0x21')],'include':_0x2e34cb[_0x352c('0x23')]?_['map'](_0x2e34cb[_0x352c('0x23')],function(_0x1de2e9){return{'model':db[_0x1de2e9[_0x352c('0x25')]],'as':_0x1de2e9['as'],'attributes':_0x1de2e9[_0x352c('0x21')]};}):[]};}):[]};}):[]:[]})[_0x352c('0x10')](function(_0x49c4d7){logger[_0x352c('0x11')]('GetCmContact',_0x5baac2);logger[_0x352c('0x14')](_0x352c('0x1b'),_0x5baac2,JSON['stringify'](_0x49c4d7));_0x1faf5c(_0x49c4d7);})[_0x352c('0x1a')](function(_0x4dea83){logger[_0x352c('0x17')](_0x352c('0x1b'),_0x4dea83[_0x352c('0x19')],_0x5baac2);_0x5bda20(_0x1a4cc7[_0x352c('0x17')](0x1f4,_0x4dea83[_0x352c('0x19')]));});});};exports[_0x352c('0x26')]=function(_0x943237){var _0x2a189c=this;return new Promise(function(_0x450575,_0x4a8473){return db['CmContact']['create'](_0x943237['body'],{'raw':_0x943237[_0x352c('0x1e')]?_0x943237[_0x352c('0x1e')][_0x352c('0x1f')]===undefined?!![]:![]:!![]})[_0x352c('0x10')](function(_0x3262ed){var _0x4ebc58;for(var _0x289ced=0x0;_0x289ced<Object['keys'](_0x943237[_0x352c('0x27')])[_0x352c('0x28')];_0x289ced++){var _0x2260f0=Object[_0x352c('0x29')](_0x943237[_0x352c('0x27')])[_0x289ced];if(_0x2260f0[_0x352c('0x2a')](_0x352c('0x2b'))){_0x4ebc58=squel[_0x352c('0x2c')]()[_0x352c('0x2d')](_0x352c('0x2e'))[_0x352c('0x2f')](_0x2260f0,_0x943237[_0x352c('0x27')][_0x2260f0])[_0x352c('0x20')](_0x352c('0x30'),_0x3262ed['id'])[_0x352c('0x31')]();break;}}if(!_0x4ebc58)return _0x3262ed;return db[_0x352c('0x32')]['query'](_0x4ebc58)['then'](function(){return _0x3262ed;});})[_0x352c('0x10')](function(_0x5e30c2){logger[_0x352c('0x11')]('CreateCmContact',_0x943237);logger[_0x352c('0x14')](_0x352c('0x26'),_0x943237,JSON[_0x352c('0x16')](_0x5e30c2));_0x450575(_0x5e30c2);})[_0x352c('0x1a')](function(_0x5e2204){logger[_0x352c('0x17')](_0x352c('0x26'),_0x5e2204[_0x352c('0x19')],_0x943237);_0x4a8473(_0x2a189c['error'](0x1f4,_0x5e2204[_0x352c('0x19')]));});});};