' needed for SignOut() and ServerInfo()
import "pkg:/source/api/ApiClient.bs"
import "pkg:/source/utils/misc.bs"
import "pkg:/source/utils/session.bs"
function get_token(username as string, password as string)
json = GetApi().AuthenticateByName(username, password)
if not isValid(json) then return invalid
userdata = CreateObject("roSGNode", "UserData")
userdata.json = json
userdata.callFunc("saveToRegistry")
return userdata
end function
function AboutMe(id = "" as string)
if id = ""
globalUser = m.global.user
if isValid(globalUser.id) and globalUser.id <> ""
id = globalUser.id
else
return invalid
end if
end if
return GetApi().GetUser(id)
end function
sub SignOut(deleteSavedEntry = true as boolean)
if deleteSavedEntry
unset_user_setting("authToken")
unset_user_setting("username")
end if
unset_setting("active_user")
user.Logout()
m.global.sceneManager.currentUser = ""
group = m.global.sceneManager.callFunc("getActiveScene")
group.optionsAvailable = false
end sub
function AvailableUsers()
users = parseJson(get_setting("available_users", "[]"))
return users
end function
function ServerInfo()
return server.Discover()
end function
function GetPublicUsers()
return GetApi().GetPublicUsers()
end function
function initQuickConnect()
jsonResponse = GetApi().InitiateQuickConnect()
if not isValid(jsonResponse)
return invalid
end if
if not isValid(jsonResponse.Secret)
return invalid
end if
return jsonResponse
end function
function checkQuickConnect(secret)
jsonResponse = GetApi().ConnectQuickConnect(secret)
if not isValid(jsonResponse)
return false
end if
if isValid(jsonResponse.Authenticated) and jsonResponse.Authenticated = true
return true
end if
return false
end function
function AuthenticateViaQuickConnect(secret)
jsonResponse = GetApi().AuthenticateWithQuickConnect(secret)
if isValid(jsonResponse) and isValid(jsonResponse.AccessToken) and isValid(jsonResponse.User)
globalUser = m.global.user
userdata = CreateObject("roSGNode", "UserData")
userdata.json = jsonResponse
globalUser.id = jsonResponse.User.Id
globalUser.authToken = jsonResponse.AccessToken
userdata.callFunc("saveToRegistry")
return true
end if
return false
end function