X-Git-Url: http://repos.xcallymotion.com/?a=blobdiff_plain;f=server%2Fapi%2Fuser%2Fuser.controller.js;h=2597a05cc716105f08bfb8e45af48f3bab5b3949;hb=30647e0599beaeefd7f4697661375cd56f1291ec;hp=2d3e76b34691104f844f26a2d6d51a1123fa6c80;hpb=54b4ff96e83f911255a158fd7e32a0e84ec4b7d0;p=motion2.git diff --git a/server/api/user/user.controller.js b/server/api/user/user.controller.js index 2d3e76b..2597a05 100644 --- a/server/api/user/user.controller.js +++ b/server/api/user/user.controller.js @@ -15,4 +15,4 @@ // * treaties. The SOFTWARE PRODUCT is licensed, not sold. * // * * // ************************************************************************* -var _0x1323=['SmsAccount','addSmsAccounts','removeSmsAccounts','getChatWebsites','addChatWebsites','removeChatWebsites','getWhatsappAccounts','WhatsappAccount','addWhatsappAccounts','removeWhatsappAccounts','getSquareProjects','SquareProject','addSquareProjects','removeSquareProjects','getScheduledCalls','CmHopper','concat','$or','$lt','$lte','$ne','$eq','$notBetween','$like','$notLike','$notILike','$overlap','$contained','$any','lastName','Contact','VoiceQueue','getApiKey','retrieveApiKey','No\x20API\x20access\x20key\x20found!','You\x20don\x27t\x20have\x20sufficient\x20privileges\x20to\x20access\x20this\x20resource.','createApiKey','generateApiKey','iat','nonce','token','removeApiKey','apiKeyNonce','apiKeyIat','API\x20key\x20not\x20available','getPresence','resolve','teams','queues','inbound','toString','value','asc','substring','uniqBy','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(AMI)','http','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(Routing)','offline','idle','unknown','unavailable','ringing','voiceStatus','busy','charAt','toUpperCase','QueryTypes','select','field','InteractionId','ui.createdAt','user_has_','_interactions','ui.UserId\x20=\x20?','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','lodash','squel','crypto','to-csv','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','request','then','info','User,\x20%s,\x20%s','request\x20sent','stringify','error','message','result','catch','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','save','destroy','get','admin','Users','user','Agents','Telephones','telephone','ignore','map','includes','role','find','UserProfileResource','name','send','index','User','rawAttributes','fieldName','type','salt','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','sequelize','lower','col','options','include','rows','openTabs','true','push','chat','sms','dataValues','openchannel','all','params','differenceBy','keys','password','includeAll','whatsapp','fax','update','body','describe','addContacts','ids','omit','internal','Setting','securePassword','validatePasswordPattern','max','isNil','min_internal','SELECT','from','voicemail','mailbox','email','agent','permissions','101','102','103','113','110','104','105','106','107','109','114','115','Unauthorized','Unauthorized.\x20You\x20must\x20be\x20an\x20administrator\x20in\x20order\x20to\x20create\x20an\x20user','Unauthorized.\x20You\x20must\x20be\x20an\x20administrator\x20in\x20order\x20to\x20create\x20another\x20administrator','checkUserLimits','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','bulkCreate','some','Unauthorized.\x20You\x20must\x20be\x20an\x20administrator\x20in\x20order\x20to\x20create\x20an\x20administrator','each','create','VoiceMail','findAll','isEmpty','compact','changePassword','oldPassword','newPassword','Sequelize','ValidationError','Invalid\x20body\x20format.\x20Use\x20oldPassword\x20and\x20newPassword','authenticate','Wrong\x20credentials','New\x20password\x20must\x20be\x20different\x20from\x20old\x20password','enforcePasswordHistory','passwordHistoryLimit','previousPasswords','updatePasswordsHistory','channel','online','loginInPause','interface','Unknown\x20channel','capitalize','toLowerCase','Queues','penalty','spread','Queue:save','voice','format','SIP/%s','voicePause','UserVoiceQueueRt','upsert','removeQueues','isValidChannel','remove','QueueId','Queue:remove','addAvatar','userpic','filename','join','root','server/files/images/logos/default_profile.png','download','server/files/images/','getOpenTabs','mail','ChatOpenTabs','FaxOpenTabs','FAX','OpenchannelOpenTabs','OPENCHANNEL','createdAt','MailOpenTabs','MAIL','SmsOpenTabs','SMS','WhatsappOpenTabs','WHATSAPP','getContacts','findOne','CmContact','order','CmList','List','Tag','Tags','color','tag','getQueues','Queue','Unknown\x20role','getVoiceQueuesRt','ChatGroup','getGroups','VoiceRecording','UserId','ScreenRecording','ChatInteraction','getChatInteractions','getOpenchannelInteractions','OpenchannelInteraction','getMailInteractions','MailInteraction','getSmsInteractions','SmsInteraction','FaxInteraction','getFaxInteractions','getWhatsappInteractions','WhatsappInteraction','login','phone','mobile','intrf','user:%s','user:forcelogout','headers','x-forwarded-for','connection','remoteAddress','socket','UserVoiceQueue.penalty','forEach','YYYY-MM-DD\x20HH:mm:ss','getChannels','LOGIN','device','PAUSE','MemberReport','LOGININPAUSE','isMiddleware','logout','pause','QueuePause','updateAttributes','DEFAULT\x20PAUSE','unpause','mailPause','chatPause','faxPause','smsPause','whatsapppause','pauseType','lastPauseAt','manual','%s%s','Pause','getTeams','Team','addTeams','Voice','getChatQueues','setDataValue','getMailQueues','getSmsQueues','Sms','getWhatsappQueues','Whatsapp','getFaxQueues','Fax','getOpenchannelQueues','Openchannel','flatten','transaction','addAgent','removeTeams','getVoiceQueues','Chat','Mail','getDataValue','emit','getLists','getAgents','values','You\x20can\x27t\x20delete\x20yourself','addChatInteractions','removeChatInteractions','user_has_chat_interactions:remove','addMailInteractions','removeMailInteractions','user_has_mail_interactions:remove','addFaxInteractions','removeFaxInteractions','isArray','user_has_fax_interactions:remove','addSmsInteractions','user_has_sms_interactions:save','removeSmsInteractions','user_has_sms_interactions:remove','addOpenchannelInteractions','user_has_openchannel_interactions:save','removeOpenchannelInteractions','user_has_openchannel_interactions:remove','addWhatsappInteractions','removeWhatsappInteractions','getVoicePrefixes','VoicePrefix','getFaxAccounts','FaxAccount','addFaxAccounts','removeFaxAccounts','MailAccount','addMailAccounts','removeMailAccounts','addOpenchannelAccounts','removeOpenchannelAccounts','getSmsAccounts'];(function(_0x4b43e3,_0x5e3a0f){var _0xe9bfb3=function(_0x54ee79){while(--_0x54ee79){_0x4b43e3['push'](_0x4b43e3['shift']());}};_0xe9bfb3(++_0x5e3a0f);}(_0x1323,0x1e8));var _0x3132=function(_0xa301e2,_0x46cb6d){_0xa301e2=_0xa301e2-0x0;var _0x478052=_0x1323[_0xa301e2];return _0x478052;};'use strict';var emlformat=require(_0x3132('0x0'));var rimraf=require(_0x3132('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3132('0x2'));var rp=require('request-promise');var moment=require(_0x3132('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x3132('0x4'));var util=require(_0x3132('0x5'));var path=require(_0x3132('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3132('0x7'));var squel=require(_0x3132('0x8'));var crypto=require(_0x3132('0x9'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x3132('0xa'));var querystring=require(_0x3132('0xb'));var Papa=require('papaparse');var Redis=require(_0x3132('0xc'));var values;var authService=require('../../components/auth/service');var qs=require(_0x3132('0xd'));var as=require(_0x3132('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3132('0xf'))('api');var utils=require(_0x3132('0x10'));var config=require(_0x3132('0x11'));var licenseUtil=require(_0x3132('0x12'));var db=require(_0x3132('0x13'))['db'];config[_0x3132('0x14')]=_[_0x3132('0x15')](config['redis'],{'host':_0x3132('0x16'),'port':0x18eb});var socket=require(_0x3132('0x17'))(new Redis(config['redis']));require('./user.socket')[_0x3132('0x18')](socket);var jayson=require(_0x3132('0x19'));var client=jayson[_0x3132('0x1a')]['http']({'port':0x232a});function respondWithRpcPromise(_0x1e64ec,_0x4a65d0,_0x151e46,_0x2adfba){return new BPromise(function(_0x10fd6d,_0x4317cd){var _0x4a7579=_0x2adfba||client;return _0x4a7579[_0x3132('0x1b')](_0x1e64ec,_0x151e46)[_0x3132('0x1c')](function(_0x169236){logger[_0x3132('0x1d')](_0x3132('0x1e'),_0x4a65d0,_0x3132('0x1f'));logger['debug']('User,\x20%s,\x20%s,\x20%s',_0x4a65d0,_0x3132('0x1f'),JSON[_0x3132('0x20')](_0x169236));if(_0x169236[_0x3132('0x21')]){if(_0x169236[_0x3132('0x21')]['code']===0x1f4){logger[_0x3132('0x21')](_0x3132('0x1e'),_0x4a65d0,_0x169236[_0x3132('0x21')]['message']);return _0x4317cd(_0x169236[_0x3132('0x21')][_0x3132('0x22')]);}logger[_0x3132('0x21')](_0x3132('0x1e'),_0x4a65d0,_0x169236[_0x3132('0x21')][_0x3132('0x22')]);return _0x10fd6d(_0x169236[_0x3132('0x21')][_0x3132('0x22')]);}else{logger['info']('User,\x20%s,\x20%s',_0x4a65d0,_0x3132('0x1f'));_0x10fd6d(_0x169236[_0x3132('0x23')][_0x3132('0x22')]);}})[_0x3132('0x24')](function(_0x293df6){logger['error']('User,\x20%s,\x20%s',_0x4a65d0,_0x293df6);_0x4317cd(_0x293df6);});});}function respondWithStatusCode(_0x57ad29,_0x20f237){_0x20f237=_0x20f237||0xcc;return function(_0x3afdcb){if(_0x3afdcb){return _0x57ad29[_0x3132('0x25')](_0x20f237);}return _0x57ad29[_0x3132('0x26')](_0x20f237)[_0x3132('0x27')]();};}function respondWithResult(_0x5c1f91,_0x41c2c6){_0x41c2c6=_0x41c2c6||0xc8;return function(_0x52195c){if(_0x52195c){return _0x5c1f91['status'](_0x41c2c6)[_0x3132('0x28')](_0x52195c);}};}function respondWithFilteredResult(_0x5e54cb,_0x577997){return function(_0x47dd95){if(_0x47dd95){var _0x2447a2=typeof _0x577997[_0x3132('0x29')]===_0x3132('0x2a')&&typeof _0x577997['limit']==='undefined';var _0x5cc74c=_0x47dd95[_0x3132('0x2b')];var _0x1cbfbd=_0x2447a2?0x0:_0x577997[_0x3132('0x29')];var _0x2ee98f=_0x2447a2?_0x47dd95['count']:_0x577997[_0x3132('0x29')]+_0x577997[_0x3132('0x2c')];var _0x22881f;if(_0x2ee98f>=_0x5cc74c){_0x2ee98f=_0x5cc74c;_0x22881f=0xc8;}else{_0x22881f=0xce;}_0x5e54cb['status'](_0x22881f);return _0x5e54cb['set'](_0x3132('0x2d'),_0x1cbfbd+'-'+_0x2ee98f+'/'+_0x5cc74c)[_0x3132('0x28')](_0x47dd95);}return null;};}function patchUpdates(_0x3f9bb0){return function(_0x2b32dc){try{jsonpatch['apply'](_0x2b32dc,_0x3f9bb0,!![]);}catch(_0x3e3210){return BPromise['reject'](_0x3e3210);}return _0x2b32dc[_0x3132('0x2e')]();};}function saveUpdates(_0x173e33,_0x358e4a){return function(_0x3326da){if(_0x3326da){return _0x3326da['update'](_0x173e33)[_0x3132('0x1c')](function(_0x3851ad){return _0x3851ad;});}return null;};}function removeEntity(_0x5c9434,_0x22b4a6){return function(_0x47e35a){if(_0x47e35a){return _0x47e35a[_0x3132('0x2f')]()['then'](function(){var _0x4abc30=_0x47e35a[_0x3132('0x30')]({'plain':!![]});if(_0x4abc30['role']===_0x3132('0x31'))return;var _0x4e91d9=[{'name':_0x3132('0x32'),'value':_0x3132('0x33'),'ignore':!![]},{'name':_0x3132('0x34'),'value':'agent','ignore':![]},{'name':_0x3132('0x35'),'value':_0x3132('0x36'),'ignore':![]}];var _0x46554c=_(_0x4e91d9)['filter'](_0x3132('0x37'))[_0x3132('0x38')]('value')['value']();if(_[_0x3132('0x39')](_0x46554c,_0x4abc30[_0x3132('0x3a')])){return;}var _0x2e603b=_[_0x3132('0x3b')](_0x4e91d9,['value',_0x4abc30['role']])['name'];return db[_0x3132('0x3c')][_0x3132('0x2f')]({'where':{'type':_0x2e603b,'resourceId':_0x4abc30['id']}})[_0x3132('0x1c')](function(){return _0x47e35a;});})[_0x3132('0x1c')](function(){_0x5c9434[_0x3132('0x26')](0xcc)[_0x3132('0x27')]();});}};}function handleEntityNotFound(_0x2363ca,_0x39461a){return function(_0x101d0b){if(!_0x101d0b){_0x2363ca[_0x3132('0x25')](0x194);}return _0x101d0b;};}function handleError(_0xf6f8a7,_0x12fba6){_0x12fba6=_0x12fba6||0x1f4;return function(_0x50a540){logger[_0x3132('0x21')](_0x50a540['stack']);if(_0x50a540[_0x3132('0x3d')]){delete _0x50a540['name'];}_0xf6f8a7[_0x3132('0x26')](_0x12fba6)[_0x3132('0x3e')](_0x50a540);};}exports[_0x3132('0x3f')]=function(_0x79ef69,_0x22caa4){var _0xf51b71={},_0xc8048f={},_0x598f55={'count':0x0,'rows':[]};var _0x200014=_['map'](db[_0x3132('0x40')][_0x3132('0x41')],function(_0x3873de){return{'name':_0x3873de[_0x3132('0x42')],'type':_0x3873de[_0x3132('0x43')]['key']};});_0xc8048f['model']=_['differenceBy'](_[_0x3132('0x38')](_0x200014,_0x3132('0x3d')),['password',_0x3132('0x44')]);_0xc8048f[_0x3132('0x45')]=_['keys'](_0x79ef69[_0x3132('0x45')]);_0xc8048f[_0x3132('0x46')]=_[_0x3132('0x47')](_0xc8048f[_0x3132('0x48')],_0xc8048f['query']);_0xf51b71[_0x3132('0x49')]=_[_0x3132('0x47')](_0xc8048f[_0x3132('0x48')],qs[_0x3132('0x4a')](_0x79ef69[_0x3132('0x45')][_0x3132('0x4a')]));_0xf51b71['attributes']=_0xf51b71[_0x3132('0x49')][_0x3132('0x4b')]?_0xf51b71[_0x3132('0x49')]:_0xc8048f[_0x3132('0x48')];if(!_0x79ef69[_0x3132('0x45')][_0x3132('0x4c')](_0x3132('0x4d'))){_0xf51b71[_0x3132('0x2c')]=qs[_0x3132('0x2c')](_0x79ef69['query'][_0x3132('0x2c')]);_0xf51b71[_0x3132('0x29')]=qs[_0x3132('0x29')](_0x79ef69[_0x3132('0x45')]['offset']);}_0xf51b71['order']=qs['sort'](_0x79ef69['query'][_0x3132('0x4e')]);_0xf51b71[_0x3132('0x4f')]=qs[_0x3132('0x46')](_[_0x3132('0x50')](_0x79ef69['query'],_0xc8048f[_0x3132('0x46')]),_0x200014);if(_0x79ef69[_0x3132('0x45')][_0x3132('0x51')]){_0xf51b71[_0x3132('0x4f')]=_[_0x3132('0x52')](_0xf51b71[_0x3132('0x4f')],{'$or':_['map'](_0x200014,function(_0x335be6){if(_0x335be6[_0x3132('0x43')]!=='VIRTUAL'){return db[_0x3132('0x53')]['where'](db[_0x3132('0x53')]['fn'](_0x3132('0x54'),db['sequelize'][_0x3132('0x55')](_0x335be6['name'])),{'$like':db['sequelize']['fn'](_0x3132('0x54'),'%'+_0x79ef69['query'][_0x3132('0x51')]+'%')});}})});}_0xf51b71=_[_0x3132('0x52')]({},_0xf51b71,_0x79ef69[_0x3132('0x56')]);var _0x267ca3={'where':_0xf51b71[_0x3132('0x4f')]};return db[_0x3132('0x40')][_0x3132('0x2b')](_0x267ca3)[_0x3132('0x1c')](function(_0x15732c){_0x598f55['count']=_0x15732c;if(_0x79ef69[_0x3132('0x45')]['includeAll']){_0xf51b71[_0x3132('0x57')]=[{'all':!![]}];}if(!_[_0x3132('0x39')](_0xf51b71[_0x3132('0x49')],'id')){_0xf51b71[_0x3132('0x49')]['push']('id');}return db[_0x3132('0x40')]['findAll'](_0xf51b71);})[_0x3132('0x1c')](function(_0x4fc884){_0x598f55[_0x3132('0x58')]=_0x4fc884;if(_0x79ef69[_0x3132('0x45')][_0x3132('0x59')]===_0x3132('0x5a')){var _0x30eaab=[];for(var _0x164249=0x0;_0x164249<_0x598f55['rows']['length'];_0x164249++){_0x30eaab[_0x3132('0x5b')](get_open_tabs(_0x3132('0x5c'),_0x598f55[_0x3132('0x58')][_0x164249]['dataValues']));_0x30eaab[_0x3132('0x5b')](get_open_tabs(_0x3132('0x5d'),_0x598f55['rows'][_0x164249][_0x3132('0x5e')]));_0x30eaab[_0x3132('0x5b')](get_open_tabs('fax',_0x598f55['rows'][_0x164249][_0x3132('0x5e')]));_0x30eaab[_0x3132('0x5b')](get_open_tabs('mail',_0x598f55[_0x3132('0x58')][_0x164249]['dataValues']));_0x30eaab[_0x3132('0x5b')](get_open_tabs(_0x3132('0x5f'),_0x598f55[_0x3132('0x58')][_0x164249][_0x3132('0x5e')]));_0x30eaab[_0x3132('0x5b')](get_open_tabs('whatsapp',_0x598f55[_0x3132('0x58')][_0x164249][_0x3132('0x5e')]));}return BPromise[_0x3132('0x60')](_0x30eaab)[_0x3132('0x1c')](function(_0x115bdc){return _0x598f55;});}else{return _0x598f55;}})['then'](respondWithFilteredResult(_0x22caa4,_0xf51b71))[_0x3132('0x24')](handleError(_0x22caa4,null));};exports['show']=function(_0x266a04,_0x280ea9){var _0x4d6a68={'raw':![],'where':{'id':_0x266a04[_0x3132('0x61')]['id']}},_0x29982e={};_0x29982e['model']=_[_0x3132('0x62')](_[_0x3132('0x63')](db['User']['rawAttributes']),[_0x3132('0x64'),_0x3132('0x44')]);_0x29982e[_0x3132('0x45')]=_[_0x3132('0x63')](_0x266a04[_0x3132('0x45')]);_0x29982e[_0x3132('0x46')]=_['intersection'](_0x29982e[_0x3132('0x48')],_0x29982e['query']);_0x4d6a68[_0x3132('0x49')]=_[_0x3132('0x47')](_0x29982e['model'],qs[_0x3132('0x4a')](_0x266a04[_0x3132('0x45')][_0x3132('0x4a')]));_0x4d6a68['attributes']=_0x4d6a68[_0x3132('0x49')]['length']?_0x4d6a68[_0x3132('0x49')]:_0x29982e[_0x3132('0x48')];if(_0x266a04[_0x3132('0x45')][_0x3132('0x65')]){_0x4d6a68[_0x3132('0x57')]=[{'all':!![]}];}_0x4d6a68=_[_0x3132('0x52')]({},_0x4d6a68,_0x266a04[_0x3132('0x56')]);if(!_['includes'](_0x4d6a68['attributes'],'id')){_0x4d6a68[_0x3132('0x49')][_0x3132('0x5b')]('id');}return db[_0x3132('0x40')][_0x3132('0x3b')](_0x4d6a68)['then'](handleEntityNotFound(_0x280ea9,null))[_0x3132('0x1c')](function(_0x5bf289){var _0x5aaf43=[];values=_0x5bf289;if(_0x266a04[_0x3132('0x45')][_0x3132('0x59')]===_0x3132('0x5a')){_0x5aaf43[_0x3132('0x5b')](get_open_tabs(_0x3132('0x5c'),_0x5bf289[_0x3132('0x5e')]));_0x5aaf43['push'](get_open_tabs('sms',_0x5bf289['dataValues']));_0x5aaf43[_0x3132('0x5b')](get_open_tabs(_0x3132('0x5f'),_0x5bf289['dataValues']));_0x5aaf43['push'](get_open_tabs(_0x3132('0x66'),_0x5bf289[_0x3132('0x5e')]));_0x5aaf43['push'](get_open_tabs(_0x3132('0x67'),_0x5bf289[_0x3132('0x5e')]));_0x5aaf43['push'](get_open_tabs('mail',_0x5bf289[_0x3132('0x5e')]));return BPromise[_0x3132('0x60')](_0x5aaf43);}else{return values;}})['then'](function(_0x29c124){return values;})[_0x3132('0x1c')](respondWithResult(_0x280ea9,null))[_0x3132('0x24')](handleError(_0x280ea9,null));};exports[_0x3132('0x68')]=function(_0x221584,_0x294343){if(_0x221584[_0x3132('0x69')]['id']){delete _0x221584[_0x3132('0x69')]['id'];}delete _0x221584[_0x3132('0x69')][_0x3132('0x3a')];return db['User'][_0x3132('0x3b')]({'where':{'id':_0x221584['params']['id']}})[_0x3132('0x1c')](handleEntityNotFound(_0x294343,null))[_0x3132('0x1c')](saveUpdates(_0x221584[_0x3132('0x69')],null))[_0x3132('0x1c')](respondWithResult(_0x294343,null))[_0x3132('0x24')](handleError(_0x294343,null));};exports['describe']=function(_0x2274fb,_0x1168da){return db[_0x3132('0x40')][_0x3132('0x6a')]()['then'](respondWithResult(_0x1168da,null))[_0x3132('0x24')](handleError(_0x1168da,null));};exports[_0x3132('0x6b')]=function(_0x582ab9,_0x11866b,_0xa5cc76){return db[_0x3132('0x40')][_0x3132('0x3b')]({'where':{'id':_0x582ab9[_0x3132('0x61')]['id']}})[_0x3132('0x1c')](handleEntityNotFound(_0x11866b,null))['then'](function(_0x343e7){if(_0x343e7){return _0x343e7[_0x3132('0x6b')](_0x582ab9[_0x3132('0x69')][_0x3132('0x6c')],_[_0x3132('0x6d')](_0x582ab9[_0x3132('0x69')],[_0x3132('0x6c'),'id'])||{});}})[_0x3132('0x1c')](respondWithResult(_0x11866b,null))['catch'](handleError(_0x11866b,null));};function validateUser(_0x2b6b77){return new BPromise(function(_0x3acfa2,_0x4dcc95){if(_0x2b6b77[_0x3132('0x6e')])return _0x3acfa2(_0x2b6b77);return db[_0x3132('0x6f')]['findById'](0x1)['then'](function(_0xa911cd){if(_0xa911cd[_0x3132('0x70')])authService[_0x3132('0x71')](_0x2b6b77[_0x3132('0x64')]);db[_0x3132('0x40')][_0x3132('0x72')](_0x3132('0x6e'))[_0x3132('0x1c')](function(_0x1050be){if(_[_0x3132('0x73')](_0x1050be)){_0x2b6b77[_0x3132('0x6e')]=_0xa911cd[_0x3132('0x74')]||0x1;return;}if(_[_0x3132('0x73')](_0xa911cd[_0x3132('0x74')])||_0xa911cd[_0x3132('0x74')]===_0x1050be){_0x2b6b77['internal']=_0x1050be+0x1;return;}if(_0xa911cd[_0x3132('0x74')]>_0x1050be){_0x2b6b77[_0x3132('0x6e')]=_0xa911cd[_0x3132('0x74')];return;}return db[_0x3132('0x53')][_0x3132('0x45')]('select\x20(select\x20IFNULL(max(internal)+1,1)\x20from\x20users\x20where\x20internal\x20<\x20md.internal)\x20as\x20\x27from\x27,\x20md.internal\x20-\x201\x20as\x20\x27to\x27\x20from\x20users\x20md\x20where\x20md.internal\x20!=\x201\x20and\x20not\x20exists\x20(select\x201\x20from\x20users\x20md2\x20where\x20md2.internal\x20=\x20md.internal\x20-\x201)',{'type':db[_0x3132('0x53')]['QueryTypes'][_0x3132('0x75')]})[_0x3132('0x1c')](function(_0x4345c9){if(_0x4345c9&&_0x4345c9[_0x3132('0x4b')]){for(var _0x74529e=0x0,_0x5aa27e=_0x4345c9['length'];_0x74529e<_0x5aa27e&&_[_0x3132('0x73')](_0x2b6b77[_0x3132('0x6e')]);_0x74529e++){if(_0xa911cd['min_internal']<=_0x4345c9[_0x74529e][_0x3132('0x76')]){_0x2b6b77[_0x3132('0x6e')]=_0x4345c9[_0x74529e][_0x3132('0x76')];}else if(_0xa911cd['min_internal']>_0x4345c9[_0x74529e]['from']&&_0xa911cd[_0x3132('0x74')]<=_0x4345c9[_0x74529e]['to']){_0x2b6b77[_0x3132('0x6e')]=_0xa911cd[_0x3132('0x74')];}}}if(_[_0x3132('0x73')](_0x2b6b77[_0x3132('0x6e')])){_0x2b6b77[_0x3132('0x6e')]=_0x1050be+0x1;}return _0x3acfa2(_0x2b6b77);});});})[_0x3132('0x24')](function(_0x51b97b){_0x4dcc95(_0x51b97b);});});}function updateUser(_0x37ae77){return new BPromise(function(_0x2eff69,_0x4e1639){try{if(_0x37ae77[_0x3132('0x77')]){_0x37ae77[_0x3132('0x78')]=_0x37ae77[_0x3132('0x6e')];_0x37ae77['VoiceMail']={'mailbox':_0x37ae77[_0x3132('0x6e')],'password':_0x37ae77[_0x3132('0x64')],'fullname':_0x37ae77['fullname'],'email':_0x37ae77[_0x3132('0x79')]};}if(_0x37ae77[_0x3132('0x3a')]===_0x3132('0x7a')){if(!_0x37ae77[_0x3132('0x7b')])_0x37ae77[_0x3132('0x7b')]=[_0x3132('0x7c'),_0x3132('0x7d'),_0x3132('0x7e'),_0x3132('0x7f'),_0x3132('0x80'),_0x3132('0x81'),_0x3132('0x82'),_0x3132('0x83'),_0x3132('0x84'),'108',_0x3132('0x85'),'100','111',_0x3132('0x86'),_0x3132('0x87')];}_0x2eff69(_0x37ae77);}catch(_0x3045ca){_0x4e1639(_0x3045ca);}});}exports['create']=function(_0x454f9e,_0x56fda8){if(_0x454f9e[_0x3132('0x33')]['role']==='agent')throw new Error(_0x3132('0x88'));if(_0x454f9e[_0x3132('0x69')]['role']===_0x3132('0x33')&&_0x454f9e[_0x3132('0x33')][_0x3132('0x3a')]!==_0x3132('0x31')){throw new Error(_0x3132('0x89'));}if(_0x454f9e[_0x3132('0x69')][_0x3132('0x3a')]===_0x3132('0x31')&&_0x454f9e[_0x3132('0x33')]['role']!==_0x3132('0x31')){throw new Error(_0x3132('0x8a'));}return licenseUtil[_0x3132('0x8b')]([_0x454f9e[_0x3132('0x69')]])[_0x3132('0x1c')](function(){return validateUser(_0x454f9e[_0x3132('0x69')]);})[_0x3132('0x1c')](function(_0x830615){return updateUser(_0x830615)['then'](function(_0x1a7be3){if(_0x1a7be3[_0x3132('0x3a')]===_0x3132('0x31')){_0x1a7be3['settingsEnabled']=_0x454f9e[_0x3132('0x33')]['settingsEnabled'];delete _0x1a7be3['userProfileId'];}return _0x1a7be3;});})[_0x3132('0x1c')](function(_0x52c5b6){return db[_0x3132('0x40')]['create'](_0x52c5b6,{'include':[{'model':db['VoiceMail'],'as':'VoiceMail'}]});})['then'](function(_0x5617d5){if(_0x454f9e[_0x3132('0x69')]['role']==='user')return _0x5617d5;if(_0x454f9e[_0x3132('0x33')][_0x3132('0x3a')]!==_0x3132('0x33'))return _0x5617d5;return db[_0x3132('0x8c')][_0x3132('0x3b')]({'where':{'name':_0x5617d5[_0x3132('0x3a')]===_0x3132('0x7a')?_0x3132('0x34'):_0x3132('0x35'),'userProfileId':_0x454f9e[_0x3132('0x33')][_0x3132('0x8d')]},'raw':!![]})[_0x3132('0x1c')](function(_0x5f5d42){if(!_0x5f5d42||_0x5f5d42[_0x3132('0x8e')]!=0x0)return _0x5617d5;return db['UserProfileResource']['create']({'name':_0x5617d5[_0x3132('0x3d')],'resourceId':_0x5617d5['id'],'type':_0x5f5d42[_0x3132('0x3d')],'sectionId':_0x5f5d42['id']},{})[_0x3132('0x1c')](function(){return _0x5617d5;});})[_0x3132('0x24')](function(_0x2b69ca){logger['error'](_0x3132('0x8f'),_0x2b69ca);throw _0x2b69ca;});})[_0x3132('0x1c')](respondWithResult(_0x56fda8,0xc9))['catch'](handleError(_0x56fda8,null));};exports[_0x3132('0x90')]=function(_0x5c1666,_0x281bbe){var _0xa74482=_0x5c1666[_0x3132('0x69')];var _0x598bcc=[];if(_0x5c1666[_0x3132('0x33')][_0x3132('0x3a')]===_0x3132('0x7a'))throw new Error(_0x3132('0x88'));if(_[_0x3132('0x91')](_0xa74482,['role',_0x3132('0x33')])&&_0x5c1666['user'][_0x3132('0x3a')]!=='admin'){throw new Error(_0x3132('0x89'));}if(_[_0x3132('0x91')](_0xa74482,['role',_0x3132('0x31')])&&_0x5c1666[_0x3132('0x33')]['role']!==_0x3132('0x31')){throw new Error(_0x3132('0x92'));}return licenseUtil[_0x3132('0x8b')](_0xa74482)[_0x3132('0x1c')](function(){return validateUser(_0xa74482[0x0]);})[_0x3132('0x1c')](function(){for(var _0x4713c6=0x1;_0x4713c6<_0xa74482[_0x3132('0x4b')];_0x4713c6++){var _0x14c860=_0xa74482[_0x4713c6-0x1][_0x3132('0x6e')];if(!_0xa74482[_0x4713c6][_0x3132('0x6e')])_0xa74482[_0x4713c6][_0x3132('0x6e')]=_0x14c860+0x1;_0x598bcc[_0x3132('0x5b')](validateUser(_0xa74482[_0x4713c6]));}return BPromise['all'](_0x598bcc);})[_0x3132('0x1c')](function(){_0x598bcc=[];for(var _0x54c0f6=0x0;_0x54c0f6<_0xa74482[_0x3132('0x4b')];_0x54c0f6++){_0x598bcc[_0x3132('0x5b')](updateUser(_0xa74482[_0x54c0f6]));}return BPromise['all'](_0x598bcc);})['then'](function(){return BPromise[_0x3132('0x93')](_0xa74482,function(_0x156704){return db[_0x3132('0x40')][_0x3132('0x94')](_0x156704,{'include':[{'model':db[_0x3132('0x95')],'as':'VoiceMail'}]})[_0x3132('0x1c')](function(_0x25a08c){_0x156704['id']=_0x25a08c['id'];return _0x156704;});});})[_0x3132('0x1c')](function(_0x31191c){if(_0x5c1666[_0x3132('0x69')][_0x3132('0x3a')]===_0x3132('0x33'))return _0x31191c;if(_0x5c1666['user'][_0x3132('0x3a')]!==_0x3132('0x33'))return _0x31191c;var _0x350dde=_[_0x3132('0x91')](_0x31191c,function(_0x5f0ec9){return _0x5f0ec9[_0x3132('0x3a')]===_0x3132('0x7a')||_0x5f0ec9[_0x3132('0x3a')]===_0x3132('0x36');});if(!_0x350dde)return _0x31191c;return db[_0x3132('0x8c')][_0x3132('0x96')]({'where':{'name':{'$or':[_0x3132('0x34'),_0x3132('0x35')]},'userProfileId':_0x5c1666[_0x3132('0x33')][_0x3132('0x8d')]},'raw':!![]})[_0x3132('0x1c')](function(_0x28ec4a){if(_[_0x3132('0x97')](_0x28ec4a)||!_[_0x3132('0x91')](_0x28ec4a,[_0x3132('0x8e'),0x0]))return _0x31191c;_0x598bcc=[];var _0x12803a=_(_0x28ec4a)['map'](function(_0x185423){if(_0x185423[_0x3132('0x8e')]===0x1)return;return _0x185423[_0x3132('0x3d')]===_0x3132('0x34')?_0x3132('0x7a'):_0x3132('0x36');})[_0x3132('0x98')]()['value']();for(var _0x4eb2cc=0x0;_0x4eb2cc<_0x31191c['length'];_0x4eb2cc++){if(!_[_0x3132('0x39')](_0x12803a,_0x31191c[_0x4eb2cc]['role']))return;var _0x4823ef=_0x31191c[_0x4eb2cc][_0x3132('0x3a')]===_0x3132('0x7a')?_0x3132('0x34'):'Telephones';_0x598bcc['push'](db['UserProfileResource'][_0x3132('0x94')]({'name':_0x31191c[_0x4eb2cc][_0x3132('0x3d')],'resourceId':_0x31191c[_0x4eb2cc]['id'],'type':_0x4823ef,'sectionId':_[_0x3132('0x3b')](_0x28ec4a,[_0x3132('0x3d'),_0x4823ef])['id']},{}));}return BPromise[_0x3132('0x60')](_0x598bcc);});})[_0x3132('0x1c')](respondWithResult(_0x281bbe,0xc9))[_0x3132('0x24')](handleError(_0x281bbe,null));};exports[_0x3132('0x99')]=function(_0x314174,_0x5864d9,_0x4553d8){if(_0x314174['body']['id']){delete _0x314174[_0x3132('0x69')]['id'];}return db[_0x3132('0x40')][_0x3132('0x3b')]({'where':{'id':_0x314174['params']['id']}})[_0x3132('0x1c')](function(_0x4fc228){if(!_0x4fc228)return null;if(_0x4fc228['id']===_0x314174['user']['id']){if(!_0x314174['body'][_0x3132('0x9a')]||!_0x314174[_0x3132('0x69')][_0x3132('0x9b')]){throw new db[(_0x3132('0x9c'))][(_0x3132('0x9d'))](_0x3132('0x9e'));}if(!_0x4fc228[_0x3132('0x9f')](_0x314174[_0x3132('0x69')][_0x3132('0x9a')])){throw new db[(_0x3132('0x9c'))]['ValidationError'](_0x3132('0xa0'));}if(_0x314174[_0x3132('0x69')][_0x3132('0x9a')]===_0x314174['body']['newPassword']){throw new db[(_0x3132('0x9c'))][(_0x3132('0x9d'))](_0x3132('0xa1'));}}else if(_0x314174[_0x3132('0x33')]['role']===_0x3132('0x31')){if(!_0x314174[_0x3132('0x69')][_0x3132('0x9b')]){throw new db[(_0x3132('0x9c'))][(_0x3132('0x9d'))]('Invalid\x20body\x20format.\x20Use\x20newPassword');}}else if(_0x314174[_0x3132('0x33')][_0x3132('0x3a')]===_0x3132('0x33')){if(!_0x314174[_0x3132('0x69')][_0x3132('0x9b')]){throw new db['Sequelize'][(_0x3132('0x9d'))]('Invalid\x20body\x20format.\x20Use\x20newPassword');}if(_0x4fc228['role']!==_0x3132('0x7a')){throw new db['Sequelize'][(_0x3132('0x9d'))]('Unauthorized');}}else{throw new db[(_0x3132('0x9c'))]['ValidationError'](_0x3132('0x88'));}return _0x4fc228;})[_0x3132('0x1c')](handleEntityNotFound(_0x5864d9,null))[_0x3132('0x1c')](function(_0x25a6e3){return db[_0x3132('0x6f')]['findOne']({'attributes':['id',_0x3132('0x70'),_0x3132('0xa2'),_0x3132('0xa3')]})[_0x3132('0x1c')](function(_0x554b62){if(_0x554b62['securePassword'])authService[_0x3132('0x71')](_0x314174[_0x3132('0x69')][_0x3132('0x9b')]);if(!_0x554b62[_0x3132('0xa2')]||!_0x25a6e3[_0x3132('0xa4')])return _0x25a6e3;authService['validatePasswordHistory'](_0x314174[_0x3132('0x69')][_0x3132('0x9b')],_0x25a6e3[_0x3132('0xa4')],_0x554b62[_0x3132('0xa3')]);return _0x25a6e3;})[_0x3132('0x1c')](saveUpdates({'password':_0x314174['body'][_0x3132('0x9b')],'passwordResetAt':_0x314174[_0x3132('0x33')]['id']==_0x314174[_0x3132('0x61')]['id']?moment():null,'previousPasswords':authService[_0x3132('0xa5')](_0x314174[_0x3132('0x69')]['newPassword'],_0x25a6e3['previousPasswords'])},null));})['then'](respondWithResult(_0x5864d9,null))[_0x3132('0x24')](handleError(_0x5864d9,null));};exports['addQueues']=function(_0xea455f,_0x3f47bc,_0x1c2d68){var _0x1dfa18=_0xea455f['body'][_0x3132('0xa6')];return db[_0x3132('0x40')][_0x3132('0x3b')]({'where':{'id':_0xea455f['params']['id']},'attributes':['id',_0x3132('0x3d'),_0x3132('0x3a'),_0x3132('0xa7'),_0x3132('0xa8'),'voicePause',_0x3132('0xa9')]})['then'](handleEntityNotFound(_0x3f47bc,null))[_0x3132('0x1c')](function(_0x15a82e){if(_0x15a82e){if(!utils['isValidChannel'](_0x1dfa18)){throw new db[(_0x3132('0x9c'))]['ValidationError'](_0x3132('0xaa'));}return _0x15a82e['add'+_[_0x3132('0xab')](_0x1dfa18[_0x3132('0xac')]())+_0x3132('0xad')](_0xea455f[_0x3132('0x69')]['ids'],{'penalty':_0xea455f[_0x3132('0x69')][_0x3132('0xae')]||0x0})[_0x3132('0xaf')](function(_0x16d0db){for(var _0x5bad6f=0x0;_0x5bad6f<_0xea455f['body'][_0x3132('0x6c')]['length'];_0x5bad6f+=0x1){var _0x59ab4c={'UserId':Number(_0xea455f[_0x3132('0x61')]['id'])};_0x59ab4c[_['capitalize'](_0x1dfa18[_0x3132('0xac')]())+'QueueId']=Number(_0xea455f[_0x3132('0x69')][_0x3132('0x6c')][_0x5bad6f]);socket['emit'](_0x3132('0x33')+_[_0x3132('0xab')](_0x1dfa18[_0x3132('0xac')]())+_0x3132('0xb0'),_0x59ab4c);}return _0x16d0db;})[_0x3132('0x1c')](function(){if(_0x1dfa18===_0x3132('0xb1')){return db['VoiceQueue']['findAll']({'where':{'id':_0xea455f['body']['ids']||[]},'raw':!![],'attributes':['id',_0x3132('0x3d')]});}})[_0x3132('0x1c')](function(_0x174583){var _0x2d985d=_0x15a82e[_0x3132('0x30')]({'plain':!![]});var _0x340192=[];if(_0x1dfa18==='voice'&&_0x2d985d['role']==='agent'&&_0x2d985d['online']){for(var _0x243f3f=0x0;_0x243f3f<_0x174583[_0x3132('0x4b')];_0x243f3f+=0x1){_0x340192['push']({'membername':_0x2d985d[_0x3132('0x3d')],'UserId':_0x2d985d['id'],'queue_name':_0x174583[_0x243f3f][_0x3132('0x3d')],'VoiceQueueId':_0x174583[_0x243f3f]['id'],'interface':_['isNil'](_0x2d985d[_0x3132('0xa9')])?util[_0x3132('0xb2')](_0x3132('0xb3'),_0x2d985d['name']):_0x2d985d[_0x3132('0xa9')],'paused':_0x2d985d[_0x3132('0xb4')]||![],'penalty':_0xea455f[_0x3132('0x69')][_0x3132('0xae')]||0x0});}return BPromise[_0x3132('0x93')](_0x340192,function(_0xaaf246){return db[_0x3132('0xb5')][_0x3132('0xb6')](_0xaaf246);});}return _0x15a82e;});}})[_0x3132('0x1c')](respondWithStatusCode(_0x3f47bc,null))[_0x3132('0x24')](handleError(_0x3f47bc,null));};exports[_0x3132('0xb7')]=function(_0x4d7e57,_0x530618,_0x4ab3fd){var _0x9d4d76;return db[_0x3132('0x40')][_0x3132('0x3b')]({'where':{'id':_0x4d7e57[_0x3132('0x61')]['id']},'attributes':['id',_0x3132('0x3d'),_0x3132('0x3a')]})[_0x3132('0x1c')](handleEntityNotFound(_0x530618,null))[_0x3132('0x1c')](function(_0x281dd9){if(_0x281dd9){_0x9d4d76=_0x281dd9;if(!_0x4d7e57[_0x3132('0x45')]['channel']||!utils[_0x3132('0xb8')](_0x4d7e57[_0x3132('0x45')]['channel'])){throw new db[(_0x3132('0x9c'))]['ValidationError'](_0x3132('0xaa'));}return _0x281dd9[_0x3132('0xb9')+_[_0x3132('0xab')](_0x4d7e57[_0x3132('0x45')][_0x3132('0xa6')]['toLowerCase']())+'Queues'](_0x4d7e57['query'][_0x3132('0x6c')]);}})[_0x3132('0x1c')](function(_0x1f2475){for(var _0x4b860b=0x0;_0x4b860b<_0x4d7e57[_0x3132('0x45')]['ids'][_0x3132('0x4b')];_0x4b860b+=0x1){var _0x26c67e={'UserId':Number(_0x4d7e57[_0x3132('0x61')]['id'])};_0x26c67e[_[_0x3132('0xab')](_0x4d7e57[_0x3132('0x45')][_0x3132('0xa6')][_0x3132('0xac')]())+_0x3132('0xba')]=Number(_0x4d7e57['query']['ids'][_0x4b860b]);socket['emit'](_0x3132('0x33')+_[_0x3132('0xab')](_0x4d7e57[_0x3132('0x45')]['channel']['toLowerCase']())+_0x3132('0xbb'),_0x26c67e);}return _0x1f2475;})[_0x3132('0x1c')](function(){if(_0x4d7e57[_0x3132('0x45')][_0x3132('0xa6')]===_0x3132('0xb1')){return db[_0x3132('0xb5')][_0x3132('0x2f')]({'where':{'UserId':_0x4d7e57[_0x3132('0x61')]['id'],'VoiceQueueId':_0x4d7e57[_0x3132('0x45')]['ids']},'individualHooks':!![]})['then'](function(){return _0x9d4d76;});}return _0x9d4d76;})[_0x3132('0x1c')](respondWithStatusCode(_0x530618,null))['catch'](handleError(_0x530618,null));};exports[_0x3132('0xbc')]=function(_0x12e320,_0x1b9517,_0x5e6b7e){_0x12e320[_0x3132('0x69')][_0x3132('0xbd')]=_0x12e320['file'][_0x3132('0xbe')];return db['User']['find']({'where':{'id':_0x12e320[_0x3132('0x61')]['id']}})[_0x3132('0x1c')](handleEntityNotFound(_0x1b9517,null))[_0x3132('0x1c')](saveUpdates(_0x12e320[_0x3132('0x69')],null))[_0x3132('0x1c')](respondWithResult(_0x1b9517,null))['catch'](handleError(_0x1b9517,null));};exports['getAvatar']=function(_0x403e11,_0x178f50,_0x57b068){var _0x12fe59=path[_0x3132('0xbf')](config[_0x3132('0xc0')],_0x3132('0xc1'));return db[_0x3132('0x40')][_0x3132('0x3b')]({'where':{'id':_0x403e11[_0x3132('0x61')]['id']},'attributes':['id',_0x3132('0xbd')],'raw':!![]})['then'](handleEntityNotFound(_0x178f50,null))[_0x3132('0x1c')](function(_0x2e760e){if(_0x2e760e){if(_[_0x3132('0x73')](_0x2e760e[_0x3132('0xbd')])){return _0x178f50[_0x3132('0xc2')](_0x12fe59);}else{if(!fs['existsSync'](path[_0x3132('0xbf')](config['root'],_0x3132('0xc3'),_0x2e760e['userpic']))){return _0x178f50[_0x3132('0xc2')](_0x12fe59);}return _0x178f50[_0x3132('0xc2')](path['join'](config[_0x3132('0xc0')],_0x3132('0xc3'),_0x2e760e[_0x3132('0xbd')]));}}})[_0x3132('0x24')](handleError(_0x178f50,null));};exports[_0x3132('0xc4')]=function(_0x3918e4,_0x57c3c5,_0x14715c){return db[_0x3132('0x40')]['find']({'where':{'id':_0x3918e4[_0x3132('0x61')]['id']},'attributes':['id']})['then'](handleEntityNotFound(_0x57c3c5,null))[_0x3132('0x1c')](function(_0x264c3f){var _0x2f6b4a=[];values=_0x264c3f['dataValues'];_0x2f6b4a['push'](get_open_tabs(_0x3132('0x5c'),_0x264c3f[_0x3132('0x5e')]));_0x2f6b4a[_0x3132('0x5b')](get_open_tabs('sms',_0x264c3f[_0x3132('0x5e')]));_0x2f6b4a[_0x3132('0x5b')](get_open_tabs('openchannel',_0x264c3f[_0x3132('0x5e')]));_0x2f6b4a[_0x3132('0x5b')](get_open_tabs(_0x3132('0x66'),_0x264c3f['dataValues']));_0x2f6b4a[_0x3132('0x5b')](get_open_tabs(_0x3132('0x67'),_0x264c3f['dataValues']));_0x2f6b4a[_0x3132('0x5b')](get_open_tabs(_0x3132('0xc5'),_0x264c3f[_0x3132('0x5e')]));return BPromise[_0x3132('0x60')](_0x2f6b4a);})[_0x3132('0x1c')](function(_0x11a482){var _0x588d45=[];if(_0x11a482){for(var _0x14bb1e=0x0;_0x14bb1e=_0x59c6f8){_0x34ceac=_0x59c6f8;_0x373470=0xc8;}else{_0x373470=0xce;}_0x4c47b8['status'](_0x373470);return _0x4c47b8['set']('Content-Range',_0x4d8cdc+'-'+_0x34ceac+'/'+_0x59c6f8)[_0xcadc('0x20')](_0x3e8311);}return null;};}function saveUpdates(_0x31b7fd){return function(_0x3a19d1){if(_0x3a19d1){return _0x3a19d1[_0xcadc('0x25')](_0x31b7fd)[_0xcadc('0x14')](function(_0x309e29){return _0x309e29;});}return null;};}function removeEntity(_0x3f457c){return function(_0xdf8b14){if(_0xdf8b14){return _0xdf8b14[_0xcadc('0x26')]()[_0xcadc('0x14')](function(){var _0x15bce8=_0xdf8b14['get']({'plain':!![]});if(_0x15bce8['role']===_0xcadc('0x27'))return;var _0x192dfa=[{'name':_0xcadc('0x28'),'value':_0xcadc('0x29'),'ignore':!![]},{'name':_0xcadc('0x2a'),'value':_0xcadc('0x2b'),'ignore':![]},{'name':_0xcadc('0x2c'),'value':_0xcadc('0x2d'),'ignore':![]}];var _0x67dbee=_(_0x192dfa)[_0xcadc('0x2e')](_0xcadc('0x2f'))[_0xcadc('0x30')](_0xcadc('0x31'))['value']();if(_['includes'](_0x67dbee,_0x15bce8['role'])){return;}var _0x568d3b=_[_0xcadc('0x32')](_0x192dfa,['value',_0x15bce8['role']])[_0xcadc('0x33')];return db[_0xcadc('0x34')][_0xcadc('0x26')]({'where':{'type':_0x568d3b,'resourceId':_0x15bce8['id']}})[_0xcadc('0x14')](function(){return _0xdf8b14;});})[_0xcadc('0x14')](function(){_0x3f457c['status'](0xcc)[_0xcadc('0x1e')]();});}};}function handleEntityNotFound(_0x278f61){return function(_0x533e91){if(!_0x533e91){_0x278f61[_0xcadc('0x35')](0x194);}return _0x533e91;};}function handleError(_0xdffa7,_0x45c749){_0x45c749=_0x45c749||0x1f4;return function(_0x3db100){logger['error'](_0x3db100[_0xcadc('0x36')]);if(_0x3db100[_0xcadc('0x33')]){delete _0x3db100[_0xcadc('0x33')];}_0xdffa7[_0xcadc('0x1f')](_0x45c749)[_0xcadc('0x37')](_0x3db100);};}exports[_0xcadc('0x38')]=function(_0x4d4109,_0x1cdcd2){var _0x5ce74e={},_0x1bb5bc={'count':0x0,'rows':[]};var _0x2a673a=_(db[_0xcadc('0x39')][_0xcadc('0x3a')])[_0xcadc('0x30')](function(_0xa91962){return{'name':_0xa91962[_0xcadc('0x3b')],'type':_0xa91962[_0xcadc('0x3c')][_0xcadc('0x3d')]};})[_0xcadc('0x2e')](function(_0x4c63bb){return!_[_0xcadc('0x3e')]([_0xcadc('0x3f'),'salt'],_0x4c63bb['name']);})[_0xcadc('0x31')]();_0x5ce74e=qs[_0xcadc('0x40')](_0x2a673a,_0x4d4109);var _0xc94713={'where':_0x5ce74e[_0xcadc('0x41')]};return db[_0xcadc('0x39')][_0xcadc('0x23')](_0xc94713)['then'](function(_0x4f8cd6){_0x1bb5bc[_0xcadc('0x23')]=_0x4f8cd6;if(_0x4d4109[_0xcadc('0x42')][_0xcadc('0x43')]){_0x5ce74e[_0xcadc('0x44')]=[{'all':!![]}];}if(!_['includes'](_0x5ce74e[_0xcadc('0x45')],'id')){_0x5ce74e[_0xcadc('0x45')][_0xcadc('0x46')]('id');}return db[_0xcadc('0x39')][_0xcadc('0x47')](_0x5ce74e);})[_0xcadc('0x14')](function(_0x1d70dd){_0x1bb5bc[_0xcadc('0x48')]=_0x1d70dd;if(_0x4d4109['query']['openTabs']===_0xcadc('0x49')){var _0x3f324a=[];for(var _0x4b64c5=0x0;_0x4b64c5<_0x1bb5bc[_0xcadc('0x48')][_0xcadc('0x4a')];_0x4b64c5++){_0x3f324a[_0xcadc('0x46')](get_open_tabs('chat',_0x1bb5bc[_0xcadc('0x48')][_0x4b64c5][_0xcadc('0x4b')]));_0x3f324a[_0xcadc('0x46')](get_open_tabs(_0xcadc('0x4c'),_0x1bb5bc[_0xcadc('0x48')][_0x4b64c5]['dataValues']));_0x3f324a[_0xcadc('0x46')](get_open_tabs(_0xcadc('0x4d'),_0x1bb5bc[_0xcadc('0x48')][_0x4b64c5][_0xcadc('0x4b')]));_0x3f324a[_0xcadc('0x46')](get_open_tabs(_0xcadc('0x4e'),_0x1bb5bc[_0xcadc('0x48')][_0x4b64c5][_0xcadc('0x4b')]));_0x3f324a[_0xcadc('0x46')](get_open_tabs('openchannel',_0x1bb5bc[_0xcadc('0x48')][_0x4b64c5][_0xcadc('0x4b')]));_0x3f324a['push'](get_open_tabs(_0xcadc('0x4f'),_0x1bb5bc[_0xcadc('0x48')][_0x4b64c5]['dataValues']));}return BPromise[_0xcadc('0x50')](_0x3f324a)[_0xcadc('0x14')](function(_0x10c2d1){return _0x1bb5bc;});}else{return _0x1bb5bc;}})[_0xcadc('0x14')](respondWithFilteredResult(_0x1cdcd2,_0x5ce74e))['catch'](handleError(_0x1cdcd2,null));};exports[_0xcadc('0x51')]=function(_0x4663d6,_0xb5de8b){var _0x3bd06d={'raw':![],'where':{'id':_0x4663d6[_0xcadc('0x52')]['id']}},_0xa04d9c={};_0xa04d9c[_0xcadc('0x53')]=_[_0xcadc('0x54')](_[_0xcadc('0x55')](db[_0xcadc('0x39')][_0xcadc('0x3a')]),[_0xcadc('0x3f'),'salt']);_0xa04d9c[_0xcadc('0x42')]=_[_0xcadc('0x55')](_0x4663d6['query']);_0xa04d9c[_0xcadc('0x56')]=_[_0xcadc('0x57')](_0xa04d9c[_0xcadc('0x53')],_0xa04d9c[_0xcadc('0x42')]);_0x3bd06d['attributes']=_[_0xcadc('0x57')](_0xa04d9c[_0xcadc('0x53')],qs['fields'](_0x4663d6[_0xcadc('0x42')]['fields']));_0x3bd06d['attributes']=_0x3bd06d['attributes'][_0xcadc('0x4a')]?_0x3bd06d['attributes']:_0xa04d9c[_0xcadc('0x53')];if(_0x4663d6['query'][_0xcadc('0x43')]){_0x3bd06d[_0xcadc('0x44')]=[{'all':!![]}];}_0x3bd06d=_[_0xcadc('0x58')]({},_0x3bd06d,_0x4663d6['options']);if(!_[_0xcadc('0x3e')](_0x3bd06d[_0xcadc('0x45')],'id')){_0x3bd06d[_0xcadc('0x45')][_0xcadc('0x46')]('id');}return db['User'][_0xcadc('0x32')](_0x3bd06d)['then'](handleEntityNotFound(_0xb5de8b,null))[_0xcadc('0x14')](function(_0x2b2b9f){var _0x5b6af8=[];values=_0x2b2b9f;if(_0x4663d6[_0xcadc('0x42')][_0xcadc('0x59')]===_0xcadc('0x49')){_0x5b6af8['push'](get_open_tabs('chat',_0x2b2b9f[_0xcadc('0x4b')]));_0x5b6af8['push'](get_open_tabs(_0xcadc('0x4c'),_0x2b2b9f[_0xcadc('0x4b')]));_0x5b6af8[_0xcadc('0x46')](get_open_tabs(_0xcadc('0x5a'),_0x2b2b9f[_0xcadc('0x4b')]));_0x5b6af8[_0xcadc('0x46')](get_open_tabs(_0xcadc('0x4f'),_0x2b2b9f[_0xcadc('0x4b')]));_0x5b6af8['push'](get_open_tabs(_0xcadc('0x4d'),_0x2b2b9f[_0xcadc('0x4b')]));_0x5b6af8[_0xcadc('0x46')](get_open_tabs(_0xcadc('0x4e'),_0x2b2b9f[_0xcadc('0x4b')]));return BPromise[_0xcadc('0x50')](_0x5b6af8);}else{return values;}})[_0xcadc('0x14')](function(_0x569f3e){return values;})[_0xcadc('0x14')](respondWithResult(_0xb5de8b,null))[_0xcadc('0x5b')](handleError(_0xb5de8b,null));};exports[_0xcadc('0x25')]=function(_0x2f1805,_0x1c34be){if(_0x2f1805['body']['id']){delete _0x2f1805['body']['id'];}delete _0x2f1805[_0xcadc('0x5c')][_0xcadc('0x5d')];return db[_0xcadc('0x39')][_0xcadc('0x32')]({'where':{'id':_0x2f1805[_0xcadc('0x52')]['id']}})[_0xcadc('0x14')](handleEntityNotFound(_0x1c34be,null))[_0xcadc('0x14')](saveUpdates(_0x2f1805[_0xcadc('0x5c')],null))[_0xcadc('0x14')](respondWithResult(_0x1c34be,null))['catch'](handleError(_0x1c34be,null));};exports[_0xcadc('0x5e')]=function(_0x4fd4ad,_0x4d527f){return db[_0xcadc('0x39')][_0xcadc('0x5e')]()['then'](respondWithResult(_0x4d527f,null))[_0xcadc('0x5b')](handleError(_0x4d527f,null));};exports[_0xcadc('0x5f')]=function(_0x1c9960,_0x12391d){return db[_0xcadc('0x39')][_0xcadc('0x32')]({'where':{'id':_0x1c9960[_0xcadc('0x52')]['id']}})[_0xcadc('0x14')](handleEntityNotFound(_0x12391d,null))[_0xcadc('0x14')](function(_0x504b05){if(_0x504b05){return _0x504b05[_0xcadc('0x5f')](_0x1c9960['body']['ids'],_[_0xcadc('0x60')](_0x1c9960[_0xcadc('0x5c')],[_0xcadc('0x61'),'id'])||{});}})[_0xcadc('0x14')](respondWithResult(_0x12391d,null))[_0xcadc('0x5b')](handleError(_0x12391d,null));};function validateUser(_0x16d9ac){return new BPromise(function(_0x2776e6,_0x4d4074){if(_0x16d9ac[_0xcadc('0x62')])return _0x2776e6(_0x16d9ac);return db[_0xcadc('0x63')][_0xcadc('0x64')](0x1)[_0xcadc('0x14')](function(_0x1c6090){if(_0x1c6090['securePassword'])authService[_0xcadc('0x65')](_0x16d9ac[_0xcadc('0x3f')]);db[_0xcadc('0x39')][_0xcadc('0x66')](_0xcadc('0x62'))[_0xcadc('0x14')](function(_0x181906){if(_[_0xcadc('0x67')](_0x181906)){_0x16d9ac[_0xcadc('0x62')]=_0x1c6090[_0xcadc('0x68')]||0x1;return;}if(_[_0xcadc('0x67')](_0x1c6090[_0xcadc('0x68')])||_0x1c6090[_0xcadc('0x68')]===_0x181906){_0x16d9ac[_0xcadc('0x62')]=_0x181906+0x1;return;}if(_0x1c6090['min_internal']>_0x181906){_0x16d9ac[_0xcadc('0x62')]=_0x1c6090[_0xcadc('0x68')];return;}return db[_0xcadc('0x69')][_0xcadc('0x42')](_0xcadc('0x6a'),{'type':db['sequelize'][_0xcadc('0x6b')][_0xcadc('0x6c')]})[_0xcadc('0x14')](function(_0x4010e4){if(_0x4010e4&&_0x4010e4[_0xcadc('0x4a')]){for(var _0x1f9780=0x0,_0x3ab5f2=_0x4010e4[_0xcadc('0x4a')];_0x1f9780<_0x3ab5f2&&_[_0xcadc('0x67')](_0x16d9ac['internal']);_0x1f9780++){if(_0x1c6090[_0xcadc('0x68')]<=_0x4010e4[_0x1f9780][_0xcadc('0x6d')]){_0x16d9ac[_0xcadc('0x62')]=_0x4010e4[_0x1f9780][_0xcadc('0x6d')];}else if(_0x1c6090[_0xcadc('0x68')]>_0x4010e4[_0x1f9780][_0xcadc('0x6d')]&&_0x1c6090[_0xcadc('0x68')]<=_0x4010e4[_0x1f9780]['to']){_0x16d9ac['internal']=_0x1c6090[_0xcadc('0x68')];}}}if(_[_0xcadc('0x67')](_0x16d9ac[_0xcadc('0x62')])){_0x16d9ac[_0xcadc('0x62')]=_0x181906+0x1;}return _0x2776e6(_0x16d9ac);});});})[_0xcadc('0x5b')](function(_0x473fe9){_0x4d4074(_0x473fe9);});});}function updateUser(_0x20c744){return new BPromise(function(_0x3fd1fb,_0x261eca){try{if(_0x20c744['voicemail']){_0x20c744[_0xcadc('0x6e')]=_0x20c744[_0xcadc('0x62')];_0x20c744[_0xcadc('0x6f')]={'mailbox':_0x20c744['internal'],'password':_0x20c744[_0xcadc('0x3f')],'fullname':_0x20c744[_0xcadc('0x70')],'email':_0x20c744['email']};}if(_0x20c744[_0xcadc('0x5d')]===_0xcadc('0x2b')){if(!_0x20c744[_0xcadc('0x71')])_0x20c744[_0xcadc('0x71')]=[_0xcadc('0x72'),_0xcadc('0x73'),_0xcadc('0x74'),_0xcadc('0x75'),_0xcadc('0x76'),_0xcadc('0x77'),_0xcadc('0x78'),'106',_0xcadc('0x79'),'108',_0xcadc('0x7a'),_0xcadc('0x7b'),_0xcadc('0x7c'),_0xcadc('0x7d'),_0xcadc('0x7e')];}_0x3fd1fb(_0x20c744);}catch(_0x4dcf0e){_0x261eca(_0x4dcf0e);}});}exports[_0xcadc('0x7f')]=function(_0x2189b1,_0x2908c9){if(_0x2189b1[_0xcadc('0x29')][_0xcadc('0x5d')]===_0xcadc('0x2b'))throw new Error(_0xcadc('0x80'));if(_0x2189b1['body'][_0xcadc('0x5d')]===_0xcadc('0x29')&&_0x2189b1[_0xcadc('0x29')][_0xcadc('0x5d')]!==_0xcadc('0x27')){throw new Error(_0xcadc('0x81'));}if(_0x2189b1[_0xcadc('0x5c')][_0xcadc('0x5d')]===_0xcadc('0x27')&&_0x2189b1[_0xcadc('0x29')][_0xcadc('0x5d')]!==_0xcadc('0x27')){throw new Error('Unauthorized.\x20You\x20must\x20be\x20an\x20administrator\x20in\x20order\x20to\x20create\x20another\x20administrator');}return licenseUtil[_0xcadc('0x82')]([_0x2189b1[_0xcadc('0x5c')]])[_0xcadc('0x14')](function(){return validateUser(_0x2189b1['body']);})[_0xcadc('0x14')](function(_0x5e95c5){return updateUser(_0x5e95c5)[_0xcadc('0x14')](function(_0xd7111b){if(_0xd7111b[_0xcadc('0x5d')]===_0xcadc('0x27')){_0xd7111b[_0xcadc('0x83')]=_0x2189b1[_0xcadc('0x29')][_0xcadc('0x83')];delete _0xd7111b[_0xcadc('0x84')];}return _0xd7111b;});})[_0xcadc('0x14')](function(_0x2fd110){return db[_0xcadc('0x39')][_0xcadc('0x7f')](_0x2fd110,{'include':[{'model':db[_0xcadc('0x6f')],'as':_0xcadc('0x6f')}]});})[_0xcadc('0x14')](function(_0x199795){if(_0x2189b1['body'][_0xcadc('0x5d')]==='user')return _0x199795;if(_0x2189b1[_0xcadc('0x29')][_0xcadc('0x5d')]!=='user')return _0x199795;return db['UserProfileSection']['find']({'where':{'name':_0x199795[_0xcadc('0x5d')]==='agent'?'Agents':'Telephones','userProfileId':_0x2189b1[_0xcadc('0x29')]['userProfileId']},'raw':!![]})[_0xcadc('0x14')](function(_0xf8de7d){if(!_0xf8de7d||_0xf8de7d[_0xcadc('0x85')]!=0x0)return _0x199795;return db[_0xcadc('0x34')][_0xcadc('0x7f')]({'name':_0x199795[_0xcadc('0x33')],'resourceId':_0x199795['id'],'type':_0xf8de7d[_0xcadc('0x33')],'sectionId':_0xf8de7d['id']},{})[_0xcadc('0x14')](function(){return _0x199795;});})[_0xcadc('0x5b')](function(_0x39aa15){logger[_0xcadc('0x19')](_0xcadc('0x86'),_0x39aa15);throw _0x39aa15;});})[_0xcadc('0x14')](respondWithResult(_0x2908c9,0xc9))[_0xcadc('0x5b')](handleError(_0x2908c9,null));};exports[_0xcadc('0x87')]=function(_0x4eefcc,_0x58c317){var _0x5648ea=_0x4eefcc[_0xcadc('0x5c')];var _0x2c2f2c=[];if(_0x4eefcc[_0xcadc('0x29')]['role']===_0xcadc('0x2b'))throw new Error(_0xcadc('0x80'));if(_[_0xcadc('0x88')](_0x5648ea,[_0xcadc('0x5d'),_0xcadc('0x29')])&&_0x4eefcc[_0xcadc('0x29')][_0xcadc('0x5d')]!==_0xcadc('0x27')){throw new Error('Unauthorized.\x20You\x20must\x20be\x20an\x20administrator\x20in\x20order\x20to\x20create\x20an\x20user');}if(_[_0xcadc('0x88')](_0x5648ea,[_0xcadc('0x5d'),_0xcadc('0x27')])&&_0x4eefcc[_0xcadc('0x29')][_0xcadc('0x5d')]!==_0xcadc('0x27')){throw new Error(_0xcadc('0x89'));}return licenseUtil[_0xcadc('0x82')](_0x5648ea)[_0xcadc('0x14')](function(){return validateUser(_0x5648ea[0x0]);})[_0xcadc('0x14')](function(){for(var _0x4efe3c=0x1;_0x4efe3c<_0x5648ea[_0xcadc('0x4a')];_0x4efe3c++){var _0x498d77=_0x5648ea[_0x4efe3c-0x1][_0xcadc('0x62')];if(!_0x5648ea[_0x4efe3c]['internal'])_0x5648ea[_0x4efe3c][_0xcadc('0x62')]=_0x498d77+0x1;_0x2c2f2c[_0xcadc('0x46')](validateUser(_0x5648ea[_0x4efe3c]));}return BPromise[_0xcadc('0x50')](_0x2c2f2c);})[_0xcadc('0x14')](function(){_0x2c2f2c=[];for(var _0x536214=0x0;_0x536214<_0x5648ea[_0xcadc('0x4a')];_0x536214++){_0x2c2f2c[_0xcadc('0x46')](updateUser(_0x5648ea[_0x536214]));}return BPromise['all'](_0x2c2f2c);})['then'](function(){return BPromise[_0xcadc('0x8a')](_0x5648ea,function(_0x2bd43d){return db[_0xcadc('0x39')][_0xcadc('0x7f')](_0x2bd43d,{'include':[{'model':db[_0xcadc('0x6f')],'as':'VoiceMail'}]})[_0xcadc('0x14')](function(_0x1e03e7){_0x2bd43d['id']=_0x1e03e7['id'];return _0x2bd43d;});});})[_0xcadc('0x14')](function(_0x1fc88b){if(_0x4eefcc[_0xcadc('0x5c')][_0xcadc('0x5d')]===_0xcadc('0x29'))return _0x1fc88b;if(_0x4eefcc[_0xcadc('0x29')][_0xcadc('0x5d')]!==_0xcadc('0x29'))return _0x1fc88b;var _0x465b84=_['some'](_0x1fc88b,function(_0x10b09e){return _0x10b09e[_0xcadc('0x5d')]==='agent'||_0x10b09e[_0xcadc('0x5d')]==='telephone';});if(!_0x465b84)return _0x1fc88b;return db[_0xcadc('0x8b')][_0xcadc('0x47')]({'where':{'name':{'$or':['Agents','Telephones']},'userProfileId':_0x4eefcc[_0xcadc('0x29')][_0xcadc('0x84')]},'raw':!![]})[_0xcadc('0x14')](function(_0x1de541){if(_['isEmpty'](_0x1de541)||!_[_0xcadc('0x88')](_0x1de541,[_0xcadc('0x85'),0x0]))return _0x1fc88b;_0x2c2f2c=[];var _0x5a7d35=_(_0x1de541)[_0xcadc('0x30')](function(_0xc7dce4){if(_0xc7dce4['autoAssociation']===0x1)return;return _0xc7dce4['name']===_0xcadc('0x2a')?_0xcadc('0x2b'):_0xcadc('0x2d');})[_0xcadc('0x8c')]()[_0xcadc('0x31')]();for(var _0x2780f0=0x0;_0x2780f0<_0x1fc88b[_0xcadc('0x4a')];_0x2780f0++){if(!_[_0xcadc('0x3e')](_0x5a7d35,_0x1fc88b[_0x2780f0][_0xcadc('0x5d')]))return;var _0x5d964b=_0x1fc88b[_0x2780f0]['role']===_0xcadc('0x2b')?'Agents':'Telephones';_0x2c2f2c[_0xcadc('0x46')](db[_0xcadc('0x34')][_0xcadc('0x7f')]({'name':_0x1fc88b[_0x2780f0]['name'],'resourceId':_0x1fc88b[_0x2780f0]['id'],'type':_0x5d964b,'sectionId':_[_0xcadc('0x32')](_0x1de541,[_0xcadc('0x33'),_0x5d964b])['id']},{}));}return BPromise[_0xcadc('0x50')](_0x2c2f2c);});})[_0xcadc('0x14')](respondWithResult(_0x58c317,0xc9))[_0xcadc('0x5b')](handleError(_0x58c317,null));};exports[_0xcadc('0x8d')]=function(_0x999dd9,_0x511526){if(_0x999dd9[_0xcadc('0x5c')]['id']){delete _0x999dd9[_0xcadc('0x5c')]['id'];}return db[_0xcadc('0x39')][_0xcadc('0x32')]({'where':{'id':_0x999dd9[_0xcadc('0x52')]['id']}})['then'](function(_0x44a388){if(!_0x44a388)return null;if(_0x44a388['id']===_0x999dd9[_0xcadc('0x29')]['id']){if(!_0x999dd9['body']['oldPassword']||!_0x999dd9[_0xcadc('0x5c')]['newPassword']){throw new db[(_0xcadc('0x8e'))][(_0xcadc('0x8f'))](_0xcadc('0x90'));}if(!_0x44a388[_0xcadc('0x91')](_0x999dd9['body']['oldPassword'])){throw new db[(_0xcadc('0x8e'))][(_0xcadc('0x8f'))](_0xcadc('0x92'));}if(_0x999dd9['body']['oldPassword']===_0x999dd9[_0xcadc('0x5c')][_0xcadc('0x93')]){throw new db['Sequelize'][(_0xcadc('0x8f'))](_0xcadc('0x94'));}}else if(_0x999dd9[_0xcadc('0x29')]['role']==='admin'){if(!_0x999dd9[_0xcadc('0x5c')][_0xcadc('0x93')]){throw new db['Sequelize'][(_0xcadc('0x8f'))]('Invalid\x20body\x20format.\x20Use\x20newPassword');}}else if(_0x999dd9[_0xcadc('0x29')][_0xcadc('0x5d')]===_0xcadc('0x29')){if(!_0x999dd9[_0xcadc('0x5c')]['newPassword']){throw new db[(_0xcadc('0x8e'))][(_0xcadc('0x8f'))](_0xcadc('0x95'));}if(_0x44a388['role']!==_0xcadc('0x2b')){throw new db['Sequelize'][(_0xcadc('0x8f'))](_0xcadc('0x80'));}}else{throw new db[(_0xcadc('0x8e'))][(_0xcadc('0x8f'))](_0xcadc('0x80'));}return _0x44a388;})[_0xcadc('0x14')](handleEntityNotFound(_0x511526,null))[_0xcadc('0x14')](function(_0x1deaac){return db['Setting'][_0xcadc('0x96')]({'attributes':['id',_0xcadc('0x97'),_0xcadc('0x98'),_0xcadc('0x99')]})['then'](function(_0x5b84da){if(_0x5b84da[_0xcadc('0x97')])authService['validatePasswordPattern'](_0x999dd9['body'][_0xcadc('0x93')]);if(!_0x5b84da[_0xcadc('0x98')]||!_0x1deaac[_0xcadc('0x9a')])return _0x1deaac;authService[_0xcadc('0x9b')](_0x999dd9[_0xcadc('0x5c')][_0xcadc('0x93')],_0x1deaac['previousPasswords'],_0x5b84da[_0xcadc('0x99')]);return _0x1deaac;})[_0xcadc('0x14')](saveUpdates({'password':_0x999dd9[_0xcadc('0x5c')][_0xcadc('0x93')],'passwordResetAt':_0x999dd9[_0xcadc('0x29')]['id']==_0x999dd9[_0xcadc('0x52')]['id']?moment():null,'previousPasswords':authService[_0xcadc('0x9c')](_0x999dd9['body'][_0xcadc('0x93')],_0x1deaac[_0xcadc('0x9a')])},null));})[_0xcadc('0x14')](respondWithResult(_0x511526,null))['catch'](handleError(_0x511526,null));};exports[_0xcadc('0x9d')]=function(_0x2e3c63,_0x1c73d7){var _0x5513b3=_0x2e3c63[_0xcadc('0x5c')]['channel'];return db[_0xcadc('0x39')][_0xcadc('0x32')]({'where':{'id':_0x2e3c63['params']['id']},'attributes':['id',_0xcadc('0x33'),_0xcadc('0x5d'),_0xcadc('0x9e'),_0xcadc('0x9f'),_0xcadc('0xa0'),_0xcadc('0xa1')]})['then'](handleEntityNotFound(_0x1c73d7,null))[_0xcadc('0x14')](function(_0x4ddde4){if(_0x4ddde4){if(!utils[_0xcadc('0xa2')](_0x5513b3)){throw new db[(_0xcadc('0x8e'))][(_0xcadc('0x8f'))](_0xcadc('0xa3'));}return _0x4ddde4[_0xcadc('0xa4')+_['capitalize'](_0x5513b3['toLowerCase']())+'Queues'](_0x2e3c63[_0xcadc('0x5c')][_0xcadc('0x61')],{'penalty':_0x2e3c63[_0xcadc('0x5c')][_0xcadc('0xa5')]||0x0})[_0xcadc('0xa6')](function(_0x25f370){for(var _0x366204=0x0;_0x366204<_0x2e3c63[_0xcadc('0x5c')][_0xcadc('0x61')][_0xcadc('0x4a')];_0x366204+=0x1){var _0x16499d={'UserId':Number(_0x2e3c63[_0xcadc('0x52')]['id'])};_0x16499d[_[_0xcadc('0xa7')](_0x5513b3[_0xcadc('0xa8')]())+_0xcadc('0xa9')]=Number(_0x2e3c63['body'][_0xcadc('0x61')][_0x366204]);socket[_0xcadc('0xaa')]('user'+_[_0xcadc('0xa7')](_0x5513b3['toLowerCase']())+_0xcadc('0xab'),_0x16499d);}return _0x25f370;})[_0xcadc('0x14')](function(){if(_0x5513b3===_0xcadc('0xac')){return db['VoiceQueue'][_0xcadc('0x47')]({'where':{'id':_0x2e3c63[_0xcadc('0x5c')]['ids']||[]},'raw':!![],'attributes':['id',_0xcadc('0x33')]});}})[_0xcadc('0x14')](function(_0x44473a){var _0x46a7c7=_0x4ddde4[_0xcadc('0xad')]({'plain':!![]});var _0x381fac=[];if(_0x5513b3===_0xcadc('0xac')&&_0x46a7c7[_0xcadc('0x5d')]===_0xcadc('0x2b')&&_0x46a7c7[_0xcadc('0x9e')]){for(var _0x17d87e=0x0;_0x17d87e<_0x44473a[_0xcadc('0x4a')];_0x17d87e+=0x1){_0x381fac['push']({'membername':_0x46a7c7[_0xcadc('0x33')],'UserId':_0x46a7c7['id'],'queue_name':_0x44473a[_0x17d87e][_0xcadc('0x33')],'VoiceQueueId':_0x44473a[_0x17d87e]['id'],'interface':_[_0xcadc('0x67')](_0x46a7c7['interface'])?util['format'](_0xcadc('0xae'),_0x46a7c7['name']):_0x46a7c7['interface'],'paused':_0x46a7c7[_0xcadc('0xa0')]||![],'penalty':_0x2e3c63[_0xcadc('0x5c')][_0xcadc('0xa5')]||0x0});}return BPromise[_0xcadc('0x8a')](_0x381fac,function(_0x5f3bf1){return db[_0xcadc('0xaf')][_0xcadc('0xb0')](_0x5f3bf1);});}return _0x4ddde4;});}})[_0xcadc('0x14')](respondWithStatusCode(_0x1c73d7,null))['catch'](handleError(_0x1c73d7,null));};exports[_0xcadc('0xb1')]=function(_0x411469,_0x3a79a8){var _0x508bfb;return db[_0xcadc('0x39')]['find']({'where':{'id':_0x411469['params']['id']},'attributes':['id',_0xcadc('0x33'),_0xcadc('0x5d')]})[_0xcadc('0x14')](handleEntityNotFound(_0x3a79a8,null))[_0xcadc('0x14')](function(_0x32f492){if(_0x32f492){_0x508bfb=_0x32f492;if(!_0x411469[_0xcadc('0x42')]['channel']||!utils[_0xcadc('0xa2')](_0x411469[_0xcadc('0x42')]['channel'])){throw new db[(_0xcadc('0x8e'))][(_0xcadc('0x8f'))]('Unknown\x20channel');}return _0x32f492[_0xcadc('0xb2')+_[_0xcadc('0xa7')](_0x411469[_0xcadc('0x42')]['channel'][_0xcadc('0xa8')]())+_0xcadc('0xb3')](_0x411469[_0xcadc('0x42')][_0xcadc('0x61')]);}})[_0xcadc('0x14')](function(_0x35ce50){if(_[_0xcadc('0xb4')](_0x411469['query']['ids'])){for(var _0x40b92f=0x0;_0x40b92f<_0x411469[_0xcadc('0x42')][_0xcadc('0x61')][_0xcadc('0x4a')];_0x40b92f+=0x1){var _0x59f471={'UserId':Number(_0x411469['params']['id'])};_0x59f471[_[_0xcadc('0xa7')](_0x411469[_0xcadc('0x42')][_0xcadc('0xb5')]['toLowerCase']())+_0xcadc('0xa9')]=Number(_0x411469['query']['ids'][_0x40b92f]);socket[_0xcadc('0xaa')](_0xcadc('0x29')+_[_0xcadc('0xa7')](_0x411469[_0xcadc('0x42')]['channel'][_0xcadc('0xa8')]())+_0xcadc('0xb6'),_0x59f471);}}else{var _0x59f471={'UserId':Number(_0x411469[_0xcadc('0x52')]['id'])};_0x59f471[_[_0xcadc('0xa7')](_0x411469[_0xcadc('0x42')][_0xcadc('0xb5')][_0xcadc('0xa8')]())+_0xcadc('0xa9')]=Number(_0x411469[_0xcadc('0x42')][_0xcadc('0x61')]);socket[_0xcadc('0xaa')](_0xcadc('0x29')+_[_0xcadc('0xa7')](_0x411469[_0xcadc('0x42')][_0xcadc('0xb5')][_0xcadc('0xa8')]())+_0xcadc('0xb6'),_0x59f471);}return _0x35ce50;})[_0xcadc('0x14')](function(){if(_0x411469[_0xcadc('0x42')]['channel']===_0xcadc('0xac')){return db[_0xcadc('0xaf')][_0xcadc('0x26')]({'where':{'UserId':_0x411469['params']['id'],'VoiceQueueId':_0x411469[_0xcadc('0x42')][_0xcadc('0x61')]},'individualHooks':!![]})['then'](function(){return _0x508bfb;});}return _0x508bfb;})[_0xcadc('0x14')](respondWithStatusCode(_0x3a79a8,null))[_0xcadc('0x5b')](handleError(_0x3a79a8,null));};exports[_0xcadc('0xb7')]=function(_0x32464c,_0x1cbf7c){_0x32464c[_0xcadc('0x5c')]['userpic']=_0x32464c[_0xcadc('0xb8')][_0xcadc('0xb9')];return db['User'][_0xcadc('0x32')]({'where':{'id':_0x32464c['params']['id']}})[_0xcadc('0x14')](handleEntityNotFound(_0x1cbf7c,null))[_0xcadc('0x14')](saveUpdates(_0x32464c[_0xcadc('0x5c')],null))['then'](respondWithResult(_0x1cbf7c,null))[_0xcadc('0x5b')](handleError(_0x1cbf7c,null));};exports['getAvatar']=function(_0x1735f8,_0x17f91f){var _0x2e489b=path[_0xcadc('0xba')](config[_0xcadc('0xbb')],_0xcadc('0xbc'));return db['User'][_0xcadc('0x32')]({'where':{'id':_0x1735f8[_0xcadc('0x52')]['id']},'attributes':['id','userpic'],'raw':!![]})[_0xcadc('0x14')](handleEntityNotFound(_0x17f91f,null))['then'](function(_0x232ac4){if(_0x232ac4){if(_[_0xcadc('0x67')](_0x232ac4[_0xcadc('0xbd')])){return _0x17f91f[_0xcadc('0xbe')](_0x2e489b);}else{if(!fs[_0xcadc('0xbf')](path[_0xcadc('0xba')](config[_0xcadc('0xbb')],_0xcadc('0xc0'),_0x232ac4[_0xcadc('0xbd')]))){return _0x17f91f['download'](_0x2e489b);}return _0x17f91f[_0xcadc('0xbe')](path[_0xcadc('0xba')](config[_0xcadc('0xbb')],_0xcadc('0xc0'),_0x232ac4[_0xcadc('0xbd')]));}}})[_0xcadc('0x5b')](handleError(_0x17f91f,null));};exports[_0xcadc('0xc1')]=function(_0x539a1f,_0x229841){return db[_0xcadc('0x39')][_0xcadc('0x32')]({'where':{'id':_0x539a1f[_0xcadc('0x52')]['id']},'attributes':['id']})[_0xcadc('0x14')](handleEntityNotFound(_0x229841,null))['then'](function(_0x11c6b3){var _0x4a49a0=[];values=_0x11c6b3['dataValues'];_0x4a49a0[_0xcadc('0x46')](get_open_tabs('chat',_0x11c6b3['dataValues']));_0x4a49a0[_0xcadc('0x46')](get_open_tabs(_0xcadc('0x4c'),_0x11c6b3[_0xcadc('0x4b')]));_0x4a49a0[_0xcadc('0x46')](get_open_tabs('openchannel',_0x11c6b3[_0xcadc('0x4b')]));_0x4a49a0[_0xcadc('0x46')](get_open_tabs(_0xcadc('0x4f'),_0x11c6b3[_0xcadc('0x4b')]));_0x4a49a0[_0xcadc('0x46')](get_open_tabs('fax',_0x11c6b3[_0xcadc('0x4b')]));_0x4a49a0[_0xcadc('0x46')](get_open_tabs(_0xcadc('0x4e'),_0x11c6b3[_0xcadc('0x4b')]));return BPromise['all'](_0x4a49a0);})[_0xcadc('0x14')](function(_0x2d825){var _0x32d6f0=[];if(_0x2d825){for(var _0x47c1e6=0x0;_0x47c1e6