pokepurple/addons/twitcher/lib/oOuch/oauth_scopes.gd

32 lines
723 B
GDScript3
Raw Permalink Normal View History

@icon("./scope-icon.svg")
@tool
extends Resource
## Contains the information about a set of scopes.
class_name OAuthScopes
## Called when new scopes was added or removed
signal scopes_changed
@export var used_scopes: Array[StringName] = []:
set(val):
used_scopes = val;
scopes_changed.emit()
## Returns the scopes space separated
func ssv_scopes() -> String:
return " ".join(used_scopes)
func add_scopes(scopes: Array[StringName]) -> void:
for scope in scopes:
if used_scopes.find(scope) != -1: continue
used_scopes.append(scope)
scopes_changed.emit()
func remove_scopes(scopes: Array[StringName]) -> void:
used_scopes = used_scopes.filter(func(s): return scopes.find(s) != -1)
scopes_changed.emit()