Manages the [User]s of your application.
Manages the [User]s of your application.
If register_as_global is true it will register itself when entering the tree as the global instance accessible behind [UserDB]'s api.
Please note that only one instance can be set as global at a time.
Creates a and sets up a [User] suitable to the application's and [UserManager] backend's needs.
[method create_user] calls this.
The [code]user[/code] parameter allows for setting up classes that inherit from [User].
This is the method where [UserModule]s that the application always expects to be present should be set up.
Example:
[code]func _create_user(user: User) -> User:
if !user:
user = InheritedUser.new()
var um : SomeUserModule = SomeUserModule.new()
um.module_name = "SomeUserModule"
user.add_module(um)
# Only needed if the default implementation is not called
#user.set_owner_user_manager(self)
return ._create_user(user)[/code]
Returns all users.
[method get_all_users] calls this.
Returns the [User] which have the given id or null if it doens't exists.
[method get_user] calls this.
Returns the [User] which have the given email or null if it doens't exists.
[method get_user_email] calls this.
Returns the [User] which have the given user_name or null if it doens't exists.
[method get_user_name] calls this.
Returns whether an email is taken or not.
[method is_email_taken] calls this.
Returns whether a user name is taken or not.
[method is_username_taken] calls this.
Save the [User].
[method save_user] calls this.
Create a [User].
Calls [method _create_user].
Returns all users.
Calls [method _get_all_users].
Returns the [User] which have the given id or null if it doens't exists.
Calls [method _get_user].
Returns the [User] which have the given email or null if it doens't exists.
Calls [method _get_user_email].
Returns the [User] which have the given user_name or null if it doens't exists.
Calls [method _get_user_name].
Returns whether an email is taken or not.
Calls [method _is_email_taken].
Returns whether a user name is taken or not.
Calls [method _is_username_taken].
Save the [User].
Calls [method _save_user].
If true this UserManager will register itself when entering the tree as the global instance accessible behind [UsereDB]'s api.
Please note that only one instance can be set as global at a time.