X-Git-Url: http://repos.xcallymotion.com/?a=blobdiff_plain;f=server%2Fapi%2Fuser%2Fuser.controller.js;h=472d9654f1e11dd56416036a1ef696fb32962fd5;hb=b9d8fb89c04e2712a06e4d6666f975c8e677d46a;hp=3f0ede7310dd95cde8819132d45e366a6061a8db;hpb=d5b3d400e91cc98c429bfb9d7741cfdb9b495f82;p=motion2.git diff --git a/server/api/user/user.controller.js b/server/api/user/user.controller.js index 3f0ede7..472d965 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 _0x2ef3=['ChatInteraction','OpenchannelInteraction','getOpenchannelInteractions','MailInteraction','getSmsInteractions','getFaxInteractions','getWhatsappInteractions','login','phone','mobile','loginInPause','LOCAL/%s@from-sip/n','intrf','user:forcelogout','headers','x-forwarded-for','connection','remoteAddress','socket','User\x20not\x20found\x20or\x20not\x20allowed\x20to\x20perform\x20login\x20method','getVoiceQueues','UserVoiceQueue.penalty','upsert','MemberReport','getChannels','YYYY-MM-DD\x20HH:mm:ss','forEach','device','PAUSE','LOGININPAUSE','resolve','logout','pause','QueuePause','DEFAULT\x20PAUSE','unpause','mailPause','openchannelPause','smsPause','whatsapppause','lastPauseAt','manual','%s%s','Pause','Team','getTeams','addTeams','omit','setDataValue','Voice','getChatQueues','Chat','Mail','getSmsQueues','Sms','getWhatsappQueues','Whatsapp','Openchannel','flatten','transaction','addAgent','getDataValue','removeTeams','getFaxQueues','Fax','getOpenchannelQueues','getLists','CmList','getAgents','values','You\x20can\x27t\x20delete\x20yourself','addChatInteractions','user_has_chat_interactions:save','removeChatInteractions','user_has_chat_interactions:remove','addMailInteractions','user_has_mail_interactions:save','removeMailInteractions','isArray','user_has_mail_interactions:remove','addFaxInteractions','user_has_fax_interactions:save','removeFaxInteractions','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','user_has_whatsapp_interactions:save','removeWhatsappInteractions','getVoicePrefixes','VoicePrefix','FaxAccount','getFaxAccounts','addFaxAccounts','removeFaxAccounts','getMailAccounts','MailAccount','addMailAccounts','removeMailAccounts','OpenchannelAccount','getOpenchannelAccounts','addOpenchannelAccounts','getSmsAccounts','SmsAccount','addSmsAccounts','removeSmsAccounts','ChatWebsite','getChatWebsites','addChatWebsites','removeChatWebsites','WhatsappAccount','getWhatsappAccounts','addWhatsappAccounts','removeWhatsappAccounts','getSquareProjects','addSquareProjects','removeSquareProjects','concat','$gt','$gte','$lt','$lte','$ne','$eq','$between','$notBetween','$in','$notIn','$notLike','$iLike','$notILike','$like','$overlap','$contains','$contained','$any','CmHopper','firstName','getApiKey','retrieveApiKey','token','No\x20API\x20access\x20key\x20found!','createApiKey','generateApiKey','iat','nonce','You\x20don\x27t\x20have\x20sufficient\x20privileges\x20to\x20access\x20this\x20resource.','removeApiKey','apiKeyIat','API\x20key\x20not\x20available','whoami','Unable\x20to\x20retrieve\x20the\x20current\x20user','getPresence','teams','queues','inbound','asc','desc','uniqBy','request','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(AMI)','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(Routing)','offline','unknown','ringing','voiceStatus','busy','slice','charAt','toUpperCase','select','field','ui.','InteractionId','ui.createdAt','user_has_','_interactions','ui.UserId\x20=\x20?','toString','OpenTabs','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','redis','localhost','./user.socket','jayson/promise','client','http','info','User,\x20%s,\x20%s','debug','User,\x20%s,\x20%s,\x20%s','stringify','error','code','message','request\x20sent','result','sendStatus','status','end','json','undefined','limit','offset','count','set','apply','reject','save','update','destroy','then','admin','Users','agent','Telephones','telephone','ignore','map','value','includes','role','find','name','UserProfileResource','stack','send','index','User','rawAttributes','fieldName','type','model','password','salt','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filter','merge','VIRTUAL','sequelize','lower','col','options','includeAll','include','push','findAll','true','rows','chat','dataValues','sms','fax','mail','openchannel','whatsapp','all','catch','show','differenceBy','body','params','describe','addContacts','ids','internal','Setting','validatePasswordPattern','max','isNil','min_internal','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)','SELECT','from','mailbox','VoiceMail','fullname','email','101','102','103','113','110','105','107','108','109','111','114','115','create','user','Unauthorized.\x20You\x20must\x20be\x20an\x20administrator\x20in\x20order\x20to\x20create\x20an\x20user','Unauthorized.\x20You\x20must\x20be\x20an\x20administrator\x20in\x20order\x20to\x20create\x20another\x20administrator','settingsEnabled','userProfileId','UserProfileSection','Agents','autoAssociation','bulkCreate','Unauthorized','some','Unauthorized.\x20You\x20must\x20be\x20an\x20administrator\x20in\x20order\x20to\x20create\x20an\x20administrator','each','isEmpty','changePassword','oldPassword','newPassword','Sequelize','ValidationError','Invalid\x20body\x20format.\x20Use\x20oldPassword\x20and\x20newPassword','authenticate','Wrong\x20credentials','Invalid\x20body\x20format.\x20Use\x20newPassword','findOne','securePassword','passwordHistoryLimit','enforcePasswordHistory','validatePasswordHistory','previousPasswords','updatePasswordsHistory','addQueues','channel','online','voicePause','interface','isValidChannel','Unknown\x20channel','capitalize','toLowerCase','penalty','spread','emit','Queue:save','voice','VoiceQueue','get','format','SIP/%s','UserVoiceQueueRt','remove','Queues','QueueId','Queue:remove','userpic','file','filename','root','download','join','server/files/images/','getOpenTabs','ChatOpenTabs','createdAt','FaxOpenTabs','OpenchannelOpenTabs','OPENCHANNEL','MailOpenTabs','MAIL','SmsOpenTabs','WhatsappOpenTabs','WHATSAPP','CmContact','pick','getContacts','Tag','color','getQueues','Queue','Unknown\x20role','nolimit','getVoiceQueuesRt','getGroups','getRecordings','VoiceRecording','UserId','getScreenRecordings','ScreenRecording','getChatInteractions'];(function(_0x3b5250,_0x7a0b2c){var _0xc844a1=function(_0x2fbc98){while(--_0x2fbc98){_0x3b5250['push'](_0x3b5250['shift']());}};_0xc844a1(++_0x7a0b2c);}(_0x2ef3,0xba));var _0x32ef=function(_0x4c2c4f,_0x2c2583){_0x4c2c4f=_0x4c2c4f-0x0;var _0x2bb9a8=_0x2ef3[_0x4c2c4f];return _0x2bb9a8;};'use strict';var emlformat=require(_0x32ef('0x0'));var rimraf=require(_0x32ef('0x1'));var zipdir=require(_0x32ef('0x2'));var jsonpatch=require(_0x32ef('0x3'));var rp=require(_0x32ef('0x4'));var moment=require(_0x32ef('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x32ef('0x6'));var util=require(_0x32ef('0x7'));var path=require('path');var sox=require(_0x32ef('0x8'));var csv=require(_0x32ef('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x32ef('0xa'));var squel=require(_0x32ef('0xb'));var crypto=require(_0x32ef('0xc'));var jsforce=require(_0x32ef('0xd'));var deskjs=require(_0x32ef('0xe'));var toCsv=require(_0x32ef('0x9'));var querystring=require(_0x32ef('0xf'));var Papa=require(_0x32ef('0x10'));var Redis=require(_0x32ef('0x11'));var values;var authService=require(_0x32ef('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x32ef('0x13'));var logger=require(_0x32ef('0x14'))(_0x32ef('0x15'));var utils=require(_0x32ef('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x32ef('0x17'));var db=require('../../mysqldb')['db'];config[_0x32ef('0x18')]=_['defaults'](config[_0x32ef('0x18')],{'host':_0x32ef('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x32ef('0x1a'))['register'](socket);var jayson=require(_0x32ef('0x1b'));var client=jayson[_0x32ef('0x1c')][_0x32ef('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x54c7f5,_0x57aff1,_0x55bf0b,_0x531e30){return new BPromise(function(_0x13db1a,_0x3950e6){var _0xb5aed2=_0x531e30||client;return _0xb5aed2['request'](_0x54c7f5,_0x55bf0b)['then'](function(_0x1eb468){logger[_0x32ef('0x1e')](_0x32ef('0x1f'),_0x57aff1,'request\x20sent');logger[_0x32ef('0x20')](_0x32ef('0x21'),_0x57aff1,'request\x20sent',JSON[_0x32ef('0x22')](_0x1eb468));if(_0x1eb468[_0x32ef('0x23')]){if(_0x1eb468[_0x32ef('0x23')][_0x32ef('0x24')]===0x1f4){logger[_0x32ef('0x23')](_0x32ef('0x1f'),_0x57aff1,_0x1eb468['error'][_0x32ef('0x25')]);return _0x3950e6(_0x1eb468['error'][_0x32ef('0x25')]);}logger[_0x32ef('0x23')]('User,\x20%s,\x20%s',_0x57aff1,_0x1eb468[_0x32ef('0x23')][_0x32ef('0x25')]);return _0x13db1a(_0x1eb468[_0x32ef('0x23')]['message']);}else{logger['info'](_0x32ef('0x1f'),_0x57aff1,_0x32ef('0x26'));_0x13db1a(_0x1eb468[_0x32ef('0x27')]['message']);}})['catch'](function(_0x19ea6){logger['error']('User,\x20%s,\x20%s',_0x57aff1,_0x19ea6);_0x3950e6(_0x19ea6);});});}function respondWithStatusCode(_0x278495,_0x14d4b3){_0x14d4b3=_0x14d4b3||0xcc;return function(_0x371540){if(_0x371540){return _0x278495[_0x32ef('0x28')](_0x14d4b3);}return _0x278495[_0x32ef('0x29')](_0x14d4b3)[_0x32ef('0x2a')]();};}function respondWithResult(_0x1874ea,_0x38aed5){_0x38aed5=_0x38aed5||0xc8;return function(_0x338f19){if(_0x338f19){return _0x1874ea[_0x32ef('0x29')](_0x38aed5)[_0x32ef('0x2b')](_0x338f19);}};}function respondWithFilteredResult(_0xba4b3f,_0x5a88a5){return function(_0xd65fde){if(_0xd65fde){var _0x2f5d06=typeof _0x5a88a5['offset']===_0x32ef('0x2c')&&typeof _0x5a88a5[_0x32ef('0x2d')]===_0x32ef('0x2c');var _0x26e207=_0xd65fde['count'];var _0x10e38c=_0x2f5d06?0x0:_0x5a88a5[_0x32ef('0x2e')];var _0x31dbc3=_0x2f5d06?_0xd65fde[_0x32ef('0x2f')]:_0x5a88a5[_0x32ef('0x2e')]+_0x5a88a5[_0x32ef('0x2d')];var _0x1a122d;if(_0x31dbc3>=_0x26e207){_0x31dbc3=_0x26e207;_0x1a122d=0xc8;}else{_0x1a122d=0xce;}_0xba4b3f['status'](_0x1a122d);return _0xba4b3f[_0x32ef('0x30')]('Content-Range',_0x10e38c+'-'+_0x31dbc3+'/'+_0x26e207)[_0x32ef('0x2b')](_0xd65fde);}return null;};}function patchUpdates(_0x2b6c6a){return function(_0x5a9565){try{jsonpatch[_0x32ef('0x31')](_0x5a9565,_0x2b6c6a,!![]);}catch(_0x17e4d1){return BPromise[_0x32ef('0x32')](_0x17e4d1);}return _0x5a9565[_0x32ef('0x33')]();};}function saveUpdates(_0x120f30,_0x59a4a3){return function(_0x50ecd6){if(_0x50ecd6){return _0x50ecd6[_0x32ef('0x34')](_0x120f30)['then'](function(_0x643dc4){return _0x643dc4;});}return null;};}function removeEntity(_0x15b873,_0x2f1349){return function(_0x390670){if(_0x390670){return _0x390670[_0x32ef('0x35')]()[_0x32ef('0x36')](function(){var _0x566b56=_0x390670['get']({'plain':!![]});if(_0x566b56['role']===_0x32ef('0x37'))return;var _0x3c4651=[{'name':_0x32ef('0x38'),'value':'user','ignore':!![]},{'name':'Agents','value':_0x32ef('0x39'),'ignore':![]},{'name':_0x32ef('0x3a'),'value':_0x32ef('0x3b'),'ignore':![]}];var _0x480348=_(_0x3c4651)['filter'](_0x32ef('0x3c'))[_0x32ef('0x3d')](_0x32ef('0x3e'))[_0x32ef('0x3e')]();if(_[_0x32ef('0x3f')](_0x480348,_0x566b56[_0x32ef('0x40')])){return;}var _0x3223d5=_[_0x32ef('0x41')](_0x3c4651,[_0x32ef('0x3e'),_0x566b56['role']])[_0x32ef('0x42')];return db[_0x32ef('0x43')][_0x32ef('0x35')]({'where':{'type':_0x3223d5,'resourceId':_0x566b56['id']}})['then'](function(){return _0x390670;});})[_0x32ef('0x36')](function(){_0x15b873[_0x32ef('0x29')](0xcc)[_0x32ef('0x2a')]();});}};}function handleEntityNotFound(_0x393a89,_0x1faf72){return function(_0x33a0fb){if(!_0x33a0fb){_0x393a89[_0x32ef('0x28')](0x194);}return _0x33a0fb;};}function handleError(_0x1cebed,_0x2ed5cb){_0x2ed5cb=_0x2ed5cb||0x1f4;return function(_0x57a3c0){logger[_0x32ef('0x23')](_0x57a3c0[_0x32ef('0x44')]);if(_0x57a3c0['name']){delete _0x57a3c0[_0x32ef('0x42')];}_0x1cebed[_0x32ef('0x29')](_0x2ed5cb)[_0x32ef('0x45')](_0x57a3c0);};}exports[_0x32ef('0x46')]=function(_0x2f92f5,_0x2ca66b){var _0x3c0e44={},_0x596d5a={},_0x538758={'count':0x0,'rows':[]};var _0x399caa=_[_0x32ef('0x3d')](db[_0x32ef('0x47')][_0x32ef('0x48')],function(_0x5dca14){return{'name':_0x5dca14[_0x32ef('0x49')],'type':_0x5dca14[_0x32ef('0x4a')]['key']};});_0x596d5a[_0x32ef('0x4b')]=_['differenceBy'](_[_0x32ef('0x3d')](_0x399caa,_0x32ef('0x42')),[_0x32ef('0x4c'),_0x32ef('0x4d')]);_0x596d5a[_0x32ef('0x4e')]=_[_0x32ef('0x4f')](_0x2f92f5[_0x32ef('0x4e')]);_0x596d5a[_0x32ef('0x50')]=_[_0x32ef('0x51')](_0x596d5a[_0x32ef('0x4b')],_0x596d5a['query']);_0x3c0e44[_0x32ef('0x52')]=_['intersection'](_0x596d5a[_0x32ef('0x4b')],qs[_0x32ef('0x53')](_0x2f92f5[_0x32ef('0x4e')]['fields']));_0x3c0e44[_0x32ef('0x52')]=_0x3c0e44[_0x32ef('0x52')][_0x32ef('0x54')]?_0x3c0e44[_0x32ef('0x52')]:_0x596d5a[_0x32ef('0x4b')];if(!_0x2f92f5[_0x32ef('0x4e')][_0x32ef('0x55')]('nolimit')){_0x3c0e44['limit']=qs[_0x32ef('0x2d')](_0x2f92f5[_0x32ef('0x4e')][_0x32ef('0x2d')]);_0x3c0e44[_0x32ef('0x2e')]=qs[_0x32ef('0x2e')](_0x2f92f5[_0x32ef('0x4e')][_0x32ef('0x2e')]);}_0x3c0e44[_0x32ef('0x56')]=qs[_0x32ef('0x57')](_0x2f92f5[_0x32ef('0x4e')][_0x32ef('0x57')]);_0x3c0e44[_0x32ef('0x58')]=qs[_0x32ef('0x50')](_['pick'](_0x2f92f5[_0x32ef('0x4e')],_0x596d5a[_0x32ef('0x50')]),_0x399caa);if(_0x2f92f5[_0x32ef('0x4e')][_0x32ef('0x59')]){_0x3c0e44[_0x32ef('0x58')]=_[_0x32ef('0x5a')](_0x3c0e44[_0x32ef('0x58')],{'$or':_[_0x32ef('0x3d')](_0x399caa,function(_0x24d8b4){if(_0x24d8b4[_0x32ef('0x4a')]!==_0x32ef('0x5b')){return db[_0x32ef('0x5c')][_0x32ef('0x58')](db[_0x32ef('0x5c')]['fn'](_0x32ef('0x5d'),db[_0x32ef('0x5c')][_0x32ef('0x5e')](_0x24d8b4[_0x32ef('0x42')])),{'$like':db['sequelize']['fn']('lower','%'+_0x2f92f5[_0x32ef('0x4e')][_0x32ef('0x59')]+'%')});}})});}_0x3c0e44=_[_0x32ef('0x5a')]({},_0x3c0e44,_0x2f92f5[_0x32ef('0x5f')]);var _0x34bd3e={'where':_0x3c0e44[_0x32ef('0x58')]};return db[_0x32ef('0x47')][_0x32ef('0x2f')](_0x34bd3e)[_0x32ef('0x36')](function(_0x368bf1){_0x538758[_0x32ef('0x2f')]=_0x368bf1;if(_0x2f92f5['query'][_0x32ef('0x60')]){_0x3c0e44[_0x32ef('0x61')]=[{'all':!![]}];}if(!_[_0x32ef('0x3f')](_0x3c0e44[_0x32ef('0x52')],'id')){_0x3c0e44[_0x32ef('0x52')][_0x32ef('0x62')]('id');}return db['User'][_0x32ef('0x63')](_0x3c0e44);})[_0x32ef('0x36')](function(_0x31d5d8){_0x538758['rows']=_0x31d5d8;if(_0x2f92f5[_0x32ef('0x4e')]['openTabs']===_0x32ef('0x64')){var _0xbe35b=[];for(var _0x579bc1=0x0;_0x579bc1<_0x538758[_0x32ef('0x65')]['length'];_0x579bc1++){_0xbe35b[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x66'),_0x538758[_0x32ef('0x65')][_0x579bc1][_0x32ef('0x67')]));_0xbe35b[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x68'),_0x538758[_0x32ef('0x65')][_0x579bc1]['dataValues']));_0xbe35b['push'](get_open_tabs(_0x32ef('0x69'),_0x538758['rows'][_0x579bc1]['dataValues']));_0xbe35b[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x6a'),_0x538758[_0x32ef('0x65')][_0x579bc1][_0x32ef('0x67')]));_0xbe35b[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x6b'),_0x538758[_0x32ef('0x65')][_0x579bc1][_0x32ef('0x67')]));_0xbe35b[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x6c'),_0x538758['rows'][_0x579bc1]['dataValues']));}return BPromise[_0x32ef('0x6d')](_0xbe35b)[_0x32ef('0x36')](function(_0x5549b4){return _0x538758;});}else{return _0x538758;}})[_0x32ef('0x36')](respondWithFilteredResult(_0x2ca66b,_0x3c0e44))[_0x32ef('0x6e')](handleError(_0x2ca66b,null));};exports[_0x32ef('0x6f')]=function(_0x49c245,_0x2ac877){var _0x3c31d0={'raw':![],'where':{'id':_0x49c245['params']['id']}},_0x20dcc5={};_0x20dcc5['model']=_[_0x32ef('0x70')](_['keys'](db[_0x32ef('0x47')]['rawAttributes']),['password',_0x32ef('0x4d')]);_0x20dcc5[_0x32ef('0x4e')]=_[_0x32ef('0x4f')](_0x49c245['query']);_0x20dcc5[_0x32ef('0x50')]=_[_0x32ef('0x51')](_0x20dcc5[_0x32ef('0x4b')],_0x20dcc5['query']);_0x3c31d0[_0x32ef('0x52')]=_[_0x32ef('0x51')](_0x20dcc5['model'],qs['fields'](_0x49c245[_0x32ef('0x4e')][_0x32ef('0x53')]));_0x3c31d0[_0x32ef('0x52')]=_0x3c31d0[_0x32ef('0x52')][_0x32ef('0x54')]?_0x3c31d0[_0x32ef('0x52')]:_0x20dcc5['model'];if(_0x49c245[_0x32ef('0x4e')][_0x32ef('0x60')]){_0x3c31d0[_0x32ef('0x61')]=[{'all':!![]}];}_0x3c31d0=_[_0x32ef('0x5a')]({},_0x3c31d0,_0x49c245[_0x32ef('0x5f')]);if(!_[_0x32ef('0x3f')](_0x3c31d0[_0x32ef('0x52')],'id')){_0x3c31d0[_0x32ef('0x52')][_0x32ef('0x62')]('id');}return db['User'][_0x32ef('0x41')](_0x3c31d0)[_0x32ef('0x36')](handleEntityNotFound(_0x2ac877,null))[_0x32ef('0x36')](function(_0x1c629d){var _0x79ae28=[];values=_0x1c629d;if(_0x49c245['query']['openTabs']===_0x32ef('0x64')){_0x79ae28[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x66'),_0x1c629d[_0x32ef('0x67')]));_0x79ae28[_0x32ef('0x62')](get_open_tabs('sms',_0x1c629d[_0x32ef('0x67')]));_0x79ae28['push'](get_open_tabs(_0x32ef('0x6b'),_0x1c629d[_0x32ef('0x67')]));_0x79ae28['push'](get_open_tabs('whatsapp',_0x1c629d[_0x32ef('0x67')]));_0x79ae28[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x69'),_0x1c629d['dataValues']));_0x79ae28['push'](get_open_tabs(_0x32ef('0x6a'),_0x1c629d[_0x32ef('0x67')]));return BPromise[_0x32ef('0x6d')](_0x79ae28);}else{return values;}})[_0x32ef('0x36')](function(_0x4f4006){return values;})[_0x32ef('0x36')](respondWithResult(_0x2ac877,null))[_0x32ef('0x6e')](handleError(_0x2ac877,null));};exports[_0x32ef('0x34')]=function(_0xd7a78,_0x9df27c){if(_0xd7a78[_0x32ef('0x71')]['id']){delete _0xd7a78[_0x32ef('0x71')]['id'];}delete _0xd7a78[_0x32ef('0x71')][_0x32ef('0x40')];return db[_0x32ef('0x47')][_0x32ef('0x41')]({'where':{'id':_0xd7a78[_0x32ef('0x72')]['id']}})['then'](handleEntityNotFound(_0x9df27c,null))['then'](saveUpdates(_0xd7a78[_0x32ef('0x71')],null))[_0x32ef('0x36')](respondWithResult(_0x9df27c,null))['catch'](handleError(_0x9df27c,null));};exports[_0x32ef('0x73')]=function(_0x5b3e58,_0x390481){return db[_0x32ef('0x47')][_0x32ef('0x73')]()['then'](respondWithResult(_0x390481,null))[_0x32ef('0x6e')](handleError(_0x390481,null));};exports['addContacts']=function(_0x141fec,_0x29b826,_0x47e3cc){return db['User'][_0x32ef('0x41')]({'where':{'id':_0x141fec['params']['id']}})[_0x32ef('0x36')](handleEntityNotFound(_0x29b826,null))['then'](function(_0xdbfb6f){if(_0xdbfb6f){return _0xdbfb6f[_0x32ef('0x74')](_0x141fec[_0x32ef('0x71')]['ids'],_['omit'](_0x141fec['body'],[_0x32ef('0x75'),'id'])||{});}})['then'](respondWithResult(_0x29b826,null))[_0x32ef('0x6e')](handleError(_0x29b826,null));};function validateUser(_0x13a374){return new BPromise(function(_0x281541,_0xfdabcf){if(_0x13a374[_0x32ef('0x76')])return _0x281541(_0x13a374);return db[_0x32ef('0x77')]['findById'](0x1)[_0x32ef('0x36')](function(_0x4e4a31){if(_0x4e4a31['securePassword'])authService[_0x32ef('0x78')](_0x13a374['password']);db[_0x32ef('0x47')][_0x32ef('0x79')]('internal')[_0x32ef('0x36')](function(_0x282805){if(_[_0x32ef('0x7a')](_0x282805)){_0x13a374[_0x32ef('0x76')]=_0x4e4a31[_0x32ef('0x7b')]||0x1;return;}if(_[_0x32ef('0x7a')](_0x4e4a31['min_internal'])||_0x4e4a31['min_internal']===_0x282805){_0x13a374[_0x32ef('0x76')]=_0x282805+0x1;return;}if(_0x4e4a31['min_internal']>_0x282805){_0x13a374[_0x32ef('0x76')]=_0x4e4a31[_0x32ef('0x7b')];return;}return db[_0x32ef('0x5c')][_0x32ef('0x4e')](_0x32ef('0x7c'),{'type':db[_0x32ef('0x5c')]['QueryTypes'][_0x32ef('0x7d')]})[_0x32ef('0x36')](function(_0x251a4f){if(_0x251a4f&&_0x251a4f[_0x32ef('0x54')]){for(var _0x2eda01=0x0,_0x52f562=_0x251a4f['length'];_0x2eda01<_0x52f562&&_[_0x32ef('0x7a')](_0x13a374[_0x32ef('0x76')]);_0x2eda01++){if(_0x4e4a31['min_internal']<=_0x251a4f[_0x2eda01][_0x32ef('0x7e')]){_0x13a374[_0x32ef('0x76')]=_0x251a4f[_0x2eda01][_0x32ef('0x7e')];}else if(_0x4e4a31[_0x32ef('0x7b')]>_0x251a4f[_0x2eda01][_0x32ef('0x7e')]&&_0x4e4a31[_0x32ef('0x7b')]<=_0x251a4f[_0x2eda01]['to']){_0x13a374[_0x32ef('0x76')]=_0x4e4a31[_0x32ef('0x7b')];}}}if(_[_0x32ef('0x7a')](_0x13a374['internal'])){_0x13a374[_0x32ef('0x76')]=_0x282805+0x1;}return _0x281541(_0x13a374);});});})[_0x32ef('0x6e')](function(_0x4e5819){_0xfdabcf(_0x4e5819);});});}function updateUser(_0x35653b){return new BPromise(function(_0x5ea727,_0x18f96c){try{if(_0x35653b['voicemail']){_0x35653b[_0x32ef('0x7f')]=_0x35653b[_0x32ef('0x76')];_0x35653b[_0x32ef('0x80')]={'mailbox':_0x35653b[_0x32ef('0x76')],'password':_0x35653b['password'],'fullname':_0x35653b[_0x32ef('0x81')],'email':_0x35653b[_0x32ef('0x82')]};}if(_0x35653b[_0x32ef('0x40')]==='agent'){if(!_0x35653b['permissions'])_0x35653b['permissions']=[_0x32ef('0x83'),_0x32ef('0x84'),_0x32ef('0x85'),_0x32ef('0x86'),_0x32ef('0x87'),'104',_0x32ef('0x88'),'106',_0x32ef('0x89'),_0x32ef('0x8a'),_0x32ef('0x8b'),'100',_0x32ef('0x8c'),_0x32ef('0x8d'),_0x32ef('0x8e')];}_0x5ea727(_0x35653b);}catch(_0x2ab385){_0x18f96c(_0x2ab385);}});}exports[_0x32ef('0x8f')]=function(_0x4d4b5f,_0x1cd3fd){if(_0x4d4b5f['user'][_0x32ef('0x40')]===_0x32ef('0x39'))throw new Error('Unauthorized');if(_0x4d4b5f['body'][_0x32ef('0x40')]===_0x32ef('0x90')&&_0x4d4b5f[_0x32ef('0x90')][_0x32ef('0x40')]!=='admin'){throw new Error(_0x32ef('0x91'));}if(_0x4d4b5f['body']['role']===_0x32ef('0x37')&&_0x4d4b5f['user'][_0x32ef('0x40')]!==_0x32ef('0x37')){throw new Error(_0x32ef('0x92'));}return licenseUtil['checkUserLimits']([_0x4d4b5f['body']])[_0x32ef('0x36')](function(){return validateUser(_0x4d4b5f[_0x32ef('0x71')]);})[_0x32ef('0x36')](function(_0x3741f8){return updateUser(_0x3741f8)[_0x32ef('0x36')](function(_0x14b995){if(_0x14b995[_0x32ef('0x40')]==='admin'){_0x14b995[_0x32ef('0x93')]=_0x4d4b5f[_0x32ef('0x90')][_0x32ef('0x93')];delete _0x14b995[_0x32ef('0x94')];}return _0x14b995;});})['then'](function(_0x578f8c){return db[_0x32ef('0x47')]['create'](_0x578f8c,{'include':[{'model':db[_0x32ef('0x80')],'as':_0x32ef('0x80')}]});})['then'](function(_0x5c7594){if(_0x4d4b5f['body'][_0x32ef('0x40')]===_0x32ef('0x90'))return _0x5c7594;if(_0x4d4b5f[_0x32ef('0x90')][_0x32ef('0x40')]!=='user')return _0x5c7594;return db[_0x32ef('0x95')][_0x32ef('0x41')]({'where':{'name':_0x5c7594[_0x32ef('0x40')]==='agent'?_0x32ef('0x96'):'Telephones','userProfileId':_0x4d4b5f[_0x32ef('0x90')][_0x32ef('0x94')]},'raw':!![]})['then'](function(_0x4eaef9){if(!_0x4eaef9||_0x4eaef9[_0x32ef('0x97')]!=0x0)return _0x5c7594;return db[_0x32ef('0x43')][_0x32ef('0x8f')]({'name':_0x5c7594[_0x32ef('0x42')],'resourceId':_0x5c7594['id'],'type':_0x4eaef9[_0x32ef('0x42')],'sectionId':_0x4eaef9['id']},{})[_0x32ef('0x36')](function(){return _0x5c7594;});})[_0x32ef('0x6e')](function(_0xc78721){logger[_0x32ef('0x23')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xc78721);throw _0xc78721;});})[_0x32ef('0x36')](respondWithResult(_0x1cd3fd,0xc9))['catch'](handleError(_0x1cd3fd,null));};exports[_0x32ef('0x98')]=function(_0x7e47b9,_0x1d9d57){var _0x18cf5d=_0x7e47b9[_0x32ef('0x71')];var _0x5d8a66=[];if(_0x7e47b9[_0x32ef('0x90')][_0x32ef('0x40')]===_0x32ef('0x39'))throw new Error(_0x32ef('0x99'));if(_[_0x32ef('0x9a')](_0x18cf5d,[_0x32ef('0x40'),_0x32ef('0x90')])&&_0x7e47b9[_0x32ef('0x90')][_0x32ef('0x40')]!=='admin'){throw new Error('Unauthorized.\x20You\x20must\x20be\x20an\x20administrator\x20in\x20order\x20to\x20create\x20an\x20user');}if(_['some'](_0x18cf5d,[_0x32ef('0x40'),_0x32ef('0x37')])&&_0x7e47b9['user'][_0x32ef('0x40')]!=='admin'){throw new Error(_0x32ef('0x9b'));}return licenseUtil['checkUserLimits'](_0x18cf5d)['then'](function(){return validateUser(_0x18cf5d[0x0]);})[_0x32ef('0x36')](function(){for(var _0x1e7ff0=0x1;_0x1e7ff0<_0x18cf5d[_0x32ef('0x54')];_0x1e7ff0++){var _0x1fb8f7=_0x18cf5d[_0x1e7ff0-0x1][_0x32ef('0x76')];if(!_0x18cf5d[_0x1e7ff0]['internal'])_0x18cf5d[_0x1e7ff0][_0x32ef('0x76')]=_0x1fb8f7+0x1;_0x5d8a66['push'](validateUser(_0x18cf5d[_0x1e7ff0]));}return BPromise[_0x32ef('0x6d')](_0x5d8a66);})['then'](function(){_0x5d8a66=[];for(var _0x5cded8=0x0;_0x5cded8<_0x18cf5d['length'];_0x5cded8++){_0x5d8a66['push'](updateUser(_0x18cf5d[_0x5cded8]));}return BPromise['all'](_0x5d8a66);})[_0x32ef('0x36')](function(){return BPromise[_0x32ef('0x9c')](_0x18cf5d,function(_0x5cea62){return db[_0x32ef('0x47')][_0x32ef('0x8f')](_0x5cea62,{'include':[{'model':db[_0x32ef('0x80')],'as':_0x32ef('0x80')}]})[_0x32ef('0x36')](function(_0x193f59){_0x5cea62['id']=_0x193f59['id'];return _0x5cea62;});});})['then'](function(_0x2ac861){if(_0x7e47b9['body'][_0x32ef('0x40')]===_0x32ef('0x90'))return _0x2ac861;if(_0x7e47b9['user'][_0x32ef('0x40')]!=='user')return _0x2ac861;var _0x4557b0=_[_0x32ef('0x9a')](_0x2ac861,function(_0x10d0b1){return _0x10d0b1[_0x32ef('0x40')]==='agent'||_0x10d0b1[_0x32ef('0x40')]===_0x32ef('0x3b');});if(!_0x4557b0)return _0x2ac861;return db[_0x32ef('0x95')][_0x32ef('0x63')]({'where':{'name':{'$or':['Agents',_0x32ef('0x3a')]},'userProfileId':_0x7e47b9['user'][_0x32ef('0x94')]},'raw':!![]})[_0x32ef('0x36')](function(_0x277dac){if(_[_0x32ef('0x9d')](_0x277dac)||!_[_0x32ef('0x9a')](_0x277dac,[_0x32ef('0x97'),0x0]))return _0x2ac861;_0x5d8a66=[];var _0x5e2516=_(_0x277dac)[_0x32ef('0x3d')](function(_0x510178){if(_0x510178['autoAssociation']===0x1)return;return _0x510178[_0x32ef('0x42')]===_0x32ef('0x96')?_0x32ef('0x39'):_0x32ef('0x3b');})['compact']()[_0x32ef('0x3e')]();for(var _0x642716=0x0;_0x642716<_0x2ac861[_0x32ef('0x54')];_0x642716++){if(!_[_0x32ef('0x3f')](_0x5e2516,_0x2ac861[_0x642716]['role']))return;var _0x4b4767=_0x2ac861[_0x642716]['role']===_0x32ef('0x39')?_0x32ef('0x96'):_0x32ef('0x3a');_0x5d8a66[_0x32ef('0x62')](db[_0x32ef('0x43')][_0x32ef('0x8f')]({'name':_0x2ac861[_0x642716][_0x32ef('0x42')],'resourceId':_0x2ac861[_0x642716]['id'],'type':_0x4b4767,'sectionId':_[_0x32ef('0x41')](_0x277dac,[_0x32ef('0x42'),_0x4b4767])['id']},{}));}return BPromise[_0x32ef('0x6d')](_0x5d8a66);});})[_0x32ef('0x36')](respondWithResult(_0x1d9d57,0xc9))['catch'](handleError(_0x1d9d57,null));};exports[_0x32ef('0x9e')]=function(_0x7c2649,_0x42d79b,_0x349e03){if(_0x7c2649[_0x32ef('0x71')]['id']){delete _0x7c2649[_0x32ef('0x71')]['id'];}return db['User'][_0x32ef('0x41')]({'where':{'id':_0x7c2649[_0x32ef('0x72')]['id']}})[_0x32ef('0x36')](function(_0xfadbf5){if(!_0xfadbf5)return null;if(_0xfadbf5['id']===_0x7c2649[_0x32ef('0x90')]['id']){if(!_0x7c2649[_0x32ef('0x71')][_0x32ef('0x9f')]||!_0x7c2649[_0x32ef('0x71')][_0x32ef('0xa0')]){throw new db[(_0x32ef('0xa1'))][(_0x32ef('0xa2'))](_0x32ef('0xa3'));}if(!_0xfadbf5[_0x32ef('0xa4')](_0x7c2649[_0x32ef('0x71')]['oldPassword'])){throw new db[(_0x32ef('0xa1'))][(_0x32ef('0xa2'))](_0x32ef('0xa5'));}if(_0x7c2649['body'][_0x32ef('0x9f')]===_0x7c2649['body'][_0x32ef('0xa0')]){throw new db[(_0x32ef('0xa1'))][(_0x32ef('0xa2'))]('New\x20password\x20must\x20be\x20different\x20from\x20old\x20password');}}else if(_0x7c2649[_0x32ef('0x90')]['role']===_0x32ef('0x37')){if(!_0x7c2649[_0x32ef('0x71')]['newPassword']){throw new db[(_0x32ef('0xa1'))][(_0x32ef('0xa2'))](_0x32ef('0xa6'));}}else if(_0x7c2649[_0x32ef('0x90')][_0x32ef('0x40')]===_0x32ef('0x90')){if(!_0x7c2649[_0x32ef('0x71')]['newPassword']){throw new db['Sequelize'][(_0x32ef('0xa2'))]('Invalid\x20body\x20format.\x20Use\x20newPassword');}if(_0xfadbf5[_0x32ef('0x40')]!==_0x32ef('0x39')){throw new db['Sequelize'][(_0x32ef('0xa2'))](_0x32ef('0x99'));}}else{throw new db['Sequelize'][(_0x32ef('0xa2'))](_0x32ef('0x99'));}return _0xfadbf5;})[_0x32ef('0x36')](handleEntityNotFound(_0x42d79b,null))[_0x32ef('0x36')](function(_0x237048){return db['Setting'][_0x32ef('0xa7')]({'attributes':['id',_0x32ef('0xa8'),'enforcePasswordHistory',_0x32ef('0xa9')]})[_0x32ef('0x36')](function(_0x55ad11){if(_0x55ad11[_0x32ef('0xa8')])authService[_0x32ef('0x78')](_0x7c2649['body'][_0x32ef('0xa0')]);if(!_0x55ad11[_0x32ef('0xaa')]||!_0x237048['previousPasswords'])return _0x237048;authService[_0x32ef('0xab')](_0x7c2649[_0x32ef('0x71')][_0x32ef('0xa0')],_0x237048[_0x32ef('0xac')],_0x55ad11[_0x32ef('0xa9')]);return _0x237048;})[_0x32ef('0x36')](saveUpdates({'password':_0x7c2649[_0x32ef('0x71')]['newPassword'],'passwordResetAt':_0x7c2649['user']['id']==_0x7c2649[_0x32ef('0x72')]['id']?moment():null,'previousPasswords':authService[_0x32ef('0xad')](_0x7c2649[_0x32ef('0x71')]['newPassword'],_0x237048[_0x32ef('0xac')])},null));})[_0x32ef('0x36')](respondWithResult(_0x42d79b,null))['catch'](handleError(_0x42d79b,null));};exports[_0x32ef('0xae')]=function(_0x1f0923,_0x490c67,_0x4d2f23){var _0x4445b6=_0x1f0923[_0x32ef('0x71')][_0x32ef('0xaf')];return db['User']['find']({'where':{'id':_0x1f0923['params']['id']},'attributes':['id',_0x32ef('0x42'),_0x32ef('0x40'),_0x32ef('0xb0'),'loginInPause',_0x32ef('0xb1'),_0x32ef('0xb2')]})[_0x32ef('0x36')](handleEntityNotFound(_0x490c67,null))['then'](function(_0x185921){if(_0x185921){if(!utils[_0x32ef('0xb3')](_0x4445b6)){throw new db['Sequelize']['ValidationError'](_0x32ef('0xb4'));}return _0x185921['add'+_[_0x32ef('0xb5')](_0x4445b6[_0x32ef('0xb6')]())+'Queues'](_0x1f0923['body'][_0x32ef('0x75')],{'penalty':_0x1f0923['body'][_0x32ef('0xb7')]||0x0})[_0x32ef('0xb8')](function(_0x361820){for(var _0x193bb5=0x0;_0x193bb5<_0x1f0923[_0x32ef('0x71')][_0x32ef('0x75')][_0x32ef('0x54')];_0x193bb5+=0x1){var _0x228e8a={'UserId':_0x1f0923[_0x32ef('0x72')]['id']};_0x228e8a[_[_0x32ef('0xb5')](_0x4445b6['toLowerCase']())+'QueueId']=_0x1f0923[_0x32ef('0x71')][_0x32ef('0x75')][_0x193bb5];socket[_0x32ef('0xb9')](_0x32ef('0x90')+_[_0x32ef('0xb5')](_0x4445b6[_0x32ef('0xb6')]())+_0x32ef('0xba'),_0x228e8a);}return _0x361820;})[_0x32ef('0x36')](function(){if(_0x4445b6===_0x32ef('0xbb')){return db[_0x32ef('0xbc')]['findAll']({'where':{'id':_0x1f0923[_0x32ef('0x71')][_0x32ef('0x75')]||[]},'raw':!![],'attributes':['id',_0x32ef('0x42')]});}})[_0x32ef('0x36')](function(_0x3307e2){var _0x1eca38=_0x185921[_0x32ef('0xbd')]({'plain':!![]});var _0x460ab8=[];if(_0x4445b6===_0x32ef('0xbb')&&_0x1eca38[_0x32ef('0x40')]===_0x32ef('0x39')&&_0x1eca38[_0x32ef('0xb0')]){for(var _0x1abda9=0x0;_0x1abda9<_0x3307e2['length'];_0x1abda9+=0x1){_0x460ab8[_0x32ef('0x62')]({'membername':_0x1eca38[_0x32ef('0x42')],'UserId':_0x1eca38['id'],'queue_name':_0x3307e2[_0x1abda9][_0x32ef('0x42')],'VoiceQueueId':_0x3307e2[_0x1abda9]['id'],'interface':_[_0x32ef('0x7a')](_0x1eca38[_0x32ef('0xb2')])?util[_0x32ef('0xbe')](_0x32ef('0xbf'),_0x1eca38[_0x32ef('0x42')]):_0x1eca38[_0x32ef('0xb2')],'paused':_0x1eca38[_0x32ef('0xb1')]||![],'penalty':_0x1f0923['body'][_0x32ef('0xb7')]||0x0});}return BPromise[_0x32ef('0x9c')](_0x460ab8,function(_0x176d96){return db[_0x32ef('0xc0')]['upsert'](_0x176d96);});}return _0x185921;});}})[_0x32ef('0x36')](respondWithStatusCode(_0x490c67,null))[_0x32ef('0x6e')](handleError(_0x490c67,null));};exports['removeQueues']=function(_0x4da679,_0x53f0ba,_0x478dee){var _0x29b584;return db[_0x32ef('0x47')][_0x32ef('0x41')]({'where':{'id':_0x4da679['params']['id']},'attributes':['id','name',_0x32ef('0x40')]})['then'](handleEntityNotFound(_0x53f0ba,null))['then'](function(_0x20a6b2){if(_0x20a6b2){_0x29b584=_0x20a6b2;if(!_0x4da679[_0x32ef('0x4e')][_0x32ef('0xaf')]||!utils['isValidChannel'](_0x4da679['query']['channel'])){throw new db[(_0x32ef('0xa1'))][(_0x32ef('0xa2'))](_0x32ef('0xb4'));}return _0x20a6b2[_0x32ef('0xc1')+_[_0x32ef('0xb5')](_0x4da679[_0x32ef('0x4e')][_0x32ef('0xaf')][_0x32ef('0xb6')]())+_0x32ef('0xc2')](_0x4da679['query']['ids']);}})['then'](function(_0x43ad8a){for(var _0x155535=0x0;_0x155535<_0x4da679['query']['ids'][_0x32ef('0x54')];_0x155535+=0x1){var _0x478be3={'UserId':_0x4da679[_0x32ef('0x72')]['id']};_0x478be3[_[_0x32ef('0xb5')](_0x4da679[_0x32ef('0x4e')][_0x32ef('0xaf')]['toLowerCase']())+_0x32ef('0xc3')]=_0x4da679[_0x32ef('0x4e')][_0x32ef('0x75')][_0x155535];socket[_0x32ef('0xb9')]('user'+_[_0x32ef('0xb5')](_0x4da679[_0x32ef('0x4e')]['channel']['toLowerCase']())+_0x32ef('0xc4'),_0x478be3);}return _0x43ad8a;})[_0x32ef('0x36')](function(){if(_0x4da679[_0x32ef('0x4e')][_0x32ef('0xaf')]===_0x32ef('0xbb')){return db[_0x32ef('0xc0')][_0x32ef('0x35')]({'where':{'UserId':_0x4da679['params']['id'],'VoiceQueueId':_0x4da679[_0x32ef('0x4e')][_0x32ef('0x75')]},'individualHooks':!![]})[_0x32ef('0x36')](function(){return _0x29b584;});}return _0x29b584;})[_0x32ef('0x36')](respondWithStatusCode(_0x53f0ba,null))['catch'](handleError(_0x53f0ba,null));};exports['addAvatar']=function(_0x3cd71a,_0x5b0cc3,_0x311b5e){_0x3cd71a[_0x32ef('0x71')][_0x32ef('0xc5')]=_0x3cd71a[_0x32ef('0xc6')][_0x32ef('0xc7')];return db[_0x32ef('0x47')][_0x32ef('0x41')]({'where':{'id':_0x3cd71a[_0x32ef('0x72')]['id']}})['then'](handleEntityNotFound(_0x5b0cc3,null))[_0x32ef('0x36')](saveUpdates(_0x3cd71a['body'],null))[_0x32ef('0x36')](respondWithResult(_0x5b0cc3,null))['catch'](handleError(_0x5b0cc3,null));};exports['getAvatar']=function(_0x5890aa,_0x167dcb,_0x546b42){var _0x4673f9=path['join'](config[_0x32ef('0xc8')],'server/files/images/logos/default_profile.png');return db[_0x32ef('0x47')][_0x32ef('0x41')]({'where':{'id':_0x5890aa['params']['id']},'attributes':['id',_0x32ef('0xc5')],'raw':!![]})['then'](handleEntityNotFound(_0x167dcb,null))[_0x32ef('0x36')](function(_0x55bf5){if(_0x55bf5){if(_[_0x32ef('0x7a')](_0x55bf5[_0x32ef('0xc5')])){return _0x167dcb[_0x32ef('0xc9')](_0x4673f9);}else{if(!fs['existsSync'](path[_0x32ef('0xca')](config[_0x32ef('0xc8')],_0x32ef('0xcb'),_0x55bf5[_0x32ef('0xc5')]))){return _0x167dcb[_0x32ef('0xc9')](_0x4673f9);}return _0x167dcb[_0x32ef('0xc9')](path[_0x32ef('0xca')](config[_0x32ef('0xc8')],'server/files/images/',_0x55bf5[_0x32ef('0xc5')]));}}})['catch'](handleError(_0x167dcb,null));};exports[_0x32ef('0xcc')]=function(_0x1b7041,_0x2c5250,_0x59cd48){return db['User'][_0x32ef('0x41')]({'where':{'id':_0x1b7041[_0x32ef('0x72')]['id']},'attributes':['id']})[_0x32ef('0x36')](handleEntityNotFound(_0x2c5250,null))[_0x32ef('0x36')](function(_0x3f5e5b){var _0xcfa36c=[];values=_0x3f5e5b[_0x32ef('0x67')];_0xcfa36c[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x66'),_0x3f5e5b[_0x32ef('0x67')]));_0xcfa36c[_0x32ef('0x62')](get_open_tabs('sms',_0x3f5e5b[_0x32ef('0x67')]));_0xcfa36c[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x6b'),_0x3f5e5b[_0x32ef('0x67')]));_0xcfa36c[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x6c'),_0x3f5e5b[_0x32ef('0x67')]));_0xcfa36c[_0x32ef('0x62')](get_open_tabs(_0x32ef('0x69'),_0x3f5e5b[_0x32ef('0x67')]));_0xcfa36c['push'](get_open_tabs(_0x32ef('0x6a'),_0x3f5e5b[_0x32ef('0x67')]));return BPromise[_0x32ef('0x6d')](_0xcfa36c);})[_0x32ef('0x36')](function(_0x449c2f){var _0x4f233c=[];if(_0x449c2f){for(var _0x22365a=0x0;_0x22365a=_0x562b43){_0x2754ca=_0x562b43;_0x3e5aba=0xc8;}else{_0x3e5aba=0xce;}_0x4cb336['status'](_0x3e5aba);return _0x4cb336['set'](_0xbccb('0x31'),_0x692871+'-'+_0x2754ca+'/'+_0x562b43)[_0xbccb('0x2c')](_0x343e01);}return null;};}function patchUpdates(_0x432785){return function(_0x836c88){try{jsonpatch[_0xbccb('0x32')](_0x836c88,_0x432785,!![]);}catch(_0xfbcd74){return BPromise[_0xbccb('0x33')](_0xfbcd74);}return _0x836c88['save']();};}function saveUpdates(_0x59ad2f,_0x23e21){return function(_0x2116e9){if(_0x2116e9){return _0x2116e9[_0xbccb('0x34')](_0x59ad2f)[_0xbccb('0x35')](function(_0x13a253){return _0x13a253;});}return null;};}function removeEntity(_0x5b4b20,_0x516765){return function(_0x297ca4){if(_0x297ca4){return _0x297ca4[_0xbccb('0x36')]()[_0xbccb('0x35')](function(){var _0x318098=_0x297ca4[_0xbccb('0x37')]({'plain':!![]});if(_0x318098[_0xbccb('0x38')]===_0xbccb('0x39'))return;var _0x23ff3e=[{'name':'Users','value':_0xbccb('0x3a'),'ignore':!![]},{'name':'Agents','value':'agent','ignore':![]},{'name':'Telephones','value':_0xbccb('0x3b'),'ignore':![]}];var _0x1c0852=_(_0x23ff3e)['filter'](_0xbccb('0x3c'))[_0xbccb('0x3d')](_0xbccb('0x3e'))[_0xbccb('0x3e')]();if(_['includes'](_0x1c0852,_0x318098[_0xbccb('0x38')])){return;}var _0x4cc92b=_[_0xbccb('0x3f')](_0x23ff3e,[_0xbccb('0x3e'),_0x318098[_0xbccb('0x38')]])[_0xbccb('0x40')];return db[_0xbccb('0x41')][_0xbccb('0x36')]({'where':{'type':_0x4cc92b,'resourceId':_0x318098['id']}})[_0xbccb('0x35')](function(){return _0x297ca4;});})[_0xbccb('0x35')](function(){_0x5b4b20[_0xbccb('0x2a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x26c900,_0x37eb2a){return function(_0x4fd7cb){if(!_0x4fd7cb){_0x26c900[_0xbccb('0x29')](0x194);}return _0x4fd7cb;};}function handleError(_0x3b67d6,_0x14e3ba){_0x14e3ba=_0x14e3ba||0x1f4;return function(_0x17fff0){logger[_0xbccb('0x24')](_0x17fff0[_0xbccb('0x42')]);if(_0x17fff0['name']){delete _0x17fff0['name'];}_0x3b67d6[_0xbccb('0x2a')](_0x14e3ba)[_0xbccb('0x43')](_0x17fff0);};}exports[_0xbccb('0x44')]=function(_0x4c522f,_0x453d20){var _0x5e6665={},_0x4bc21b={},_0x4f4983={'count':0x0,'rows':[]};var _0x38e6e8=_[_0xbccb('0x3d')](db[_0xbccb('0x45')][_0xbccb('0x46')],function(_0x339027){return{'name':_0x339027[_0xbccb('0x47')],'type':_0x339027['type'][_0xbccb('0x48')]};});_0x4bc21b[_0xbccb('0x49')]=_['differenceBy'](_[_0xbccb('0x3d')](_0x38e6e8,_0xbccb('0x40')),[_0xbccb('0x4a'),'salt']);_0x4bc21b[_0xbccb('0x4b')]=_[_0xbccb('0x4c')](_0x4c522f['query']);_0x4bc21b[_0xbccb('0x4d')]=_['intersection'](_0x4bc21b[_0xbccb('0x49')],_0x4bc21b[_0xbccb('0x4b')]);_0x5e6665['attributes']=_[_0xbccb('0x4e')](_0x4bc21b[_0xbccb('0x49')],qs['fields'](_0x4c522f['query'][_0xbccb('0x4f')]));_0x5e6665['attributes']=_0x5e6665[_0xbccb('0x50')][_0xbccb('0x51')]?_0x5e6665[_0xbccb('0x50')]:_0x4bc21b['model'];if(!_0x4c522f[_0xbccb('0x4b')]['hasOwnProperty'](_0xbccb('0x52'))){_0x5e6665[_0xbccb('0x2e')]=qs[_0xbccb('0x2e')](_0x4c522f[_0xbccb('0x4b')][_0xbccb('0x2e')]);_0x5e6665[_0xbccb('0x30')]=qs[_0xbccb('0x30')](_0x4c522f[_0xbccb('0x4b')]['offset']);}_0x5e6665[_0xbccb('0x53')]=qs['sort'](_0x4c522f['query'][_0xbccb('0x54')]);_0x5e6665[_0xbccb('0x55')]=qs[_0xbccb('0x4d')](_['pick'](_0x4c522f[_0xbccb('0x4b')],_0x4bc21b[_0xbccb('0x4d')]),_0x38e6e8);if(_0x4c522f[_0xbccb('0x4b')][_0xbccb('0x56')]){_0x5e6665[_0xbccb('0x55')]=_[_0xbccb('0x57')](_0x5e6665[_0xbccb('0x55')],{'$or':_[_0xbccb('0x3d')](_0x38e6e8,function(_0x3b2c81){if(_0x3b2c81[_0xbccb('0x58')]!==_0xbccb('0x59')){return db[_0xbccb('0x5a')][_0xbccb('0x55')](db[_0xbccb('0x5a')]['fn'](_0xbccb('0x5b'),db[_0xbccb('0x5a')]['col'](_0x3b2c81['name'])),{'$like':db[_0xbccb('0x5a')]['fn'](_0xbccb('0x5b'),'%'+_0x4c522f[_0xbccb('0x4b')][_0xbccb('0x56')]+'%')});}})});}_0x5e6665=_[_0xbccb('0x57')]({},_0x5e6665,_0x4c522f[_0xbccb('0x5c')]);var _0x5331cb={'where':_0x5e6665[_0xbccb('0x55')]};return db['User']['count'](_0x5331cb)[_0xbccb('0x35')](function(_0x57b829){_0x4f4983['count']=_0x57b829;if(_0x4c522f[_0xbccb('0x4b')][_0xbccb('0x5d')]){_0x5e6665[_0xbccb('0x5e')]=[{'all':!![]}];}if(!_[_0xbccb('0x5f')](_0x5e6665[_0xbccb('0x50')],'id')){_0x5e6665[_0xbccb('0x50')][_0xbccb('0x60')]('id');}return db[_0xbccb('0x45')][_0xbccb('0x61')](_0x5e6665);})[_0xbccb('0x35')](function(_0x22e31c){_0x4f4983[_0xbccb('0x62')]=_0x22e31c;if(_0x4c522f[_0xbccb('0x4b')][_0xbccb('0x63')]===_0xbccb('0x64')){var _0x2027e7=[];for(var _0x4c3fb0=0x0;_0x4c3fb0<_0x4f4983[_0xbccb('0x62')][_0xbccb('0x51')];_0x4c3fb0++){_0x2027e7[_0xbccb('0x60')](get_open_tabs('chat',_0x4f4983['rows'][_0x4c3fb0][_0xbccb('0x65')]));_0x2027e7[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x66'),_0x4f4983['rows'][_0x4c3fb0][_0xbccb('0x65')]));_0x2027e7[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x67'),_0x4f4983[_0xbccb('0x62')][_0x4c3fb0]['dataValues']));_0x2027e7[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x68'),_0x4f4983['rows'][_0x4c3fb0][_0xbccb('0x65')]));_0x2027e7[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x69'),_0x4f4983['rows'][_0x4c3fb0]['dataValues']));_0x2027e7[_0xbccb('0x60')](get_open_tabs('whatsapp',_0x4f4983[_0xbccb('0x62')][_0x4c3fb0][_0xbccb('0x65')]));}return BPromise[_0xbccb('0x6a')](_0x2027e7)[_0xbccb('0x35')](function(_0x167179){return _0x4f4983;});}else{return _0x4f4983;}})[_0xbccb('0x35')](respondWithFilteredResult(_0x453d20,_0x5e6665))['catch'](handleError(_0x453d20,null));};exports['show']=function(_0x4a63b7,_0x538453){var _0x51f581={'raw':![],'where':{'id':_0x4a63b7[_0xbccb('0x6b')]['id']}},_0x29c0ed={};_0x29c0ed[_0xbccb('0x49')]=_['differenceBy'](_[_0xbccb('0x4c')](db[_0xbccb('0x45')]['rawAttributes']),['password',_0xbccb('0x6c')]);_0x29c0ed[_0xbccb('0x4b')]=_[_0xbccb('0x4c')](_0x4a63b7[_0xbccb('0x4b')]);_0x29c0ed[_0xbccb('0x4d')]=_[_0xbccb('0x4e')](_0x29c0ed[_0xbccb('0x49')],_0x29c0ed[_0xbccb('0x4b')]);_0x51f581[_0xbccb('0x50')]=_[_0xbccb('0x4e')](_0x29c0ed['model'],qs[_0xbccb('0x4f')](_0x4a63b7[_0xbccb('0x4b')][_0xbccb('0x4f')]));_0x51f581['attributes']=_0x51f581[_0xbccb('0x50')][_0xbccb('0x51')]?_0x51f581[_0xbccb('0x50')]:_0x29c0ed['model'];if(_0x4a63b7[_0xbccb('0x4b')][_0xbccb('0x5d')]){_0x51f581['include']=[{'all':!![]}];}_0x51f581=_[_0xbccb('0x57')]({},_0x51f581,_0x4a63b7['options']);if(!_[_0xbccb('0x5f')](_0x51f581[_0xbccb('0x50')],'id')){_0x51f581[_0xbccb('0x50')][_0xbccb('0x60')]('id');}return db[_0xbccb('0x45')][_0xbccb('0x3f')](_0x51f581)[_0xbccb('0x35')](handleEntityNotFound(_0x538453,null))[_0xbccb('0x35')](function(_0x56f372){var _0x4be746=[];values=_0x56f372;if(_0x4a63b7['query']['openTabs']==='true'){_0x4be746[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x6d'),_0x56f372[_0xbccb('0x65')]));_0x4be746[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x66'),_0x56f372[_0xbccb('0x65')]));_0x4be746[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x69'),_0x56f372[_0xbccb('0x65')]));_0x4be746[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x6e'),_0x56f372[_0xbccb('0x65')]));_0x4be746['push'](get_open_tabs(_0xbccb('0x67'),_0x56f372[_0xbccb('0x65')]));_0x4be746[_0xbccb('0x60')](get_open_tabs('mail',_0x56f372[_0xbccb('0x65')]));return BPromise[_0xbccb('0x6a')](_0x4be746);}else{return values;}})[_0xbccb('0x35')](function(_0x11df4c){return values;})['then'](respondWithResult(_0x538453,null))[_0xbccb('0x28')](handleError(_0x538453,null));};exports[_0xbccb('0x34')]=function(_0x287ce2,_0x2d345a){if(_0x287ce2[_0xbccb('0x6f')]['id']){delete _0x287ce2[_0xbccb('0x6f')]['id'];}delete _0x287ce2[_0xbccb('0x6f')][_0xbccb('0x38')];return db['User'][_0xbccb('0x3f')]({'where':{'id':_0x287ce2[_0xbccb('0x6b')]['id']}})['then'](handleEntityNotFound(_0x2d345a,null))[_0xbccb('0x35')](saveUpdates(_0x287ce2[_0xbccb('0x6f')],null))[_0xbccb('0x35')](respondWithResult(_0x2d345a,null))[_0xbccb('0x28')](handleError(_0x2d345a,null));};exports[_0xbccb('0x70')]=function(_0x550857,_0x1c4547){return db['User'][_0xbccb('0x70')]()[_0xbccb('0x35')](respondWithResult(_0x1c4547,null))[_0xbccb('0x28')](handleError(_0x1c4547,null));};exports[_0xbccb('0x71')]=function(_0xc9afc2,_0x2c0918,_0x217103){return db[_0xbccb('0x45')][_0xbccb('0x3f')]({'where':{'id':_0xc9afc2['params']['id']}})[_0xbccb('0x35')](handleEntityNotFound(_0x2c0918,null))[_0xbccb('0x35')](function(_0x150e46){if(_0x150e46){return _0x150e46[_0xbccb('0x71')](_0xc9afc2['body'][_0xbccb('0x72')],_[_0xbccb('0x73')](_0xc9afc2[_0xbccb('0x6f')],[_0xbccb('0x72'),'id'])||{});}})[_0xbccb('0x35')](respondWithResult(_0x2c0918,null))[_0xbccb('0x28')](handleError(_0x2c0918,null));};function validateUser(_0x366449){return new BPromise(function(_0x2f871a,_0x34995c){if(_0x366449['internal'])return _0x2f871a(_0x366449);return db[_0xbccb('0x74')]['findById'](0x1)[_0xbccb('0x35')](function(_0x495ff4){if(_0x495ff4['securePassword'])authService[_0xbccb('0x75')](_0x366449[_0xbccb('0x4a')]);db[_0xbccb('0x45')][_0xbccb('0x76')](_0xbccb('0x77'))[_0xbccb('0x35')](function(_0x3c6043){if(_[_0xbccb('0x78')](_0x3c6043)){_0x366449[_0xbccb('0x77')]=_0x495ff4['min_internal']||0x1;return;}if(_[_0xbccb('0x78')](_0x495ff4['min_internal'])||_0x495ff4['min_internal']===_0x3c6043){_0x366449[_0xbccb('0x77')]=_0x3c6043+0x1;return;}if(_0x495ff4['min_internal']>_0x3c6043){_0x366449[_0xbccb('0x77')]=_0x495ff4[_0xbccb('0x79')];return;}return db[_0xbccb('0x5a')][_0xbccb('0x4b')](_0xbccb('0x7a'),{'type':db[_0xbccb('0x5a')][_0xbccb('0x7b')][_0xbccb('0x7c')]})[_0xbccb('0x35')](function(_0x43978a){if(_0x43978a&&_0x43978a[_0xbccb('0x51')]){for(var _0x534c0f=0x0,_0xe151a6=_0x43978a[_0xbccb('0x51')];_0x534c0f<_0xe151a6&&_[_0xbccb('0x78')](_0x366449['internal']);_0x534c0f++){if(_0x495ff4[_0xbccb('0x79')]<=_0x43978a[_0x534c0f][_0xbccb('0x7d')]){_0x366449[_0xbccb('0x77')]=_0x43978a[_0x534c0f][_0xbccb('0x7d')];}else if(_0x495ff4[_0xbccb('0x79')]>_0x43978a[_0x534c0f][_0xbccb('0x7d')]&&_0x495ff4['min_internal']<=_0x43978a[_0x534c0f]['to']){_0x366449['internal']=_0x495ff4[_0xbccb('0x79')];}}}if(_[_0xbccb('0x78')](_0x366449['internal'])){_0x366449[_0xbccb('0x77')]=_0x3c6043+0x1;}return _0x2f871a(_0x366449);});});})[_0xbccb('0x28')](function(_0x5bc775){_0x34995c(_0x5bc775);});});}function updateUser(_0x1cd937){return new BPromise(function(_0x25592a,_0x1112ef){try{if(_0x1cd937['voicemail']){_0x1cd937[_0xbccb('0x7e')]=_0x1cd937[_0xbccb('0x77')];_0x1cd937['VoiceMail']={'mailbox':_0x1cd937[_0xbccb('0x77')],'password':_0x1cd937[_0xbccb('0x4a')],'fullname':_0x1cd937[_0xbccb('0x7f')],'email':_0x1cd937['email']};}if(_0x1cd937['role']==='agent'){if(!_0x1cd937[_0xbccb('0x80')])_0x1cd937[_0xbccb('0x80')]=['101',_0xbccb('0x81'),'103',_0xbccb('0x82'),_0xbccb('0x83'),_0xbccb('0x84'),_0xbccb('0x85'),'106','107',_0xbccb('0x86'),_0xbccb('0x87'),'100',_0xbccb('0x88'),_0xbccb('0x89'),'115'];}_0x25592a(_0x1cd937);}catch(_0x3eba86){_0x1112ef(_0x3eba86);}});}exports[_0xbccb('0x8a')]=function(_0x911d75,_0x5dd0b5){if(_0x911d75[_0xbccb('0x3a')][_0xbccb('0x38')]==='agent')throw new Error(_0xbccb('0x8b'));if(_0x911d75[_0xbccb('0x6f')][_0xbccb('0x38')]===_0xbccb('0x3a')&&_0x911d75['user'][_0xbccb('0x38')]!=='admin'){throw new Error(_0xbccb('0x8c'));}if(_0x911d75['body'][_0xbccb('0x38')]===_0xbccb('0x39')&&_0x911d75[_0xbccb('0x3a')]['role']!==_0xbccb('0x39')){throw new Error(_0xbccb('0x8d'));}return licenseUtil[_0xbccb('0x8e')]([_0x911d75[_0xbccb('0x6f')]])[_0xbccb('0x35')](function(){return validateUser(_0x911d75[_0xbccb('0x6f')]);})['then'](function(_0x45fe40){return updateUser(_0x45fe40)['then'](function(_0x51bcde){if(_0x51bcde[_0xbccb('0x38')]===_0xbccb('0x39')){_0x51bcde['settingsEnabled']=_0x911d75[_0xbccb('0x3a')]['settingsEnabled'];delete _0x51bcde[_0xbccb('0x8f')];}return _0x51bcde;});})['then'](function(_0x18b5d4){return db['User'][_0xbccb('0x8a')](_0x18b5d4,{'include':[{'model':db[_0xbccb('0x90')],'as':_0xbccb('0x90')}]});})[_0xbccb('0x35')](function(_0x1b9a73){if(_0x911d75[_0xbccb('0x6f')][_0xbccb('0x38')]==='user')return _0x1b9a73;if(_0x911d75[_0xbccb('0x3a')][_0xbccb('0x38')]!==_0xbccb('0x3a'))return _0x1b9a73;return db[_0xbccb('0x91')][_0xbccb('0x3f')]({'where':{'name':_0x1b9a73[_0xbccb('0x38')]===_0xbccb('0x92')?_0xbccb('0x93'):'Telephones','userProfileId':_0x911d75[_0xbccb('0x3a')][_0xbccb('0x8f')]},'raw':!![]})[_0xbccb('0x35')](function(_0x37d8f1){if(!_0x37d8f1||_0x37d8f1[_0xbccb('0x94')]!=0x0)return _0x1b9a73;return db[_0xbccb('0x41')][_0xbccb('0x8a')]({'name':_0x1b9a73[_0xbccb('0x40')],'resourceId':_0x1b9a73['id'],'type':_0x37d8f1[_0xbccb('0x40')],'sectionId':_0x37d8f1['id']},{})['then'](function(){return _0x1b9a73;});})[_0xbccb('0x28')](function(_0x5ef3ff){logger[_0xbccb('0x24')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5ef3ff);throw _0x5ef3ff;});})['then'](respondWithResult(_0x5dd0b5,0xc9))[_0xbccb('0x28')](handleError(_0x5dd0b5,null));};exports[_0xbccb('0x95')]=function(_0x2d24b5,_0x2ba96a){var _0xead3f2=_0x2d24b5[_0xbccb('0x6f')];var _0x5d2eb7=[];if(_0x2d24b5[_0xbccb('0x3a')]['role']==='agent')throw new Error(_0xbccb('0x8b'));if(_[_0xbccb('0x96')](_0xead3f2,['role',_0xbccb('0x3a')])&&_0x2d24b5[_0xbccb('0x3a')]['role']!==_0xbccb('0x39')){throw new Error(_0xbccb('0x8c'));}if(_[_0xbccb('0x96')](_0xead3f2,[_0xbccb('0x38'),_0xbccb('0x39')])&&_0x2d24b5[_0xbccb('0x3a')][_0xbccb('0x38')]!==_0xbccb('0x39')){throw new Error(_0xbccb('0x97'));}return licenseUtil[_0xbccb('0x8e')](_0xead3f2)[_0xbccb('0x35')](function(){return validateUser(_0xead3f2[0x0]);})[_0xbccb('0x35')](function(){for(var _0x466825=0x1;_0x466825<_0xead3f2[_0xbccb('0x51')];_0x466825++){var _0x8f02ce=_0xead3f2[_0x466825-0x1][_0xbccb('0x77')];if(!_0xead3f2[_0x466825]['internal'])_0xead3f2[_0x466825][_0xbccb('0x77')]=_0x8f02ce+0x1;_0x5d2eb7['push'](validateUser(_0xead3f2[_0x466825]));}return BPromise[_0xbccb('0x6a')](_0x5d2eb7);})[_0xbccb('0x35')](function(){_0x5d2eb7=[];for(var _0x37e482=0x0;_0x37e482<_0xead3f2[_0xbccb('0x51')];_0x37e482++){_0x5d2eb7[_0xbccb('0x60')](updateUser(_0xead3f2[_0x37e482]));}return BPromise['all'](_0x5d2eb7);})[_0xbccb('0x35')](function(){return BPromise[_0xbccb('0x98')](_0xead3f2,function(_0x15fa9b){return db[_0xbccb('0x45')][_0xbccb('0x8a')](_0x15fa9b,{'include':[{'model':db[_0xbccb('0x90')],'as':_0xbccb('0x90')}]})[_0xbccb('0x35')](function(_0x174ec4){_0x15fa9b['id']=_0x174ec4['id'];return _0x15fa9b;});});})[_0xbccb('0x35')](function(_0x21c679){if(_0x2d24b5['body']['role']==='user')return _0x21c679;if(_0x2d24b5[_0xbccb('0x3a')][_0xbccb('0x38')]!==_0xbccb('0x3a'))return _0x21c679;var _0x63d9cc=_[_0xbccb('0x96')](_0x21c679,function(_0x3fc093){return _0x3fc093[_0xbccb('0x38')]==='agent'||_0x3fc093[_0xbccb('0x38')]===_0xbccb('0x3b');});if(!_0x63d9cc)return _0x21c679;return db[_0xbccb('0x91')][_0xbccb('0x61')]({'where':{'name':{'$or':['Agents',_0xbccb('0x99')]},'userProfileId':_0x2d24b5[_0xbccb('0x3a')][_0xbccb('0x8f')]},'raw':!![]})[_0xbccb('0x35')](function(_0x522e4e){if(_[_0xbccb('0x9a')](_0x522e4e)||!_[_0xbccb('0x96')](_0x522e4e,[_0xbccb('0x94'),0x0]))return _0x21c679;_0x5d2eb7=[];var _0x51b3be=_(_0x522e4e)[_0xbccb('0x3d')](function(_0x4e8933){if(_0x4e8933[_0xbccb('0x94')]===0x1)return;return _0x4e8933[_0xbccb('0x40')]==='Agents'?_0xbccb('0x92'):_0xbccb('0x3b');})[_0xbccb('0x9b')]()[_0xbccb('0x3e')]();for(var _0x254be=0x0;_0x254be<_0x21c679['length'];_0x254be++){if(!_[_0xbccb('0x5f')](_0x51b3be,_0x21c679[_0x254be][_0xbccb('0x38')]))return;var _0x5b00cd=_0x21c679[_0x254be][_0xbccb('0x38')]===_0xbccb('0x92')?'Agents':_0xbccb('0x99');_0x5d2eb7[_0xbccb('0x60')](db[_0xbccb('0x41')]['create']({'name':_0x21c679[_0x254be][_0xbccb('0x40')],'resourceId':_0x21c679[_0x254be]['id'],'type':_0x5b00cd,'sectionId':_[_0xbccb('0x3f')](_0x522e4e,['name',_0x5b00cd])['id']},{}));}return BPromise[_0xbccb('0x6a')](_0x5d2eb7);});})['then'](respondWithResult(_0x2ba96a,0xc9))[_0xbccb('0x28')](handleError(_0x2ba96a,null));};exports[_0xbccb('0x9c')]=function(_0x44b948,_0x44daac,_0x38d042){if(_0x44b948[_0xbccb('0x6f')]['id']){delete _0x44b948['body']['id'];}return db[_0xbccb('0x45')][_0xbccb('0x3f')]({'where':{'id':_0x44b948[_0xbccb('0x6b')]['id']}})[_0xbccb('0x35')](function(_0x555eb6){if(!_0x555eb6)return null;if(_0x555eb6['id']===_0x44b948[_0xbccb('0x3a')]['id']){if(!_0x44b948['body'][_0xbccb('0x9d')]||!_0x44b948['body'][_0xbccb('0x9e')]){throw new db[(_0xbccb('0x9f'))]['ValidationError'](_0xbccb('0xa0'));}if(!_0x555eb6[_0xbccb('0xa1')](_0x44b948[_0xbccb('0x6f')]['oldPassword'])){throw new db[(_0xbccb('0x9f'))][(_0xbccb('0xa2'))](_0xbccb('0xa3'));}if(_0x44b948[_0xbccb('0x6f')][_0xbccb('0x9d')]===_0x44b948['body']['newPassword']){throw new db[(_0xbccb('0x9f'))]['ValidationError'](_0xbccb('0xa4'));}}else if(_0x44b948[_0xbccb('0x3a')]['role']===_0xbccb('0x39')){if(!_0x44b948[_0xbccb('0x6f')]['newPassword']){throw new db[(_0xbccb('0x9f'))][(_0xbccb('0xa2'))]('Invalid\x20body\x20format.\x20Use\x20newPassword');}}else if(_0x44b948[_0xbccb('0x3a')][_0xbccb('0x38')]===_0xbccb('0x3a')){if(!_0x44b948['body'][_0xbccb('0x9e')]){throw new db[(_0xbccb('0x9f'))][(_0xbccb('0xa2'))](_0xbccb('0xa5'));}if(_0x555eb6[_0xbccb('0x38')]!=='agent'){throw new db[(_0xbccb('0x9f'))]['ValidationError'](_0xbccb('0x8b'));}}else{throw new db['Sequelize'][(_0xbccb('0xa2'))](_0xbccb('0x8b'));}return _0x555eb6;})[_0xbccb('0x35')](handleEntityNotFound(_0x44daac,null))[_0xbccb('0x35')](function(_0xaf0cb9){return db['Setting'][_0xbccb('0xa6')]({'attributes':['id','securePassword',_0xbccb('0xa7'),_0xbccb('0xa8')]})[_0xbccb('0x35')](function(_0x66e01b){if(_0x66e01b[_0xbccb('0xa9')])authService[_0xbccb('0x75')](_0x44b948[_0xbccb('0x6f')][_0xbccb('0x9e')]);if(!_0x66e01b[_0xbccb('0xa7')]||!_0xaf0cb9['previousPasswords'])return _0xaf0cb9;authService[_0xbccb('0xaa')](_0x44b948[_0xbccb('0x6f')]['newPassword'],_0xaf0cb9[_0xbccb('0xab')],_0x66e01b['passwordHistoryLimit']);return _0xaf0cb9;})[_0xbccb('0x35')](saveUpdates({'password':_0x44b948[_0xbccb('0x6f')][_0xbccb('0x9e')],'passwordResetAt':_0x44b948[_0xbccb('0x3a')]['id']==_0x44b948[_0xbccb('0x6b')]['id']?moment():null,'previousPasswords':authService['updatePasswordsHistory'](_0x44b948[_0xbccb('0x6f')][_0xbccb('0x9e')],_0xaf0cb9[_0xbccb('0xab')])},null));})[_0xbccb('0x35')](respondWithResult(_0x44daac,null))[_0xbccb('0x28')](handleError(_0x44daac,null));};exports['addQueues']=function(_0x408312,_0xc7b8e8,_0x29f484){var _0x1488ed=_0x408312[_0xbccb('0x6f')][_0xbccb('0xac')];return db['User'][_0xbccb('0x3f')]({'where':{'id':_0x408312[_0xbccb('0x6b')]['id']},'attributes':['id','name','role',_0xbccb('0xad'),'loginInPause',_0xbccb('0xae'),_0xbccb('0xaf')]})[_0xbccb('0x35')](handleEntityNotFound(_0xc7b8e8,null))[_0xbccb('0x35')](function(_0x440e9e){if(_0x440e9e){if(!utils['isValidChannel'](_0x1488ed)){throw new db[(_0xbccb('0x9f'))]['ValidationError'](_0xbccb('0xb0'));}return _0x440e9e[_0xbccb('0xb1')+_[_0xbccb('0xb2')](_0x1488ed[_0xbccb('0xb3')]())+_0xbccb('0xb4')](_0x408312[_0xbccb('0x6f')][_0xbccb('0x72')],{'penalty':_0x408312[_0xbccb('0x6f')][_0xbccb('0xb5')]||0x0})[_0xbccb('0xb6')](function(_0x41b655){for(var _0x180d69=0x0;_0x180d69<_0x408312[_0xbccb('0x6f')]['ids'][_0xbccb('0x51')];_0x180d69+=0x1){var _0x3fb3af={'UserId':_0x408312[_0xbccb('0x6b')]['id']};_0x3fb3af[_[_0xbccb('0xb2')](_0x1488ed[_0xbccb('0xb3')]())+_0xbccb('0xb7')]=_0x408312['body']['ids'][_0x180d69];socket['emit']('user'+_[_0xbccb('0xb2')](_0x1488ed[_0xbccb('0xb3')]())+_0xbccb('0xb8'),_0x3fb3af);}return _0x41b655;})[_0xbccb('0x35')](function(){if(_0x1488ed===_0xbccb('0xb9')){return db[_0xbccb('0xba')]['findAll']({'where':{'id':_0x408312['body'][_0xbccb('0x72')]||[]},'raw':!![],'attributes':['id','name']});}})[_0xbccb('0x35')](function(_0x1e07ef){var _0x14f1bd=_0x440e9e['get']({'plain':!![]});var _0xf70c2=[];if(_0x1488ed===_0xbccb('0xb9')&&_0x14f1bd['role']===_0xbccb('0x92')&&_0x14f1bd[_0xbccb('0xad')]){for(var _0x55610d=0x0;_0x55610d<_0x1e07ef[_0xbccb('0x51')];_0x55610d+=0x1){_0xf70c2[_0xbccb('0x60')]({'membername':_0x14f1bd[_0xbccb('0x40')],'UserId':_0x14f1bd['id'],'queue_name':_0x1e07ef[_0x55610d][_0xbccb('0x40')],'VoiceQueueId':_0x1e07ef[_0x55610d]['id'],'interface':_['isNil'](_0x14f1bd['interface'])?util[_0xbccb('0xbb')]('SIP/%s',_0x14f1bd[_0xbccb('0x40')]):_0x14f1bd[_0xbccb('0xaf')],'paused':_0x14f1bd[_0xbccb('0xae')]||![],'penalty':_0x408312[_0xbccb('0x6f')]['penalty']||0x0});}return BPromise[_0xbccb('0x98')](_0xf70c2,function(_0x369a95){return db[_0xbccb('0xbc')][_0xbccb('0xbd')](_0x369a95);});}return _0x440e9e;});}})[_0xbccb('0x35')](respondWithStatusCode(_0xc7b8e8,null))[_0xbccb('0x28')](handleError(_0xc7b8e8,null));};exports[_0xbccb('0xbe')]=function(_0xc6414b,_0x119eb2,_0x3b521a){var _0x2d8bd4;return db['User'][_0xbccb('0x3f')]({'where':{'id':_0xc6414b[_0xbccb('0x6b')]['id']},'attributes':['id',_0xbccb('0x40'),_0xbccb('0x38')]})[_0xbccb('0x35')](handleEntityNotFound(_0x119eb2,null))[_0xbccb('0x35')](function(_0x30b337){if(_0x30b337){_0x2d8bd4=_0x30b337;if(!_0xc6414b[_0xbccb('0x4b')][_0xbccb('0xac')]||!utils[_0xbccb('0xbf')](_0xc6414b['query'][_0xbccb('0xac')])){throw new db[(_0xbccb('0x9f'))][(_0xbccb('0xa2'))](_0xbccb('0xb0'));}return _0x30b337[_0xbccb('0xc0')+_[_0xbccb('0xb2')](_0xc6414b[_0xbccb('0x4b')][_0xbccb('0xac')][_0xbccb('0xb3')]())+_0xbccb('0xb4')](_0xc6414b[_0xbccb('0x4b')][_0xbccb('0x72')]);}})[_0xbccb('0x35')](function(_0x5ab0e4){for(var _0x147c66=0x0;_0x147c66<_0xc6414b[_0xbccb('0x4b')][_0xbccb('0x72')][_0xbccb('0x51')];_0x147c66+=0x1){var _0x327986={'UserId':_0xc6414b[_0xbccb('0x6b')]['id']};_0x327986[_[_0xbccb('0xb2')](_0xc6414b[_0xbccb('0x4b')]['channel'][_0xbccb('0xb3')]())+_0xbccb('0xb7')]=_0xc6414b[_0xbccb('0x4b')]['ids'][_0x147c66];socket[_0xbccb('0xc1')](_0xbccb('0x3a')+_[_0xbccb('0xb2')](_0xc6414b[_0xbccb('0x4b')]['channel']['toLowerCase']())+_0xbccb('0xc2'),_0x327986);}return _0x5ab0e4;})[_0xbccb('0x35')](function(){if(_0xc6414b[_0xbccb('0x4b')]['channel']==='voice'){return db['UserVoiceQueueRt'][_0xbccb('0x36')]({'where':{'UserId':_0xc6414b[_0xbccb('0x6b')]['id'],'VoiceQueueId':_0xc6414b[_0xbccb('0x4b')]['ids']},'individualHooks':!![]})[_0xbccb('0x35')](function(){return _0x2d8bd4;});}return _0x2d8bd4;})['then'](respondWithStatusCode(_0x119eb2,null))[_0xbccb('0x28')](handleError(_0x119eb2,null));};exports[_0xbccb('0xc3')]=function(_0x323b1f,_0x453ad8,_0x3b0d40){_0x323b1f[_0xbccb('0x6f')][_0xbccb('0xc4')]=_0x323b1f[_0xbccb('0xc5')][_0xbccb('0xc6')];return db[_0xbccb('0x45')][_0xbccb('0x3f')]({'where':{'id':_0x323b1f[_0xbccb('0x6b')]['id']}})[_0xbccb('0x35')](handleEntityNotFound(_0x453ad8,null))[_0xbccb('0x35')](saveUpdates(_0x323b1f[_0xbccb('0x6f')],null))[_0xbccb('0x35')](respondWithResult(_0x453ad8,null))['catch'](handleError(_0x453ad8,null));};exports[_0xbccb('0xc7')]=function(_0x1326de,_0x56bf63,_0xc55a31){var _0x40fe68=path[_0xbccb('0xc8')](config[_0xbccb('0xc9')],_0xbccb('0xca'));return db['User'][_0xbccb('0x3f')]({'where':{'id':_0x1326de[_0xbccb('0x6b')]['id']},'attributes':['id','userpic'],'raw':!![]})['then'](handleEntityNotFound(_0x56bf63,null))[_0xbccb('0x35')](function(_0x302c26){if(_0x302c26){if(_['isNil'](_0x302c26['userpic'])){return _0x56bf63[_0xbccb('0xcb')](_0x40fe68);}else{if(!fs[_0xbccb('0xcc')](path['join'](config[_0xbccb('0xc9')],_0xbccb('0xcd'),_0x302c26[_0xbccb('0xc4')]))){return _0x56bf63[_0xbccb('0xcb')](_0x40fe68);}return _0x56bf63['download'](path['join'](config[_0xbccb('0xc9')],_0xbccb('0xcd'),_0x302c26[_0xbccb('0xc4')]));}}})[_0xbccb('0x28')](handleError(_0x56bf63,null));};exports['getOpenTabs']=function(_0x5809ea,_0x285830,_0x3da7ab){return db[_0xbccb('0x45')][_0xbccb('0x3f')]({'where':{'id':_0x5809ea[_0xbccb('0x6b')]['id']},'attributes':['id']})[_0xbccb('0x35')](handleEntityNotFound(_0x285830,null))[_0xbccb('0x35')](function(_0x8f7f57){var _0x1e85ec=[];values=_0x8f7f57[_0xbccb('0x65')];_0x1e85ec[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x6d'),_0x8f7f57['dataValues']));_0x1e85ec[_0xbccb('0x60')](get_open_tabs('sms',_0x8f7f57[_0xbccb('0x65')]));_0x1e85ec[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x69'),_0x8f7f57['dataValues']));_0x1e85ec[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x6e'),_0x8f7f57[_0xbccb('0x65')]));_0x1e85ec['push'](get_open_tabs(_0xbccb('0x67'),_0x8f7f57[_0xbccb('0x65')]));_0x1e85ec[_0xbccb('0x60')](get_open_tabs(_0xbccb('0x68'),_0x8f7f57['dataValues']));return BPromise[_0xbccb('0x6a')](_0x1e85ec);})[_0xbccb('0x35')](function(_0x2a784f){var _0x42c4c7=[];if(_0x2a784f){for(var _0x169e0a=0x0;_0x169e0a