From 98aed96701deb122f70c2506771c3786dc4f2835 Mon Sep 17 00:00:00 2001
From: Ethan O'Brien <77750390+ethanaobrien@users.noreply.github.com>
Date: Thu, 9 May 2024 16:39:31 -0500
Subject: [PATCH] Organize databases
---
src/router.rs | 1 +
src/router/card.rs | 4 +-
src/router/chat.rs | 33 +--
src/router/clear_rate.rs | 20 +-
src/router/{ => databases}/json/card.json | 0
.../{ => databases}/json/chat_chapter.json | 0
.../{ => databases}/json/chat_room.json | 0
.../{ => databases}/json/exchange_item.json | 0
.../json/exchange_item_reward.json | 0
src/router/{ => databases}/json/item.json | 0
src/router/{ => databases}/json/live.json | 0
.../{ => databases}/json/live_mission.json | 0
.../json/live_mission_combo.json | 0
.../json/live_mission_reward.json | 0
.../{ => databases}/json/login_bonus.json | 0
.../json/login_bonus_reward.json | 0
.../json/login_bonus_reward_setting.json | 0
.../{lottery => databases/json}/lottery.json | 0
.../json}/lottery_item.json | 0
.../json}/lottery_price.json | 0
.../json}/lottery_rarity.json | 0
src/router/{ => databases}/json/mission.json | 0
.../{ => databases}/json/mission_reward.json | 0
.../{ => databases}/json/shop_item.json | 0
src/router/databases/mod.rs | 194 ++++++++++++++++++
src/router/exchange.rs | 28 +--
src/router/items.rs | 22 +-
src/router/live.rs | 64 +-----
src/router/login.rs | 38 +---
src/router/{lottery/mod.rs => lottery.rs} | 74 +------
src/router/mission.rs | 38 +---
src/router/shop.rs | 22 +-
src/router/user.rs | 16 --
33 files changed, 240 insertions(+), 314 deletions(-)
rename src/router/{ => databases}/json/card.json (100%)
rename src/router/{ => databases}/json/chat_chapter.json (100%)
rename src/router/{ => databases}/json/chat_room.json (100%)
rename src/router/{ => databases}/json/exchange_item.json (100%)
rename src/router/{ => databases}/json/exchange_item_reward.json (100%)
rename src/router/{ => databases}/json/item.json (100%)
rename src/router/{ => databases}/json/live.json (100%)
rename src/router/{ => databases}/json/live_mission.json (100%)
rename src/router/{ => databases}/json/live_mission_combo.json (100%)
rename src/router/{ => databases}/json/live_mission_reward.json (100%)
rename src/router/{ => databases}/json/login_bonus.json (100%)
rename src/router/{ => databases}/json/login_bonus_reward.json (100%)
rename src/router/{ => databases}/json/login_bonus_reward_setting.json (100%)
rename src/router/{lottery => databases/json}/lottery.json (100%)
rename src/router/{lottery => databases/json}/lottery_item.json (100%)
rename src/router/{lottery => databases/json}/lottery_price.json (100%)
rename src/router/{lottery => databases/json}/lottery_rarity.json (100%)
rename src/router/{ => databases}/json/mission.json (100%)
rename src/router/{ => databases}/json/mission_reward.json (100%)
rename src/router/{ => databases}/json/shop_item.json (100%)
create mode 100644 src/router/databases/mod.rs
rename src/router/{lottery/mod.rs => lottery.rs} (69%)
diff --git a/src/router.rs b/src/router.rs
index 6cace7b..f21ed87 100644
--- a/src/router.rs
+++ b/src/router.rs
@@ -24,3 +24,4 @@ pub mod webui;
pub mod clear_rate;
pub mod exchange;
pub mod items;
+pub mod databases;
diff --git a/src/router/card.rs b/src/router/card.rs
index d855f91..c3ad7c3 100644
--- a/src/router/card.rs
+++ b/src/router/card.rs
@@ -1,7 +1,7 @@
use json::{object, array, JsonValue};
use actix_web::{HttpResponse, HttpRequest};
-use crate::router::{userdata, global, items};
+use crate::router::{userdata, global, items, databases};
use crate::encryption;
fn do_reinforce(user: &mut JsonValue, body: &JsonValue, exp_id: &str, money_multiplier: i64, evolve: bool) -> JsonValue {
@@ -13,7 +13,7 @@ fn do_reinforce(user: &mut JsonValue, body: &JsonValue, exp_id: &str, money_mult
for (_j, data2) in materials.members().enumerate() {
items::use_item(data2["master_item_id"].as_i64().unwrap(), data2["amount"].as_i64().unwrap(), user);
- let item = items::get_item_info(data2["master_item_id"].as_i64().unwrap());
+ let item = &databases::ITEM_INFO[data2["master_item_id"].to_string()];
if evolve {
card["evolve"] = array![{type: 2,count: 1}];
money = money_multiplier;
diff --git a/src/router/chat.rs b/src/router/chat.rs
index e5e084c..6fdc802 100644
--- a/src/router/chat.rs
+++ b/src/router/chat.rs
@@ -1,41 +1,14 @@
use json::{object, array, JsonValue};
use actix_web::{HttpResponse, HttpRequest};
-use lazy_static::lazy_static;
-use crate::router::{global, items, userdata};
+use crate::router::{global, items, userdata, databases};
use crate::encryption;
-lazy_static! {
- static ref CHATS: JsonValue = {
- let mut chats = object!{};
- let items = json::parse(include_str!("json/chat_room.json")).unwrap();
- for (_i, data) in items.members().enumerate() {
- if chats[data["masterChatId"].to_string()].is_null() {
- chats[data["masterChatId"].to_string()] = object!{};
- }
- chats[data["masterChatId"].to_string()][data["roomId"].to_string()] = data.clone();
- }
- chats
- };
- static ref CHAPTERS: JsonValue = {
- let mut chats = object!{};
- let items = json::parse(include_str!("json/chat_chapter.json")).unwrap();
- for (_i, data) in items.members().enumerate() {
- if chats[data["masterChatId"].to_string()].is_null() {
- chats[data["masterChatId"].to_string()] = object!{};
- }
- chats[data["masterChatId"].to_string()][data["roomId"].to_string()] = data.clone();
- }
- chats
- };
-}
-
-
pub fn add_chat(id: i64, num: i64, chats: &mut JsonValue) {
chats.push(object!{
chat_id: id,
room_id: num,
- chapter_id: CHAPTERS[id.to_string()][num.to_string()]["id"].clone(),
+ chapter_id: databases::CHAPTERS[id.to_string()][num.to_string()]["id"].clone(),
is_read: 0,
created_at: global::timestamp()
}).unwrap();
@@ -47,7 +20,7 @@ pub fn home(req: HttpRequest, body: String) -> HttpResponse {
let mut rooms = array![];
for (_i, data) in chats.members().enumerate() {
- rooms.push(CHATS[data["chat_id"].to_string()][data["room_id"].to_string()]["id"].clone()).unwrap();
+ rooms.push(databases::CHATS[data["chat_id"].to_string()][data["room_id"].to_string()]["id"].clone()).unwrap();
}
let resp = object!{
diff --git a/src/router/clear_rate.rs b/src/router/clear_rate.rs
index f20a913..0cdcbb6 100644
--- a/src/router/clear_rate.rs
+++ b/src/router/clear_rate.rs
@@ -7,10 +7,11 @@ use lazy_static::lazy_static;
use crate::encryption;
use crate::sql::SQLite;
-use crate::router::global;
+use crate::router::{global, databases};
lazy_static! {
static ref DATABASE: SQLite = SQLite::new("live_statistics.db", setup_tables);
+ static ref CACHED_DATA: Mutex