e40f8c9210b84b70d441fa7f702f5f09c5fa71ed
[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 _0x90ce=['body','keys','cf_','table','set','where','id\x20=\x20?','toString','sequelize','query','lodash','util','moment','bluebird','randomstring','ioredis','squel','../../mysqldb','../../config/utils','../../config/logger','rpc','jayson/promise','client','http','redis','localhost','socket.io-emitter','register','then','info','CmContact,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','findAll','options','raw','limit','map','model','attributes','include','GetCmContact','CreateCmContact'];(function(_0xa12986,_0x403074){var _0x31fa63=function(_0xa68936){while(--_0xa68936){_0xa12986['push'](_0xa12986['shift']());}};_0x31fa63(++_0x403074);}(_0x90ce,0x1f4));var _0xe90c=function(_0x24237f,_0x4cf32c){_0x24237f=_0x24237f-0x0;var _0x48298e=_0x90ce[_0x24237f];return _0x48298e;};'use strict';var _=require(_0xe90c('0x0'));var util=require(_0xe90c('0x1'));var moment=require(_0xe90c('0x2'));var BPromise=require(_0xe90c('0x3'));var rs=require(_0xe90c('0x4'));var fs=require('fs');var Redis=require(_0xe90c('0x5'));var squel=require(_0xe90c('0x6'));var db=require(_0xe90c('0x7'))['db'];var utils=require(_0xe90c('0x8'));var logger=require(_0xe90c('0x9'))(_0xe90c('0xa'));var config=require('../../config/environment');var jayson=require(_0xe90c('0xb'));var client=jayson[_0xe90c('0xc')][_0xe90c('0xd')]({'port':0x232a});config[_0xe90c('0xe')]=_['defaults'](config[_0xe90c('0xe')],{'host':_0xe90c('0xf'),'port':0x18eb});var socket=require(_0xe90c('0x10'))(new Redis(config['redis']));require('./cmContact.socket')[_0xe90c('0x11')](socket);function respondWithRpcPromise(_0x4eea31,_0x21c451,_0xbc1b9c){return new BPromise(function(_0xb46b46,_0x5e0ce1){return client['request'](_0x4eea31,_0xbc1b9c)[_0xe90c('0x12')](function(_0x46bdd0){logger[_0xe90c('0x13')](_0xe90c('0x14'),_0x21c451,_0xe90c('0x15'));logger[_0xe90c('0x16')]('CmContact,\x20%s,\x20%s,\x20%s',_0x21c451,'request\x20sent',JSON[_0xe90c('0x17')](_0x46bdd0));if(_0x46bdd0[_0xe90c('0x18')]){if(_0x46bdd0['error'][_0xe90c('0x19')]===0x1f4){logger[_0xe90c('0x18')](_0xe90c('0x14'),_0x21c451,_0x46bdd0['error']['message']);return _0x5e0ce1(_0x46bdd0['error'][_0xe90c('0x1a')]);}logger[_0xe90c('0x18')](_0xe90c('0x14'),_0x21c451,_0x46bdd0[_0xe90c('0x18')][_0xe90c('0x1a')]);return _0xb46b46(_0x46bdd0['error'][_0xe90c('0x1a')]);}else{logger[_0xe90c('0x13')](_0xe90c('0x14'),_0x21c451,'request\x20sent');_0xb46b46(_0x46bdd0[_0xe90c('0x1b')][_0xe90c('0x1a')]);}})[_0xe90c('0x1c')](function(_0xfa237){logger['error']('CmContact,\x20%s,\x20%s',_0x21c451,_0xfa237);_0x5e0ce1(_0xfa237);});});}exports['GetCmContact']=function(_0x3ebdfc){var _0x375379=this;return new Promise(function(_0x5c156d,_0x5f0873){return db['CmContact'][_0xe90c('0x1d')]({'raw':_0x3ebdfc[_0xe90c('0x1e')]?_0x3ebdfc[_0xe90c('0x1e')][_0xe90c('0x1f')]===undefined?!![]:![]:!![],'where':_0x3ebdfc[_0xe90c('0x1e')]?_0x3ebdfc[_0xe90c('0x1e')]['where']||null:null,'attributes':_0x3ebdfc[_0xe90c('0x1e')]?_0x3ebdfc[_0xe90c('0x1e')]['attributes']||null:null,'limit':_0x3ebdfc['options']?_0x3ebdfc[_0xe90c('0x1e')][_0xe90c('0x20')]||null:null,'include':_0x3ebdfc[_0xe90c('0x1e')]?_0x3ebdfc[_0xe90c('0x1e')]['include']?_[_0xe90c('0x21')](_0x3ebdfc[_0xe90c('0x1e')]['include'],function(_0x49905a){return{'model':db[_0x49905a[_0xe90c('0x22')]],'as':_0x49905a['as'],'attributes':_0x49905a[_0xe90c('0x23')],'include':_0x49905a['include']?_[_0xe90c('0x21')](_0x49905a[_0xe90c('0x24')],function(_0x1a08ad){return{'model':db[_0x1a08ad[_0xe90c('0x22')]],'as':_0x1a08ad['as'],'attributes':_0x1a08ad['attributes'],'include':_0x1a08ad[_0xe90c('0x24')]?_['map'](_0x1a08ad[_0xe90c('0x24')],function(_0x43d75d){return{'model':db[_0x43d75d[_0xe90c('0x22')]],'as':_0x43d75d['as'],'attributes':_0x43d75d[_0xe90c('0x23')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x583932){logger[_0xe90c('0x13')]('GetCmContact',_0x3ebdfc);logger['debug'](_0xe90c('0x25'),_0x3ebdfc,JSON['stringify'](_0x583932));_0x5c156d(_0x583932);})[_0xe90c('0x1c')](function(_0x2ff891){logger['error'](_0xe90c('0x25'),_0x2ff891[_0xe90c('0x1a')],_0x3ebdfc);_0x5f0873(_0x375379[_0xe90c('0x18')](0x1f4,_0x2ff891[_0xe90c('0x1a')]));});});};exports[_0xe90c('0x26')]=function(_0x410b93){var _0x28e97a=this;return new Promise(function(_0x41305f,_0x5ca290){return db['CmContact']['create'](_0x410b93[_0xe90c('0x27')],{'raw':_0x410b93[_0xe90c('0x1e')]?_0x410b93[_0xe90c('0x1e')]['raw']===undefined?!![]:![]:!![]})['then'](function(_0x43ce86){var _0x37206a;for(var _0x4d63bd=0x0;_0x4d63bd<Object[_0xe90c('0x28')](_0x410b93[_0xe90c('0x27')])['length'];_0x4d63bd++){var _0x2cd424=Object[_0xe90c('0x28')](_0x410b93['body'])[_0x4d63bd];if(_0x2cd424['startsWith'](_0xe90c('0x29'))){_0x37206a=squel['update']()[_0xe90c('0x2a')]('cm_contacts')[_0xe90c('0x2b')](_0x2cd424,_0x410b93['body'][_0x2cd424])[_0xe90c('0x2c')](_0xe90c('0x2d'),_0x43ce86['id'])[_0xe90c('0x2e')]();break;}}if(!_0x37206a)return _0x43ce86;return db[_0xe90c('0x2f')][_0xe90c('0x30')](_0x37206a)[_0xe90c('0x12')](function(){return _0x43ce86;});})[_0xe90c('0x12')](function(_0x5eb9c7){logger[_0xe90c('0x13')](_0xe90c('0x26'),_0x410b93);logger[_0xe90c('0x16')](_0xe90c('0x26'),_0x410b93,JSON[_0xe90c('0x17')](_0x5eb9c7));_0x41305f(_0x5eb9c7);})[_0xe90c('0x1c')](function(_0x15ef99){logger[_0xe90c('0x18')](_0xe90c('0x26'),_0x15ef99[_0xe90c('0x1a')],_0x410b93);_0x5ca290(_0x28e97a['error'](0x1f4,_0x15ef99[_0xe90c('0x1a')]));});});};