Added user_id property to User, and also did some improvements to it's api.

This commit is contained in:
Relintai 2022-07-22 10:00:07 +02:00
parent fa768d2474
commit 8236c509c8
5 changed files with 56 additions and 39 deletions

View File

@ -39,7 +39,7 @@ Ref<User> UserManagerFile::_get_user_name(const String &user_name) {
Ref<User> u = _users[i];
if (u.is_valid()) {
if (u->get_name_user_input() == user_name) {
if (u->get_user_name() == user_name) {
_rw_lock.read_unlock();
return u;
@ -75,7 +75,7 @@ bool UserManagerFile::_is_username_taken(const String &user_name) {
Ref<User> u = _users[i];
if (u.is_valid()) {
if (u->get_name_user_input() == user_name) {
if (u->get_user_name() == user_name) {
_rw_lock.read_unlock();
return true;
}
@ -91,7 +91,7 @@ bool UserManagerFile::_is_email_taken(const String &email) {
Ref<User> u = _users[i];
if (u.is_valid()) {
if (u->get_email_user_input() == email) {
if (u->get_email() == email) {
_rw_lock.read_unlock();
return true;
}

View File

@ -12,7 +12,7 @@ Ref<User> UserManagerStatic::_get_user_name(const String &user_name) {
Ref<User> u = _users[i];
if (u.is_valid()) {
if (u->get_name_user_input() == user_name) {
if (u->get_user_name() == user_name) {
return u;
}
}
@ -36,7 +36,7 @@ bool UserManagerStatic::_is_username_taken(const String &user_name) {
Ref<User> u = _users[i];
if (u.is_valid()) {
if (u->get_name_user_input() == user_name) {
if (u->get_user_name() == user_name) {
return true;
}
}
@ -49,7 +49,7 @@ bool UserManagerStatic::_is_email_taken(const String &email) {
Ref<User> u = _users[i];
if (u.is_valid()) {
if (u->get_email_user_input() == email) {
if (u->get_email() == email) {
return true;
}
}
@ -106,8 +106,8 @@ void UserManagerStatic::set_create_user_bind(const bool val) {
if (val) {
Ref<User> u = create_user();
u->set_name_user_input(_create_user_name);
u->set_email_user_input(_create_user_email);
u->set_user_name(_create_user_name);
u->set_email(_create_user_email);
u->create_password(_create_user_password);
u->save();

View File

@ -27,7 +27,7 @@ Ref<User> UserDB::get_user_name(const String &user_name) {
Ref<User> u = _users[i];
if (u.is_valid()) {
if (u->get_name_user_input() == user_name) {
if (u->get_user_name() == user_name) {
_lock.read_unlock();
return u;
}
@ -70,7 +70,7 @@ bool UserDB::is_username_taken(const String &user_name) {
Ref<User> u = _users[i];
if (u.is_valid()) {
if (u->get_name_user_input() == user_name) {
if (u->get_user_name() == user_name) {
_lock.read_unlock();
return true;
}
@ -92,7 +92,7 @@ bool UserDB::is_email_taken(const String &email) {
Ref<User> u = _users[i];
if (u.is_valid()) {
if (u->get_email_user_input() == email) {
if (u->get_email() == email) {
_lock.read_unlock();
return true;
}

View File

@ -1,24 +1,31 @@
#include "user.h"
#include "core/class_db.h"
String User::get_name_user_input() const {
return _name_user_input;
int User::get_user_id() const {
return _user_id;
}
void User::set_name_user_input(const String &val) {
_name_user_input = val;
void User::set_user_id(const int val) {
_user_id = val;
}
String User::get_email_user_input() const {
return _email_user_input;
String User::get_user_name() const {
return _user_name;
}
void User::set_email_user_input(const String &val) {
_email_user_input = val;
void User::set_user_name(const String &val) {
_user_name = val;
}
String User::get_email() const {
return _email;
}
void User::set_email(const String &val) {
_email = val;
}
int User::get_rank() const {
return _rank;
}
void User::set_rank(const int &val) {
void User::set_rank(const int val) {
_rank = val;
}
@ -46,7 +53,7 @@ void User::set_password_hash(const String &val) {
bool User::get_banned() const {
return _banned;
}
void User::set_banned(const bool &val) {
void User::set_banned(const bool val) {
_banned = val;
}
@ -60,7 +67,7 @@ void User::set_password_reset_token(const String &val) {
bool User::get_locked() const {
return _locked;
}
void User::set_locked(const bool &val) {
void User::set_locked(const bool val) {
_locked = val;
}
@ -77,10 +84,11 @@ String User::hash_password(const String &p_password) {
bool User::_check_password(const String &p_password) {
return hash_password(p_password) == get_password_hash();
}
void User::_create_password(const String &p_password) {
// todo improve a bit
set_pre_salt(hash_password(get_name_user_input() + get_email_user_input()));
set_post_salt(hash_password(get_email_user_input() + get_name_user_input()));
set_pre_salt(hash_password(get_user_name() + get_email()));
set_post_salt(hash_password(get_email() + get_user_name()));
set_password_hash(hash_password(p_password));
}
@ -107,6 +115,7 @@ void User::write_unlock() {
}
User::User() {
_user_id = -1;
_rank = 0;
_banned = false;
_locked = false;
@ -116,13 +125,17 @@ User::~User() {
}
void User::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_name_user_input"), &User::get_name_user_input);
ClassDB::bind_method(D_METHOD("set_name_user_input", "val"), &User::set_name_user_input);
ADD_PROPERTY(PropertyInfo(Variant::STRING, "name_user_input"), "set_name_user_input", "get_name_user_input");
ClassDB::bind_method(D_METHOD("get_user_id"), &User::get_user_id);
ClassDB::bind_method(D_METHOD("set_user_id", "val"), &User::set_user_id);
ADD_PROPERTY(PropertyInfo(Variant::INT, "user_id"), "set_user_id", "get_user_id");
ClassDB::bind_method(D_METHOD("get_email_user_input"), &User::get_email_user_input);
ClassDB::bind_method(D_METHOD("set_email_user_input", "val"), &User::set_email_user_input);
ADD_PROPERTY(PropertyInfo(Variant::STRING, "email_user_input"), "set_email_user_input", "get_email_user_input");
ClassDB::bind_method(D_METHOD("get_user_name"), &User::get_user_name);
ClassDB::bind_method(D_METHOD("set_user_name", "val"), &User::set_user_name);
ADD_PROPERTY(PropertyInfo(Variant::STRING, "user_name"), "set_user_name", "get_user_name");
ClassDB::bind_method(D_METHOD("get_email"), &User::get_email);
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_rank"), &User::get_rank);
ClassDB::bind_method(D_METHOD("set_rank", "val"), &User::set_rank);

View File

@ -22,14 +22,17 @@ public:
PERMISSION_NONE = 0
};
String get_name_user_input() const;
void set_name_user_input(const String &val);
int get_user_id() const;
void set_user_id(const int val);
String get_email_user_input() const;
void set_email_user_input(const String &val);
String get_user_name() const;
void set_user_name(const String &val);
String get_email() const;
void set_email(const String &val);
int get_rank() const;
void set_rank(const int &val);
void set_rank(const int val);
String get_pre_salt() const;
void set_pre_salt(const String &val);
@ -41,13 +44,13 @@ public:
void set_password_hash(const String &val);
bool get_banned() const;
void set_banned(const bool &val);
void set_banned(const bool val);
String get_password_reset_token() const;
void set_password_reset_token(const String &val);
bool get_locked() const;
void set_locked(const bool &val);
void set_locked(const bool val);
bool check_password(const String &p_password);
void create_password(const String &p_password);
@ -70,8 +73,9 @@ public:
protected:
static void _bind_methods();
String _name_user_input;
String _email_user_input;
int _user_id;
String _user_name;
String _email;
int _rank;
String _pre_salt;
String _post_salt;