5218444c86acac1718c44022381a76e0484b37cf
[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 _0x9a39=['model','debug','CreateCmContact','CmContact','create','then','keys','body','length','startsWith','cf_','update','table','cm_contacts','where','id\x20=\x20?','toString','query','lodash','util','moment','bluebird','ioredis','squel','../../mysqldb','../../config/utils','../../config/environment','client','http','redis','defaults','localhost','./cmContact.socket','register','request','CmContact,\x20%s,\x20%s,\x20%s','stringify','error','CmContact,\x20%s,\x20%s','message','info','request\x20sent','result','catch','GetCmContact','findAll','options','raw','attributes','limit','include','map'];(function(_0x403282,_0x39ab19){var _0x41f290=function(_0x34f4c0){while(--_0x34f4c0){_0x403282['push'](_0x403282['shift']());}};_0x41f290(++_0x39ab19);}(_0x9a39,0x17e));var _0x99a3=function(_0xce70a9,_0x12530d){_0xce70a9=_0xce70a9-0x0;var _0x3539ca=_0x9a39[_0xce70a9];return _0x3539ca;};'use strict';var _=require(_0x99a3('0x0'));var util=require(_0x99a3('0x1'));var moment=require(_0x99a3('0x2'));var BPromise=require(_0x99a3('0x3'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x99a3('0x4'));var squel=require(_0x99a3('0x5'));var db=require(_0x99a3('0x6'))['db'];var utils=require(_0x99a3('0x7'));var logger=require('../../config/logger')('rpc');var config=require(_0x99a3('0x8'));var jayson=require('jayson/promise');var client=jayson[_0x99a3('0x9')][_0x99a3('0xa')]({'port':0x232a});config[_0x99a3('0xb')]=_[_0x99a3('0xc')](config[_0x99a3('0xb')],{'host':_0x99a3('0xd'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x99a3('0xe'))[_0x99a3('0xf')](socket);function respondWithRpcPromise(_0xcb443d,_0x2804fd,_0x4b0d6d){return new BPromise(function(_0x19162c,_0x3589e4){return client[_0x99a3('0x10')](_0xcb443d,_0x4b0d6d)['then'](function(_0x2409fc){logger['info']('CmContact,\x20%s,\x20%s',_0x2804fd,'request\x20sent');logger['debug'](_0x99a3('0x11'),_0x2804fd,'request\x20sent',JSON[_0x99a3('0x12')](_0x2409fc));if(_0x2409fc['error']){if(_0x2409fc[_0x99a3('0x13')]['code']===0x1f4){logger[_0x99a3('0x13')](_0x99a3('0x14'),_0x2804fd,_0x2409fc['error'][_0x99a3('0x15')]);return _0x3589e4(_0x2409fc[_0x99a3('0x13')][_0x99a3('0x15')]);}logger[_0x99a3('0x13')](_0x99a3('0x14'),_0x2804fd,_0x2409fc[_0x99a3('0x13')][_0x99a3('0x15')]);return _0x19162c(_0x2409fc[_0x99a3('0x13')][_0x99a3('0x15')]);}else{logger[_0x99a3('0x16')]('CmContact,\x20%s,\x20%s',_0x2804fd,_0x99a3('0x17'));_0x19162c(_0x2409fc[_0x99a3('0x18')][_0x99a3('0x15')]);}})[_0x99a3('0x19')](function(_0x422c5c){logger[_0x99a3('0x13')](_0x99a3('0x14'),_0x2804fd,_0x422c5c);_0x3589e4(_0x422c5c);});});}exports[_0x99a3('0x1a')]=function(_0xcc626e){var _0x3fc3f2=this;return new Promise(function(_0x39c002,_0x542cc5){return db['CmContact'][_0x99a3('0x1b')]({'raw':_0xcc626e[_0x99a3('0x1c')]?_0xcc626e[_0x99a3('0x1c')][_0x99a3('0x1d')]===undefined?!![]:![]:!![],'where':_0xcc626e[_0x99a3('0x1c')]?_0xcc626e[_0x99a3('0x1c')]['where']||null:null,'attributes':_0xcc626e[_0x99a3('0x1c')]?_0xcc626e[_0x99a3('0x1c')][_0x99a3('0x1e')]||null:null,'limit':_0xcc626e[_0x99a3('0x1c')]?_0xcc626e['options'][_0x99a3('0x1f')]||null:null,'include':_0xcc626e[_0x99a3('0x1c')]?_0xcc626e[_0x99a3('0x1c')][_0x99a3('0x20')]?_[_0x99a3('0x21')](_0xcc626e[_0x99a3('0x1c')]['include'],function(_0x518b1f){return{'model':db[_0x518b1f[_0x99a3('0x22')]],'as':_0x518b1f['as'],'attributes':_0x518b1f[_0x99a3('0x1e')],'include':_0x518b1f[_0x99a3('0x20')]?_['map'](_0x518b1f[_0x99a3('0x20')],function(_0x2c4ece){return{'model':db[_0x2c4ece[_0x99a3('0x22')]],'as':_0x2c4ece['as'],'attributes':_0x2c4ece[_0x99a3('0x1e')],'include':_0x2c4ece[_0x99a3('0x20')]?_['map'](_0x2c4ece['include'],function(_0x50b7c4){return{'model':db[_0x50b7c4[_0x99a3('0x22')]],'as':_0x50b7c4['as'],'attributes':_0x50b7c4[_0x99a3('0x1e')]};}):[]};}):[]};}):[]:[]})['then'](function(_0xd2f8aa){logger['info'](_0x99a3('0x1a'),_0xcc626e);logger[_0x99a3('0x23')](_0x99a3('0x1a'),_0xcc626e,JSON[_0x99a3('0x12')](_0xd2f8aa));_0x39c002(_0xd2f8aa);})['catch'](function(_0x47c634){logger[_0x99a3('0x13')](_0x99a3('0x1a'),_0x47c634[_0x99a3('0x15')],_0xcc626e);_0x542cc5(_0x3fc3f2[_0x99a3('0x13')](0x1f4,_0x47c634[_0x99a3('0x15')]));});});};exports[_0x99a3('0x24')]=function(_0x4eeb4f){var _0x66abba=this;return new Promise(function(_0x221b16,_0x2d7ea9){return db[_0x99a3('0x25')][_0x99a3('0x26')](_0x4eeb4f['body'],{'raw':_0x4eeb4f[_0x99a3('0x1c')]?_0x4eeb4f['options'][_0x99a3('0x1d')]===undefined?!![]:![]:!![]})[_0x99a3('0x27')](function(_0x4f1fe5){var _0x1d38c9;for(var _0x2be000=0x0;_0x2be000<Object[_0x99a3('0x28')](_0x4eeb4f[_0x99a3('0x29')])[_0x99a3('0x2a')];_0x2be000++){var _0x44b766=Object[_0x99a3('0x28')](_0x4eeb4f[_0x99a3('0x29')])[_0x2be000];if(_0x44b766[_0x99a3('0x2b')](_0x99a3('0x2c'))){_0x1d38c9=squel[_0x99a3('0x2d')]()[_0x99a3('0x2e')](_0x99a3('0x2f'))['set'](_0x44b766,_0x4eeb4f[_0x99a3('0x29')][_0x44b766])[_0x99a3('0x30')](_0x99a3('0x31'),_0x4f1fe5['id'])[_0x99a3('0x32')]();break;}}if(!_0x1d38c9)return _0x4f1fe5;return db['sequelize'][_0x99a3('0x33')](_0x1d38c9)[_0x99a3('0x27')](function(){return _0x4f1fe5;});})[_0x99a3('0x27')](function(_0x37de5c){logger[_0x99a3('0x16')]('CreateCmContact',_0x4eeb4f);logger['debug'](_0x99a3('0x24'),_0x4eeb4f,JSON[_0x99a3('0x12')](_0x37de5c));_0x221b16(_0x37de5c);})['catch'](function(_0x38ef00){logger[_0x99a3('0x13')](_0x99a3('0x24'),_0x38ef00[_0x99a3('0x15')],_0x4eeb4f);_0x2d7ea9(_0x66abba[_0x99a3('0x13')](0x1f4,_0x38ef00[_0x99a3('0x15')]));});});};