Built motion from commit (unavailable).|2.4.17
[motion2.git] / server / api / user / user.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 _0x1191=['info','debug','request\x20sent','stringify','error','User,\x20%s,\x20%s','message','catch','GetUser','User','findAll','options','raw','where','attributes','limit','include','map','model','find','ShowUser','PauseUser','name','role','interface','update','MemberReport','PAUSE','length','format','forEach','push','SIP/%s','YYYY-MM-DD\x20HH:mm:ss','type','DEFAULT\x20PAUSE','body','bulkCreate','UnpauseUser','findOne','channel','Unknown\x20channel','voice','UserVoiceQueueRt','system','mail','chat','fax','sms','openchannel','set','%s%s','Pause','all','LogoutUser','destroy','LoginUser','phone','internal','loginInPause','count','agent','../../config/license/util','getLicense','agents','Maximum\x20login\x20has\x20been\x20reached','getVoiceQueues','UserVoiceQueue.penalty','getChannels','LOGIN','callysquare','LOGININPAUSE','concat','lodash','util','moment','bluebird','randomstring','../../mysqldb','../../config/utils','../../config/logger','rpc','../../config/environment','jayson/promise','http','defaults','redis','localhost','socket.io-emitter','register','request','then'];(function(_0x4c3e95,_0x4f0d5c){var _0x14c5f1=function(_0x5d50bb){while(--_0x5d50bb){_0x4c3e95['push'](_0x4c3e95['shift']());}};_0x14c5f1(++_0x4f0d5c);}(_0x1191,0x15d));var _0x1119=function(_0x3bf83f,_0x181cac){_0x3bf83f=_0x3bf83f-0x0;var _0x22c4a9=_0x1191[_0x3bf83f];return _0x22c4a9;};'use strict';var _=require(_0x1119('0x0'));var util=require(_0x1119('0x1'));var moment=require(_0x1119('0x2'));var BPromise=require(_0x1119('0x3'));var rs=require(_0x1119('0x4'));var fs=require('fs');var Redis=require('ioredis');var db=require(_0x1119('0x5'))['db'];var utils=require(_0x1119('0x6'));var logger=require(_0x1119('0x7'))(_0x1119('0x8'));var config=require(_0x1119('0x9'));var jayson=require(_0x1119('0xa'));var client=jayson['client'][_0x1119('0xb')]({'port':0x232a});config['redis']=_[_0x1119('0xc')](config[_0x1119('0xd')],{'host':_0x1119('0xe'),'port':0x18eb});var socket=require(_0x1119('0xf'))(new Redis(config['redis']));require('./user.socket')[_0x1119('0x10')](socket);function respondWithRpcPromise(_0x3ccf8a,_0x577fab,_0xec8b1c){return new BPromise(function(_0xc354a9,_0x440f76){return client[_0x1119('0x11')](_0x3ccf8a,_0xec8b1c)[_0x1119('0x12')](function(_0x1134cd){logger[_0x1119('0x13')]('User,\x20%s,\x20%s',_0x577fab,'request\x20sent');logger[_0x1119('0x14')]('User,\x20%s,\x20%s,\x20%s',_0x577fab,_0x1119('0x15'),JSON[_0x1119('0x16')](_0x1134cd));if(_0x1134cd[_0x1119('0x17')]){if(_0x1134cd[_0x1119('0x17')]['code']===0x1f4){logger[_0x1119('0x17')](_0x1119('0x18'),_0x577fab,_0x1134cd[_0x1119('0x17')]['message']);return _0x440f76(_0x1134cd[_0x1119('0x17')]['message']);}logger[_0x1119('0x17')](_0x1119('0x18'),_0x577fab,_0x1134cd[_0x1119('0x17')][_0x1119('0x19')]);return _0xc354a9(_0x1134cd[_0x1119('0x17')][_0x1119('0x19')]);}else{logger[_0x1119('0x13')](_0x1119('0x18'),_0x577fab,'request\x20sent');_0xc354a9(_0x1134cd['result']['message']);}})[_0x1119('0x1a')](function(_0x570ee9){logger[_0x1119('0x17')](_0x1119('0x18'),_0x577fab,_0x570ee9);_0x440f76(_0x570ee9);});});}exports[_0x1119('0x1b')]=function(_0xfca652){var _0x3d5d2a=this;return new Promise(function(_0xc6e357,_0x469ccf){return db[_0x1119('0x1c')][_0x1119('0x1d')]({'raw':_0xfca652['options']?_0xfca652[_0x1119('0x1e')][_0x1119('0x1f')]===undefined?!![]:![]:!![],'where':_0xfca652[_0x1119('0x1e')]?_0xfca652[_0x1119('0x1e')][_0x1119('0x20')]||null:null,'attributes':_0xfca652['options']?_0xfca652[_0x1119('0x1e')][_0x1119('0x21')]||null:null,'limit':_0xfca652[_0x1119('0x1e')]?_0xfca652[_0x1119('0x1e')][_0x1119('0x22')]||null:null,'include':_0xfca652[_0x1119('0x1e')]?_0xfca652[_0x1119('0x1e')][_0x1119('0x23')]?_[_0x1119('0x24')](_0xfca652[_0x1119('0x1e')][_0x1119('0x23')],function(_0x24913c){return{'model':db[_0x24913c[_0x1119('0x25')]],'as':_0x24913c['as'],'attributes':_0x24913c[_0x1119('0x21')],'include':_0x24913c[_0x1119('0x23')]?_['map'](_0x24913c[_0x1119('0x23')],function(_0x51d09e){return{'model':db[_0x51d09e[_0x1119('0x25')]],'as':_0x51d09e['as'],'attributes':_0x51d09e[_0x1119('0x21')],'include':_0x51d09e[_0x1119('0x23')]?_[_0x1119('0x24')](_0x51d09e[_0x1119('0x23')],function(_0x1d090c){return{'model':db[_0x1d090c[_0x1119('0x25')]],'as':_0x1d090c['as'],'attributes':_0x1d090c['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x1f56a6){logger['info'](_0x1119('0x1b'),_0xfca652);logger[_0x1119('0x14')]('GetUser',_0xfca652,JSON[_0x1119('0x16')](_0x1f56a6));_0xc6e357(_0x1f56a6);})[_0x1119('0x1a')](function(_0x3cacea){logger['error'](_0x1119('0x1b'),_0x3cacea[_0x1119('0x19')],_0xfca652);_0x469ccf(_0x3d5d2a['error'](0x1f4,_0x3cacea['message']));});});};exports['ShowUser']=function(_0xa5e2c2){var _0x43633b=this;return new Promise(function(_0x3d7220,_0x59aa3a){return db[_0x1119('0x1c')][_0x1119('0x26')]({'raw':_0xa5e2c2['options']?_0xa5e2c2[_0x1119('0x1e')][_0x1119('0x1f')]===undefined?!![]:![]:!![],'where':_0xa5e2c2[_0x1119('0x1e')]?_0xa5e2c2[_0x1119('0x1e')][_0x1119('0x20')]||null:null,'attributes':_0xa5e2c2[_0x1119('0x1e')]?_0xa5e2c2['options'][_0x1119('0x21')]||null:null,'include':_0xa5e2c2[_0x1119('0x1e')]?_0xa5e2c2[_0x1119('0x1e')][_0x1119('0x23')]?_[_0x1119('0x24')](_0xa5e2c2['options']['include'],function(_0x384240){return{'model':db[_0x384240['model']],'as':_0x384240['as'],'attributes':_0x384240[_0x1119('0x21')],'include':_0x384240[_0x1119('0x23')]?_[_0x1119('0x24')](_0x384240['include'],function(_0x553a99){return{'model':db[_0x553a99['model']],'as':_0x553a99['as'],'attributes':_0x553a99['attributes'],'include':_0x553a99[_0x1119('0x23')]?_[_0x1119('0x24')](_0x553a99[_0x1119('0x23')],function(_0x46bae2){return{'model':db[_0x46bae2[_0x1119('0x25')]],'as':_0x46bae2['as'],'attributes':_0x46bae2[_0x1119('0x21')]};}):[]};}):[]};}):[]:[]})[_0x1119('0x12')](function(_0x31f9db){logger['info']('ShowUser',_0xa5e2c2);logger['debug'](_0x1119('0x27'),_0xa5e2c2,JSON[_0x1119('0x16')](_0x31f9db));_0x3d7220(_0x31f9db);})[_0x1119('0x1a')](function(_0x5a233d){logger[_0x1119('0x17')]('ShowUser',_0x5a233d[_0x1119('0x19')],_0xa5e2c2);_0x59aa3a(_0x43633b[_0x1119('0x17')](0x1f4,_0x5a233d['message']));});});};exports[_0x1119('0x28')]=function(_0x450b39){var _0x59f39e=this;return new Promise(function(_0x1a7101,_0x1c9899){var _0x146377;return db[_0x1119('0x1c')][_0x1119('0x26')]({'where':_0x450b39[_0x1119('0x1e')][_0x1119('0x20')]||{},'attributes':['id',_0x1119('0x29'),_0x1119('0x2a'),'internal',_0x1119('0x2b')]})[_0x1119('0x12')](function(_0x1959ec){if(_0x1959ec){_0x146377=_0x1959ec;return db['UserVoiceQueueRt'][_0x1119('0x2c')]({'paused':0x1},{'where':{'UserId':_0x146377['id']},'individualHooks':!![]});}})['then'](function(){if(_0x146377){return db[_0x1119('0x2d')][_0x1119('0x1d')]({'where':{'membername':_0x146377[_0x1119('0x29')],'type':_0x1119('0x2e'),'exitAt':null}});}})[_0x1119('0x12')](function(_0x107ca1){if(_0x146377){if(_0x107ca1&&_0x107ca1[_0x1119('0x2f')]){var _0x26e44d=moment()[_0x1119('0x30')]('YYYY-MM-DD\x20HH:mm:ss');for(var _0x2bac80=0x0,_0x24cbc4=_0x107ca1['length'];_0x2bac80<_0x24cbc4;_0x2bac80++){_0x107ca1[_0x2bac80]['updateAttributes']({'exitAt':_0x26e44d});}}}})[_0x1119('0x12')](function(){if(_0x146377){var _0x5ce3be=[];var _0xf4c25d=utils['getChannels']();_0xf4c25d[_0x1119('0x31')](function(_0x37652b){_0x5ce3be[_0x1119('0x32')]({'channel':_0x37652b,'membername':_0x146377[_0x1119('0x29')],'interface':_['isNil'](_0x146377[_0x1119('0x2b')])?util[_0x1119('0x30')](_0x1119('0x33'),_0x146377[_0x1119('0x29')]):_0x146377[_0x1119('0x2b')],'type':'PAUSE','enterAt':moment()[_0x1119('0x30')](_0x1119('0x34')),'data1':_0x450b39['body'][_0x1119('0x35')]||_0x1119('0x36'),'role':_0x146377[_0x1119('0x2a')],'internal':_0x146377['internal'],'uniqueid':_0x450b39[_0x1119('0x37')]['uniqueid']||null});});return db[_0x1119('0x2d')][_0x1119('0x38')](_0x5ce3be,{'individualHooks':!![]});}})['then'](function(){if(_0x146377){return _0x146377['update']({'voicePause':!![],'mailPause':!![],'chatPause':!![],'faxPause':!![],'smsPause':!![],'openchannelPause':!![],'pauseType':_0x450b39[_0x1119('0x37')][_0x1119('0x35')]||_0x1119('0x36'),'lastPauseAt':moment()[_0x1119('0x30')](_0x1119('0x34'))});}})[_0x1119('0x12')](function(_0x37ec73){_0x1a7101(_0x37ec73);})[_0x1119('0x1a')](function(_0x898be2){_0x1c9899(_0x59f39e[_0x1119('0x17')](0x1f4,_0x898be2[_0x1119('0x19')]));});});};exports[_0x1119('0x39')]=function(_0x7c0647){var _0x5e0b3d=this;return new Promise(function(_0x4eff98,_0xd58bd7){var _0x41e323;return db[_0x1119('0x1c')][_0x1119('0x3a')]({'where':_0x7c0647[_0x1119('0x1e')][_0x1119('0x20')]||{},'attributes':['id',_0x1119('0x29')]})[_0x1119('0x12')](function(_0x2d8ac7){if(_0x2d8ac7){_0x41e323=_0x2d8ac7;if(_0x7c0647[_0x1119('0x37')]['channel']&&!utils['isValidChannel'](_0x7c0647[_0x1119('0x37')][_0x1119('0x3b')])){throw new Error(_0x1119('0x3c'));}switch(_0x7c0647['body'][_0x1119('0x3b')]){case _0x1119('0x3d'):return db[_0x1119('0x3e')][_0x1119('0x2c')]({'paused':0x0},{'where':{'UserId':_0x41e323['id']}})['then'](function(){return db[_0x1119('0x2d')][_0x1119('0x26')]({'where':{'channel':_0x7c0647[_0x1119('0x37')][_0x1119('0x3b')],'membername':_0x41e323[_0x1119('0x29')],'type':_0x1119('0x2e'),'exitAt':null}});})[_0x1119('0x12')](function(_0x37f1c1){if(_0x37f1c1){return _0x37f1c1[_0x1119('0x2c')]({'exitAt':moment()[_0x1119('0x30')](_0x1119('0x34')),'data2':_0x1119('0x3f')},{'individualHooks':!![]});}return null;})[_0x1119('0x12')](function(){return _0x41e323[_0x1119('0x2c')]({'voicePause':![]});});case _0x1119('0x40'):case _0x1119('0x41'):case _0x1119('0x42'):case _0x1119('0x43'):case _0x1119('0x44'):return db[_0x1119('0x2d')][_0x1119('0x26')]({'where':{'channel':_0x7c0647[_0x1119('0x37')][_0x1119('0x3b')],'membername':_0x41e323['name'],'type':_0x1119('0x2e'),'exitAt':null}})[_0x1119('0x12')](function(_0x8031c7){return _0x8031c7[_0x1119('0x2c')]({'exitAt':moment()['format'](_0x1119('0x34')),'data2':_0x1119('0x3f')},{'individualHooks':!![]});})[_0x1119('0x12')](function(){var _0x196cdd={};_[_0x1119('0x45')](_0x196cdd,util[_0x1119('0x30')](_0x1119('0x46'),_0x7c0647[_0x1119('0x37')][_0x1119('0x3b')],_0x1119('0x47')),![]);return _0x41e323[_0x1119('0x2c')](_0x196cdd);});default:return db[_0x1119('0x3e')][_0x1119('0x2c')]({'paused':0x0},{'where':{'UserId':_0x41e323['id']}})[_0x1119('0x12')](function(){return db[_0x1119('0x2d')][_0x1119('0x1d')]({'where':{'membername':_0x41e323['name'],'type':_0x1119('0x2e'),'exitAt':null}});})[_0x1119('0x12')](function(_0x56838c){var _0x1aaa6c=[];_0x56838c[_0x1119('0x31')](function(_0xcc2068){_0x1aaa6c[_0x1119('0x32')](_0xcc2068[_0x1119('0x2c')]({'exitAt':moment()['format'](_0x1119('0x34')),'data2':'system'}));});return BPromise[_0x1119('0x48')](_0x1aaa6c);})[_0x1119('0x12')](function(){return _0x41e323['update']({'voicePause':![],'mailPause':![],'chatPause':![],'faxPause':![],'smsPause':![],'openchannelPause':![]});});}}})[_0x1119('0x12')](function(_0x442d62){_0x4eff98(_0x442d62);})[_0x1119('0x1a')](function(_0x36f180){_0xd58bd7(_0x5e0b3d[_0x1119('0x17')](0x1f4,_0x36f180[_0x1119('0x19')]));});});};exports[_0x1119('0x49')]=function(_0x3001b5){var _0x491ed0=this;return new Promise(function(_0x5a227f,_0xae158){var _0x58e9d9;return db[_0x1119('0x1c')][_0x1119('0x3a')]({'where':_0x3001b5[_0x1119('0x1e')][_0x1119('0x20')]||{},'attributes':['id',_0x1119('0x29')]})[_0x1119('0x12')](function(_0x3f0863){if(_0x3f0863){_0x58e9d9=_0x3f0863;return db['UserVoiceQueueRt'][_0x1119('0x4a')]({'where':{'membername':_0x58e9d9[_0x1119('0x29')]},'individualHooks':!![]});}})[_0x1119('0x12')](function(){if(_0x58e9d9){return db['MemberReport']['findAll']({'where':{'membername':_0x58e9d9[_0x1119('0x29')],'exitAt':null}});}})[_0x1119('0x12')](function(_0x2abc16){if(_0x58e9d9){if(_0x2abc16&&_0x2abc16[_0x1119('0x2f')]){var _0x202e32=[];_0x2abc16[_0x1119('0x31')](function(_0x1473a6){_0x202e32['push'](_0x1473a6[_0x1119('0x2c')]({'exitAt':moment()[_0x1119('0x30')](_0x1119('0x34'))}));});return BPromise['all'](_0x202e32);}}})[_0x1119('0x12')](function(){if(_0x58e9d9){return _0x58e9d9[_0x1119('0x2c')]({'online':![],'lastLoginAt':null,'voicePause':![],'mailPause':![],'chatPause':![],'faxPause':![],'smsPause':![],'openchannelPause':![]});}})[_0x1119('0x12')](function(_0x588e4e){_0x5a227f(_0x588e4e);})[_0x1119('0x1a')](function(_0x24589d){_0xae158(_0x491ed0[_0x1119('0x17')](0x1f4,_0x24589d['message']));});});};exports[_0x1119('0x4b')]=function(_0x3fd307){var _0x29cd90=this;return new Promise(function(_0x44f65f,_0x10890a){var _0x4edf76;var _0x42da92;var _0x4d591d;var _0x20835a;return db[_0x1119('0x1c')][_0x1119('0x3a')]({'where':_0x3fd307[_0x1119('0x1e')][_0x1119('0x20')]||{},'attributes':['id',_0x1119('0x29'),_0x1119('0x2a'),'mobile',_0x1119('0x4c'),_0x1119('0x4d'),_0x1119('0x4e'),_0x1119('0x2b')]})[_0x1119('0x12')](function(_0x43cad0){if(_0x43cad0){_0x4edf76=_0x43cad0;_0x20835a=_0x3fd307[_0x1119('0x37')][_0x1119('0x2b')]?_0x3fd307[_0x1119('0x37')][_0x1119('0x2b')]:util[_0x1119('0x30')](_0x1119('0x33'),_0x4edf76[_0x1119('0x29')]);return db[_0x1119('0x1c')][_0x1119('0x4f')]({'where':{'role':_0x1119('0x50'),'online':!![],'id':{'$ne':_0x4edf76['id']}}});}})[_0x1119('0x12')](function(_0x2694b7){if(_0x2694b7){_0x4d591d=_0x2694b7;return require(_0x1119('0x51'))[_0x1119('0x52')]();}})[_0x1119('0x12')](function(_0x5bf2b1){if(_0x5bf2b1&&_0x5bf2b1[_0x1119('0x53')]&&_0x4d591d>=_0x5bf2b1[_0x1119('0x53')]){throw new Error(_0x1119('0x54'));}})[_0x1119('0x12')](function(){if(_0x4edf76){return db[_0x1119('0x3e')][_0x1119('0x4a')]({'where':{'membername':_0x4edf76[_0x1119('0x29')]},'individualHooks':!![]});}})[_0x1119('0x12')](function(){if(_0x4edf76){return _0x4edf76[_0x1119('0x55')]({'raw':!![]});}})[_0x1119('0x12')](function(_0x583018){if(_0x4edf76){if(_0x583018){var _0x1cb537=[];_0x42da92=_0x583018;if(_0x42da92[_0x1119('0x2f')]){for(var _0x3e96f1=0x0;_0x3e96f1<_0x42da92[_0x1119('0x2f')];_0x3e96f1++){_0x1cb537[_0x1119('0x32')](db['UserVoiceQueueRt']['upsert']({'membername':_0x4edf76[_0x1119('0x29')],'UserId':_0x4edf76['id'],'queue_name':_0x42da92[_0x3e96f1]['name'],'VoiceQueueId':_0x42da92[_0x3e96f1]['id'],'interface':_0x20835a,'paused':_0x4edf76['loginInPause']||![],'penalty':_0x42da92[_0x3e96f1][_0x1119('0x56')]||0x0}));}return BPromise[_0x1119('0x48')](_0x1cb537);}}}})[_0x1119('0x12')](function(){if(_0x4edf76){return db['MemberReport'][_0x1119('0x1d')]({'where':{'membername':_0x4edf76[_0x1119('0x29')],'exitAt':null}});}})[_0x1119('0x12')](function(_0x15aa9d){if(_0x4edf76){if(_0x15aa9d&&_0x15aa9d[_0x1119('0x2f')]){var _0x14cf8d=[];_0x15aa9d[_0x1119('0x31')](function(_0xc1c7a5){_0x14cf8d['push'](_0xc1c7a5[_0x1119('0x2c')]({'exitAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss')}));});return BPromise[_0x1119('0x48')](_0x14cf8d);}}})[_0x1119('0x12')](function(_0x3434e4){if(_0x4edf76){var _0x453e73=[];var _0x48eb59=[];var _0x27c2d9=utils[_0x1119('0x57')]();var _0x25c58c={'membername':_0x4edf76['name'],'interface':_0x20835a,'enterAt':moment()[_0x1119('0x30')](_0x1119('0x34')),'role':_0x4edf76[_0x1119('0x2a')],'internal':_0x4edf76[_0x1119('0x4d')]};_0x27c2d9[_0x1119('0x31')](function(_0x3bab5c){_0x453e73[_0x1119('0x32')](_['merge']({'channel':_0x3bab5c,'type':_0x1119('0x58'),'data1':_0x1119('0x59'),'data2':_0x20835a},_0x25c58c));if(_0x4edf76[_0x1119('0x4e')]){_0x48eb59['push'](_['merge']({'channel':_0x3bab5c,'type':'PAUSE','data1':_0x1119('0x5a')},_0x25c58c));}});return db['MemberReport'][_0x1119('0x38')](_0x453e73[_0x1119('0x5b')](_0x48eb59),{'individualHooks':!![]});}})[_0x1119('0x12')](function(){if(_0x4edf76){return _0x4edf76[_0x1119('0x2c')]({'online':!![],'lastLoginAt':moment()[_0x1119('0x30')](_0x1119('0x34')),'voicePause':_0x4edf76['loginInPause']||![],'mailPause':_0x4edf76[_0x1119('0x4e')]||![],'chatPause':_0x4edf76['loginInPause']||![],'faxPause':_0x4edf76[_0x1119('0x4e')]||![],'smsPause':_0x4edf76['loginInPause']||![],'openchannelPause':_0x4edf76[_0x1119('0x4e')]||![],'pauseType':_0x4edf76[_0x1119('0x4e')]?'LOGININPAUSE':null,'lastPauseAt':moment()[_0x1119('0x30')]('YYYY-MM-DD\x20HH:mm:ss'),'interface':_0x20835a});}})[_0x1119('0x12')](function(_0x42000c){_0x44f65f(_0x42000c);})[_0x1119('0x1a')](function(_0x32a940){_0x10890a(_0x29cd90[_0x1119('0x17')](0x1f4,_0x32a940['message']));});});};