Rewrote frontend download download function to make use of forked processes. This means that the download runs in full async (essentially in a separate thread). Updated the discord wrapper to be more dynamic. Updated auth manager to use async/await.
This commit is contained in:
@@ -1,25 +1,30 @@
|
||||
const ConfigManager = require('./configmanager.js')
|
||||
const Mojang = require('./mojang.js')
|
||||
|
||||
exports.addAccount = function(username, password){
|
||||
return new Promise(async function(resolve, reject){
|
||||
const session = await Mojang.authenticate(username, password, ConfigManager.getClientToken)
|
||||
const ret = ConfigManager.addAuthAccount(session.selectedProfile.id, session.accessToken, username, session.selectedProfile.name)
|
||||
ConfigManager.save()
|
||||
resolve(ret)
|
||||
})
|
||||
exports.addAccount = async function(username, password){
|
||||
const session = await Mojang.authenticate(username, password, ConfigManager.getClientToken)
|
||||
const ret = ConfigManager.addAuthAccount(session.selectedProfile.id, session.accessToken, username, session.selectedProfile.name)
|
||||
ConfigManager.save()
|
||||
return ret
|
||||
}
|
||||
|
||||
exports.validateSelected = function(){
|
||||
return new Promise(async function(resolve, reject){
|
||||
const current = ConfigManager.getSelectedAccount()
|
||||
if(!await Mojang.validate(current.accessToken, ConfigManager.getClientToken)){
|
||||
const session = Mojang.refresh(current.accessToken, ConfigManager.getClientToken)
|
||||
const ret = ConfigManager.updateAuthAccount(current.uuid, session.accessToken)
|
||||
exports.validateSelected = async function(){
|
||||
const current = ConfigManager.getSelectedAccount()
|
||||
const isValid = await Mojang.validate(current.accessToken, ConfigManager.getClientToken())
|
||||
console.log(isValid)
|
||||
if(!isValid){
|
||||
try {
|
||||
const session = await Mojang.refresh(current.accessToken, ConfigManager.getClientToken())
|
||||
console.log('ses', session)
|
||||
ConfigManager.updateAuthAccount(current.uuid, session.accessToken)
|
||||
ConfigManager.save()
|
||||
resolve(ret)
|
||||
} else {
|
||||
resolve(current)
|
||||
} catch(err) {
|
||||
if(err && err.message === 'ForbiddenOperationException'){
|
||||
return false
|
||||
}
|
||||
}
|
||||
})
|
||||
return true
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user