0930f85f4d6c98dc1821064d6e669f98ad92531a
[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 _0x2191=['options','raw','where','limit','map','include','model','attributes','GetCmContact','stringify','catch','create','body','keys','length','table','sequelize','query','CreateCmContact','lodash','moment','bluebird','randomstring','ioredis','squel','../../mysqldb','../../config/utils','rpc','../../config/environment','jayson/promise','client','redis','defaults','localhost','socket.io-emitter','./cmContact.socket','request','then','info','request\x20sent','debug','CmContact,\x20%s,\x20%s,\x20%s','error','code','message','CmContact,\x20%s,\x20%s','result','CmContact'];(function(_0x436ad3,_0x47b24a){var _0x55b23a=function(_0x4900cc){while(--_0x4900cc){_0x436ad3['push'](_0x436ad3['shift']());}};_0x55b23a(++_0x47b24a);}(_0x2191,0x163));var _0x1219=function(_0x19b11a,_0x5edac6){_0x19b11a=_0x19b11a-0x0;var _0x1d7993=_0x2191[_0x19b11a];return _0x1d7993;};'use strict';var _=require(_0x1219('0x0'));var util=require('util');var moment=require(_0x1219('0x1'));var BPromise=require(_0x1219('0x2'));var rs=require(_0x1219('0x3'));var fs=require('fs');var Redis=require(_0x1219('0x4'));var squel=require(_0x1219('0x5'));var db=require(_0x1219('0x6'))['db'];var utils=require(_0x1219('0x7'));var logger=require('../../config/logger')(_0x1219('0x8'));var config=require(_0x1219('0x9'));var jayson=require(_0x1219('0xa'));var client=jayson[_0x1219('0xb')]['http']({'port':0x232a});config[_0x1219('0xc')]=_[_0x1219('0xd')](config[_0x1219('0xc')],{'host':_0x1219('0xe'),'port':0x18eb});var socket=require(_0x1219('0xf'))(new Redis(config[_0x1219('0xc')]));require(_0x1219('0x10'))['register'](socket);function respondWithRpcPromise(_0x294e72,_0x3a20c0,_0x382228){return new BPromise(function(_0x20ea6a,_0x216cfa){return client[_0x1219('0x11')](_0x294e72,_0x382228)[_0x1219('0x12')](function(_0x748f85){logger[_0x1219('0x13')]('CmContact,\x20%s,\x20%s',_0x3a20c0,_0x1219('0x14'));logger[_0x1219('0x15')](_0x1219('0x16'),_0x3a20c0,_0x1219('0x14'),JSON['stringify'](_0x748f85));if(_0x748f85[_0x1219('0x17')]){if(_0x748f85['error'][_0x1219('0x18')]===0x1f4){logger[_0x1219('0x17')]('CmContact,\x20%s,\x20%s',_0x3a20c0,_0x748f85['error'][_0x1219('0x19')]);return _0x216cfa(_0x748f85[_0x1219('0x17')][_0x1219('0x19')]);}logger['error'](_0x1219('0x1a'),_0x3a20c0,_0x748f85[_0x1219('0x17')]['message']);return _0x20ea6a(_0x748f85[_0x1219('0x17')][_0x1219('0x19')]);}else{logger['info'](_0x1219('0x1a'),_0x3a20c0,_0x1219('0x14'));_0x20ea6a(_0x748f85[_0x1219('0x1b')][_0x1219('0x19')]);}})['catch'](function(_0x59fe32){logger[_0x1219('0x17')]('CmContact,\x20%s,\x20%s',_0x3a20c0,_0x59fe32);_0x216cfa(_0x59fe32);});});}exports['GetCmContact']=function(_0x5cc52a){var _0x5c9ffb=this;return new Promise(function(_0x10ddad,_0x4c93c1){return db[_0x1219('0x1c')]['findAll']({'raw':_0x5cc52a[_0x1219('0x1d')]?_0x5cc52a[_0x1219('0x1d')][_0x1219('0x1e')]===undefined?!![]:![]:!![],'where':_0x5cc52a[_0x1219('0x1d')]?_0x5cc52a[_0x1219('0x1d')][_0x1219('0x1f')]||null:null,'attributes':_0x5cc52a['options']?_0x5cc52a[_0x1219('0x1d')]['attributes']||null:null,'limit':_0x5cc52a[_0x1219('0x1d')]?_0x5cc52a['options'][_0x1219('0x20')]||null:null,'include':_0x5cc52a[_0x1219('0x1d')]?_0x5cc52a['options']['include']?_[_0x1219('0x21')](_0x5cc52a[_0x1219('0x1d')][_0x1219('0x22')],function(_0x831a6){return{'model':db[_0x831a6[_0x1219('0x23')]],'as':_0x831a6['as'],'attributes':_0x831a6[_0x1219('0x24')],'include':_0x831a6[_0x1219('0x22')]?_[_0x1219('0x21')](_0x831a6['include'],function(_0x14fd3a){return{'model':db[_0x14fd3a[_0x1219('0x23')]],'as':_0x14fd3a['as'],'attributes':_0x14fd3a['attributes'],'include':_0x14fd3a[_0x1219('0x22')]?_[_0x1219('0x21')](_0x14fd3a['include'],function(_0x3212c3){return{'model':db[_0x3212c3[_0x1219('0x23')]],'as':_0x3212c3['as'],'attributes':_0x3212c3[_0x1219('0x24')]};}):[]};}):[]};}):[]:[]})[_0x1219('0x12')](function(_0x41fe54){logger[_0x1219('0x13')](_0x1219('0x25'),_0x5cc52a);logger['debug'](_0x1219('0x25'),_0x5cc52a,JSON[_0x1219('0x26')](_0x41fe54));_0x10ddad(_0x41fe54);})[_0x1219('0x27')](function(_0x35c6eb){logger[_0x1219('0x17')]('GetCmContact',_0x35c6eb[_0x1219('0x19')],_0x5cc52a);_0x4c93c1(_0x5c9ffb[_0x1219('0x17')](0x1f4,_0x35c6eb['message']));});});};exports['CreateCmContact']=function(_0x353967){var _0x25124c=this;return new Promise(function(_0x4ddf0b,_0x470960){return db[_0x1219('0x1c')][_0x1219('0x28')](_0x353967[_0x1219('0x29')],{'raw':_0x353967[_0x1219('0x1d')]?_0x353967['options']['raw']===undefined?!![]:![]:!![]})[_0x1219('0x12')](function(_0x524dc3){var _0x26a068;for(var _0x3918f7=0x0;_0x3918f7<Object[_0x1219('0x2a')](_0x353967['body'])[_0x1219('0x2b')];_0x3918f7++){var _0x2560b8=Object[_0x1219('0x2a')](_0x353967[_0x1219('0x29')])[_0x3918f7];if(_0x2560b8['startsWith']('cf_')){_0x26a068=squel['update']()[_0x1219('0x2c')]('cm_contacts')['set'](_0x2560b8,_0x353967[_0x1219('0x29')][_0x2560b8])[_0x1219('0x1f')]('id\x20=\x20?',_0x524dc3['id'])['toString']();break;}}if(!_0x26a068)return _0x524dc3;return db[_0x1219('0x2d')][_0x1219('0x2e')](_0x26a068)[_0x1219('0x12')](function(){return _0x524dc3;});})[_0x1219('0x12')](function(_0x466267){logger['info'](_0x1219('0x2f'),_0x353967);logger[_0x1219('0x15')](_0x1219('0x2f'),_0x353967,JSON['stringify'](_0x466267));_0x4ddf0b(_0x466267);})['catch'](function(_0xe59578){logger[_0x1219('0x17')](_0x1219('0x2f'),_0xe59578[_0x1219('0x19')],_0x353967);_0x470960(_0x25124c[_0x1219('0x17')](0x1f4,_0xe59578['message']));});});};