Built motion from commit 753c950e.|2.5.42
[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 _0x1a93=['CreateCmContact','CmContact','create','body','cf_','table','cm_contacts','set','id\x20=\x20?','toString','query','moment','bluebird','ioredis','squel','../../mysqldb','../../config/logger','rpc','../../config/environment','client','http','redis','defaults','socket.io-emitter','./cmContact.socket','request','request\x20sent','debug','CmContact,\x20%s,\x20%s,\x20%s','stringify','error','code','message','CmContact,\x20%s,\x20%s','GetCmContact','findAll','options','raw','where','attributes','limit','include','map','model','then','info','catch'];(function(_0x41ed13,_0x1044be){var _0x1bb4d5=function(_0x15d224){while(--_0x15d224){_0x41ed13['push'](_0x41ed13['shift']());}};_0x1bb4d5(++_0x1044be);}(_0x1a93,0x69));var _0x31a9=function(_0x4a5214,_0x20af68){_0x4a5214=_0x4a5214-0x0;var _0x2ac10d=_0x1a93[_0x4a5214];return _0x2ac10d;};'use strict';var _=require('lodash');var util=require('util');var moment=require(_0x31a9('0x0'));var BPromise=require(_0x31a9('0x1'));var rs=require('randomstring');var fs=require('fs');var Redis=require(_0x31a9('0x2'));var squel=require(_0x31a9('0x3'));var db=require(_0x31a9('0x4'))['db'];var utils=require('../../config/utils');var logger=require(_0x31a9('0x5'))(_0x31a9('0x6'));var config=require(_0x31a9('0x7'));var jayson=require('jayson/promise');var client=jayson[_0x31a9('0x8')][_0x31a9('0x9')]({'port':0x232a});config[_0x31a9('0xa')]=_[_0x31a9('0xb')](config[_0x31a9('0xa')],{'host':'localhost','port':0x18eb});var socket=require(_0x31a9('0xc'))(new Redis(config[_0x31a9('0xa')]));require(_0x31a9('0xd'))['register'](socket);function respondWithRpcPromise(_0x499b43,_0x20e534,_0x49bc66){return new BPromise(function(_0xdcbbf3,_0x32e42a){return client[_0x31a9('0xe')](_0x499b43,_0x49bc66)['then'](function(_0xcce7dc){logger['info']('CmContact,\x20%s,\x20%s',_0x20e534,_0x31a9('0xf'));logger[_0x31a9('0x10')](_0x31a9('0x11'),_0x20e534,_0x31a9('0xf'),JSON[_0x31a9('0x12')](_0xcce7dc));if(_0xcce7dc[_0x31a9('0x13')]){if(_0xcce7dc[_0x31a9('0x13')][_0x31a9('0x14')]===0x1f4){logger[_0x31a9('0x13')]('CmContact,\x20%s,\x20%s',_0x20e534,_0xcce7dc[_0x31a9('0x13')][_0x31a9('0x15')]);return _0x32e42a(_0xcce7dc[_0x31a9('0x13')][_0x31a9('0x15')]);}logger['error'](_0x31a9('0x16'),_0x20e534,_0xcce7dc[_0x31a9('0x13')][_0x31a9('0x15')]);return _0xdcbbf3(_0xcce7dc[_0x31a9('0x13')]['message']);}else{logger['info'](_0x31a9('0x16'),_0x20e534,_0x31a9('0xf'));_0xdcbbf3(_0xcce7dc['result'][_0x31a9('0x15')]);}})['catch'](function(_0x58b350){logger[_0x31a9('0x13')]('CmContact,\x20%s,\x20%s',_0x20e534,_0x58b350);_0x32e42a(_0x58b350);});});}exports[_0x31a9('0x17')]=function(_0x24496b){var _0x4d2450=this;return new Promise(function(_0x5d4fd0,_0x1ed74e){return db['CmContact'][_0x31a9('0x18')]({'raw':_0x24496b[_0x31a9('0x19')]?_0x24496b[_0x31a9('0x19')][_0x31a9('0x1a')]===undefined?!![]:![]:!![],'where':_0x24496b[_0x31a9('0x19')]?_0x24496b['options'][_0x31a9('0x1b')]||null:null,'attributes':_0x24496b['options']?_0x24496b[_0x31a9('0x19')][_0x31a9('0x1c')]||null:null,'limit':_0x24496b['options']?_0x24496b['options'][_0x31a9('0x1d')]||null:null,'include':_0x24496b[_0x31a9('0x19')]?_0x24496b['options'][_0x31a9('0x1e')]?_[_0x31a9('0x1f')](_0x24496b[_0x31a9('0x19')][_0x31a9('0x1e')],function(_0x11eb31){return{'model':db[_0x11eb31['model']],'as':_0x11eb31['as'],'attributes':_0x11eb31[_0x31a9('0x1c')],'include':_0x11eb31[_0x31a9('0x1e')]?_[_0x31a9('0x1f')](_0x11eb31[_0x31a9('0x1e')],function(_0x32b7e9){return{'model':db[_0x32b7e9[_0x31a9('0x20')]],'as':_0x32b7e9['as'],'attributes':_0x32b7e9[_0x31a9('0x1c')],'include':_0x32b7e9[_0x31a9('0x1e')]?_['map'](_0x32b7e9[_0x31a9('0x1e')],function(_0xabb716){return{'model':db[_0xabb716[_0x31a9('0x20')]],'as':_0xabb716['as'],'attributes':_0xabb716[_0x31a9('0x1c')]};}):[]};}):[]};}):[]:[]})[_0x31a9('0x21')](function(_0x207ae6){logger[_0x31a9('0x22')](_0x31a9('0x17'),_0x24496b);logger[_0x31a9('0x10')](_0x31a9('0x17'),_0x24496b,JSON[_0x31a9('0x12')](_0x207ae6));_0x5d4fd0(_0x207ae6);})[_0x31a9('0x23')](function(_0xd6c8fc){logger[_0x31a9('0x13')]('GetCmContact',_0xd6c8fc['message'],_0x24496b);_0x1ed74e(_0x4d2450[_0x31a9('0x13')](0x1f4,_0xd6c8fc[_0x31a9('0x15')]));});});};exports[_0x31a9('0x24')]=function(_0x337654){var _0x26c434=this;return new Promise(function(_0x3674b4,_0x3c1c45){return db[_0x31a9('0x25')][_0x31a9('0x26')](_0x337654[_0x31a9('0x27')],{'raw':_0x337654['options']?_0x337654[_0x31a9('0x19')][_0x31a9('0x1a')]===undefined?!![]:![]:!![]})[_0x31a9('0x21')](function(_0x42a2e7){var _0x274df1;for(var _0x3fa036=0x0;_0x3fa036<Object['keys'](_0x337654[_0x31a9('0x27')])['length'];_0x3fa036++){var _0x48d041=Object['keys'](_0x337654[_0x31a9('0x27')])[_0x3fa036];if(_0x48d041['startsWith'](_0x31a9('0x28'))){_0x274df1=squel['update']()[_0x31a9('0x29')](_0x31a9('0x2a'))[_0x31a9('0x2b')](_0x48d041,_0x337654[_0x31a9('0x27')][_0x48d041])[_0x31a9('0x1b')](_0x31a9('0x2c'),_0x42a2e7['id'])[_0x31a9('0x2d')]();break;}}if(!_0x274df1)return _0x42a2e7;return db['sequelize'][_0x31a9('0x2e')](_0x274df1)[_0x31a9('0x21')](function(){return _0x42a2e7;});})['then'](function(_0x1688eb){logger[_0x31a9('0x22')](_0x31a9('0x24'),_0x337654);logger['debug'](_0x31a9('0x24'),_0x337654,JSON[_0x31a9('0x12')](_0x1688eb));_0x3674b4(_0x1688eb);})['catch'](function(_0x44b641){logger['error']('CreateCmContact',_0x44b641['message'],_0x337654);_0x3c1c45(_0x26c434[_0x31a9('0x13')](0x1f4,_0x44b641[_0x31a9('0x15')]));});});};