Remove uids store, add friend_request_disabled key

This commit is contained in:
Ethan O'Brien 2024-04-29 11:40:43 -05:00
parent bb420417a7
commit af685fb35f

View file

@ -100,11 +100,6 @@ fn create_token_store() {
token TEXT NOT NULL
)");
}
fn create_uid_store() {
create_store_v2("CREATE TABLE IF NOT EXISTS uids (
user_id BIGINT NOT NULL PRIMARY KEY
)");
}
fn create_migration_store() {
create_store_v2("CREATE TABLE IF NOT EXISTS migration (
token TEXT NOT NULL PRIMARY KEY,
@ -119,7 +114,8 @@ fn create_users_store() {
missions TEXT NOT NULL,
loginbonus TEXT NOT NULL,
sifcards TEXT NOT NULL,
friends TEXT NOT NULL
friends TEXT NOT NULL,
friend_request_disabled INT NOT NULL
)");
}
@ -142,19 +138,17 @@ fn get_key(auth_key: &str) -> i64 {
key
}
fn uid_exists(uid: i64) -> bool {
let data = lock_and_select("SELECT user_id FROM uids WHERE user_id=?1", params!(uid));
let data = lock_and_select("SELECT user_id FROM users WHERE user_id=?1", params!(uid));
data.is_ok()
}
fn generate_uid() -> i64 {
create_uid_store();
let mut rng = rand::thread_rng();
let random_number = rng.gen_range(100_000_000_000_000..=999_999_999_999_999);
//the chances of this...?
if uid_exists(random_number) {
return generate_uid();
}
lock_and_exec("INSERT INTO uids (user_id) VALUES (?1)", params!(random_number));
random_number
}
@ -166,14 +160,15 @@ fn create_acc(uid: i64, login: &str) {
new_user["user"]["id"] = uid.into();
new_user["stamina"]["last_updated_time"] = global::timestamp().into();
lock_and_exec("INSERT INTO users (user_id, userdata, userhome, missions, loginbonus, sifcards, friends) VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7)", params!(
lock_and_exec("INSERT INTO users (user_id, userdata, userhome, missions, loginbonus, sifcards, friends, friend_request_disabled) VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8)", params!(
uid,
json::stringify(new_user),
include_str!("new_user_home.json"),
include_str!("chat_missions.json"),
format!(r#"{{"last_rewarded": 0, "bonus_list": [], "start_time": {}}}"#, global::timestamp()),
"[]",
r#"{"friend_user_id_list":[],"request_user_id_list":[],"pending_user_id_list":[]}"#
r#"{"friend_user_id_list":[],"request_user_id_list":[],"pending_user_id_list":[]}"#,
0
));
create_token_store();
@ -245,6 +240,7 @@ pub fn save_data(auth_key: &str, row: &str, data: JsonValue) {
}
pub fn save_acc(auth_key: &str, data: JsonValue) {
lock_and_exec("UPDATE users SET friend_request_disabled=?1 WHERE user_id=?2", params!(data["user"]["friend_request_disabled"].as_i32().unwrap(), get_key(&auth_key)));
save_data(auth_key, "userdata", data);
}
pub fn save_acc_home(auth_key: &str, data: JsonValue) {
@ -387,7 +383,7 @@ pub fn get_random_uids(count: i32) -> JsonValue {
if count <= 0 {
return array![];
}
lock_and_select_all(&format!("SELECT user_id FROM uids ORDER BY RANDOM() LIMIT {}", count), params!()).unwrap()
lock_and_select_all(&format!("SELECT user_id FROM users WHERE friend_request_disabled=?1 ORDER BY RANDOM() LIMIT {}", count), params!(0)).unwrap()
}
fn create_webui_store() {
@ -440,14 +436,15 @@ pub fn webui_import_user(user: JsonValue) -> Result<JsonValue, String> {
user["sif_cards"] = array![];
}
lock_and_exec("INSERT INTO users (user_id, userdata, userhome, missions, loginbonus, sifcards, friends) VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7)", params!(
lock_and_exec("INSERT INTO users (user_id, userdata, userhome, missions, loginbonus, sifcards, friends, friend_request_disabled) VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8)", params!(
uid,
json::stringify(user["userdata"].clone()),
json::stringify(user["home"].clone()),
json::stringify(user["missions"].clone()),
format!(r#"{{"last_rewarded": 0, "bonus_list": [], "start_time": {}}}"#, global::timestamp()),
json::stringify(user["sif_cards"].clone()),
r#"{"friend_user_id_list":[],"request_user_id_list":[],"pending_user_id_list":[]}"#
r#"{"friend_user_id_list":[],"request_user_id_list":[],"pending_user_id_list":[]}"#,
user["userdata"]["user"]["friend_request_disabled"].as_i32().unwrap()
));
let token;