Added internal user name and email support for Users.

This commit is contained in:
Relintai 2025-05-11 19:51:34 +02:00
parent 56c05fe5d5
commit 034a1b4e1a
2 changed files with 29 additions and 0 deletions

View File

@ -49,6 +49,11 @@ String User::get_user_name() const {
}
void User::set_user_name(const String &val) {
_user_name = val;
_user_name_internal = string_to_internal_format(_user_name);
}
String User::get_user_name_internal() const {
return _user_name_internal;
}
String User::get_email() const {
@ -56,6 +61,11 @@ String User::get_email() const {
}
void User::set_email(const String &val) {
_email = val;
_email_internal = string_to_internal_format(_email);
}
String User::get_email_internal() const {
return _email_internal;
}
int User::get_rank() const {
@ -350,6 +360,10 @@ void User::set_owner_user_manager_bind(Node *p_user_manager) {
set_owner_user_manager(Object::cast_to<UserManager>(p_user_manager));
}
String User::string_to_internal_format(const String &p_str) {
return p_str.strip_edges().to_lower();
}
User::User() {
_user_id = -1;
_rank = 0;
@ -381,6 +395,9 @@ void User::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_email", "val"), &User::set_email);
ADD_PROPERTY(PropertyInfo(Variant::STRING, "email"), "set_email", "get_email");
ClassDB::bind_method(D_METHOD("get_user_name_internal"), &User::get_user_name_internal);
ClassDB::bind_method(D_METHOD("get_email_internal"), &User::get_email_internal);
ClassDB::bind_method(D_METHOD("get_rank"), &User::get_rank);
ClassDB::bind_method(D_METHOD("set_rank", "val"), &User::set_rank);
ADD_PROPERTY(PropertyInfo(Variant::INT, "rank"), "set_rank", "get_rank");
@ -453,4 +470,6 @@ void User::_bind_methods() {
// No property. Changing this should not really happen normally, only during more advanced uses.
ClassDB::bind_method(D_METHOD("get_owner_user_manager"), &User::get_owner_user_manager);
ClassDB::bind_method(D_METHOD("set_owner_user_manager", "user_manager"), &User::set_owner_user_manager_bind);
ClassDB::bind_method(D_METHOD("string_to_internal_format", "str"), &User::string_to_internal_format_bind);
}

View File

@ -49,9 +49,11 @@ public:
String get_user_name() const;
void set_user_name(const String &val);
String get_user_name_internal() const;
String get_email() const;
void set_email(const String &val);
String get_email_internal() const;
int get_rank() const;
void set_rank(const int val);
@ -113,6 +115,11 @@ public:
void set_owner_user_manager(UserManager *p_user_manager);
void set_owner_user_manager_bind(Node *p_user_manager);
static String string_to_internal_format(const String &p_str);
String string_to_internal_format_bind(const String &p_str) const {
return string_to_internal_format(p_str);
}
User();
~User();
@ -130,6 +137,9 @@ protected:
String _password_reset_token;
bool _locked;
String _user_name_internal;
String _email_internal;
Vector<Ref<UserModule>> _modules;
RWLock _rw_lock;