mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Compress included files to conserve disk space
This commit is contained in:
parent
98aed96701
commit
c2db9c6407
7 changed files with 62 additions and 34 deletions
|
@ -22,3 +22,5 @@ uuid = { version = "1.8.0", features = ["v7"] }
|
|||
rsa = "0.9.6"
|
||||
mime = "0.3.17"
|
||||
sha2 = "0.10.8"
|
||||
include-flate-codegen = "0.3.0"
|
||||
libflate = "2.1.0"
|
||||
|
|
25
src/main.rs
25
src/main.rs
|
@ -140,13 +140,13 @@ async fn request(req: HttpRequest, body: String) -> HttpResponse {
|
|||
async fn css(_req: HttpRequest) -> HttpResponse {
|
||||
HttpResponse::Ok()
|
||||
.insert_header(ContentType(mime::TEXT_CSS))
|
||||
.body(include_str!("../webui/dist/index.css"))
|
||||
.body(include_file!("webui/dist/index.css"))
|
||||
}
|
||||
#[get("/index.js")]
|
||||
async fn js(_req: HttpRequest) -> HttpResponse {
|
||||
HttpResponse::Ok()
|
||||
.insert_header(ContentType(mime::APPLICATION_JAVASCRIPT_UTF_8))
|
||||
.body(include_str!("../webui/dist/index.js"))
|
||||
.body(include_file!("webui/dist/index.js"))
|
||||
}
|
||||
|
||||
#[actix_web::main]
|
||||
|
@ -164,3 +164,24 @@ async fn main() -> std::io::Result<()> {
|
|||
println!("Server started: http://127.0.0.1:{}", 8080);
|
||||
rv.await
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! include_file {
|
||||
( $s:expr ) => {
|
||||
{
|
||||
let file = include_flate_codegen::deflate_file!($s);
|
||||
let ret = crate::decode(file);
|
||||
std::string::String::from_utf8(ret).unwrap()
|
||||
}
|
||||
};
|
||||
}
|
||||
pub fn decode(bytes: &[u8]) -> Vec<u8> {
|
||||
use std::io::{Cursor, Read};
|
||||
|
||||
let mut dec = libflate::deflate::Decoder::new(Cursor::new(bytes));
|
||||
let mut ret = Vec::new();
|
||||
dec.read_to_end(&mut ret).unwrap();
|
||||
ret
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
use json::{array, object, JsonValue};
|
||||
use lazy_static::lazy_static;
|
||||
|
||||
use crate::include_file;
|
||||
|
||||
lazy_static! {
|
||||
pub static ref LOGIN_REWARDS: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/login_bonus_reward.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/login_bonus_reward.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -12,7 +14,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref SHOP_INFO: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/shop_item.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/shop_item.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -20,7 +22,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref CHATS: JsonValue = {
|
||||
let mut chats = object!{};
|
||||
let items = json::parse(include_str!("json/chat_room.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/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!{};
|
||||
|
@ -31,7 +33,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref CHAPTERS: JsonValue = {
|
||||
let mut chats = object!{};
|
||||
let items = json::parse(include_str!("json/chat_chapter.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/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!{};
|
||||
|
@ -42,7 +44,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref EXCHANGE_LIST: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/exchange_item.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/exchange_item.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -50,7 +52,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref EXCHANGE_REWARD: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/exchange_item_reward.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/exchange_item_reward.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -58,18 +60,18 @@ lazy_static! {
|
|||
};
|
||||
pub static ref LIVE_LIST: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/live.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/live.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
info
|
||||
};
|
||||
pub static ref MISSION_DATA: JsonValue = {
|
||||
json::parse(include_str!("json/live_mission.json")).unwrap()
|
||||
json::parse(&include_file!("src/router/databases/json/live_mission.json")).unwrap()
|
||||
};
|
||||
pub static ref MISSION_COMBO_DATA: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/live_mission_combo.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/live_mission_combo.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["masterMusicId"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -77,7 +79,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref MISSION_REWARD_DATA: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/live_mission_reward.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/live_mission_reward.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -85,7 +87,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref CARD_LIST: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/card.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/card.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -93,7 +95,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref LOTTERY_INFO: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/login_bonus.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/login_bonus.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
if info[data["id"].to_string()].is_null() {
|
||||
info[data["id"].to_string()] = object!{
|
||||
|
@ -102,7 +104,7 @@ lazy_static! {
|
|||
};
|
||||
}
|
||||
}
|
||||
let days = json::parse(include_str!("json/login_bonus_reward_setting.json")).unwrap();
|
||||
let days = json::parse(&include_file!("src/router/databases/json/login_bonus_reward_setting.json")).unwrap();
|
||||
for (_i, data) in days.members().enumerate() {
|
||||
if info[data["masterLoginBonusId"].to_string()].is_null() {
|
||||
continue;
|
||||
|
@ -117,7 +119,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref CARDS: JsonValue = {
|
||||
let mut cardz = object!{};
|
||||
let items = json::parse(include_str!("json/lottery_item.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/lottery_item.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
if cardz[data["id"].to_string()].is_null() {
|
||||
cardz[data["id"].to_string()] = object!{};
|
||||
|
@ -128,7 +130,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref POOL: JsonValue = {
|
||||
let mut cardz = object!{};
|
||||
let items = json::parse(include_str!("json/lottery_item.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/lottery_item.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
if cardz[data["id"].to_string()].is_null() {
|
||||
cardz[data["id"].to_string()] = array![];
|
||||
|
@ -139,7 +141,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref RARITY: JsonValue = {
|
||||
let mut cardz = object!{};
|
||||
let items = json::parse(include_str!("json/lottery_rarity.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/lottery_rarity.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
if cardz[data["id"].to_string()].is_null() {
|
||||
cardz[data["id"].to_string()] = array![];
|
||||
|
@ -150,7 +152,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref LOTTERY: JsonValue = {
|
||||
let mut cardz = object!{};
|
||||
let items = json::parse(include_str!("json/lottery.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/lottery.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
cardz[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -158,7 +160,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref PRICE: JsonValue = {
|
||||
let mut cardz = object!{};
|
||||
let items = json::parse(include_str!("json/lottery_price.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/lottery_price.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
if cardz[data["id"].to_string()].is_null() {
|
||||
cardz[data["id"].to_string()] = object!{};
|
||||
|
@ -169,7 +171,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref MISSION_LIST: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/mission.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/mission.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -177,7 +179,7 @@ lazy_static! {
|
|||
};
|
||||
pub static ref MISSION_REWARD: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/mission_reward.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/mission_reward.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
|
@ -185,10 +187,13 @@ lazy_static! {
|
|||
};
|
||||
pub static ref ITEM_INFO: JsonValue = {
|
||||
let mut info = object!{};
|
||||
let items = json::parse(include_str!("json/item.json")).unwrap();
|
||||
let items = json::parse(&include_file!("src/router/databases/json/item.json")).unwrap();
|
||||
for (_i, data) in items.members().enumerate() {
|
||||
info[data["id"].to_string()] = data.clone();
|
||||
}
|
||||
info
|
||||
};
|
||||
pub static ref RANKS: JsonValue = {
|
||||
json::parse(&include_file!("src/router/databases/json/user_rank.json")).unwrap()
|
||||
};
|
||||
}
|
||||
|
|
|
@ -259,14 +259,12 @@ pub fn give_character(id: String, user: &mut JsonValue, missions: &mut JsonValue
|
|||
}
|
||||
|
||||
pub fn get_user_rank_data(exp: i64) -> JsonValue {
|
||||
let ranks = json::parse(include_str!("userdata/user_rank.json")).unwrap();
|
||||
|
||||
for (i, rank) in ranks.members().enumerate() {
|
||||
for (i, rank) in databases::RANKS.members().enumerate() {
|
||||
if exp < rank["exp"].as_i64().unwrap() {
|
||||
return ranks[i - 1].clone();
|
||||
return databases::RANKS[i - 1].clone();
|
||||
}
|
||||
}
|
||||
return ranks[ranks.len() - 1].clone();
|
||||
return databases::RANKS[databases::RANKS.len() - 1].clone();
|
||||
}
|
||||
|
||||
pub fn give_exp(amount: i32, user: &mut JsonValue, mission: &mut JsonValue, rv: &mut JsonValue) {
|
||||
|
|
|
@ -8,11 +8,12 @@ use base64::{Engine as _, engine::general_purpose};
|
|||
use crate::router::global;
|
||||
use crate::router::items;
|
||||
use crate::sql::SQLite;
|
||||
use crate::include_file;
|
||||
|
||||
lazy_static! {
|
||||
static ref DATABASE: SQLite = SQLite::new("userdata.db", setup_tables);
|
||||
static ref NEW_USER: JsonValue = {
|
||||
json::parse(include_str!("new_user.json")).unwrap()
|
||||
json::parse(&include_file!("src/router/userdata/new_user.json")).unwrap()
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -110,11 +111,11 @@ fn add_user_to_database(uid: i64, user: JsonValue, user_home: JsonValue, user_mi
|
|||
));
|
||||
DATABASE.lock_and_exec("INSERT INTO userhome (user_id, userhome) VALUES (?1, ?2)", params!(
|
||||
uid,
|
||||
if user_home.is_empty() {include_str!("new_user_home.json")} else {&home}
|
||||
if user_home.is_empty() {include_file!("src/router/userdata/new_user_home.json")} else {home}
|
||||
));
|
||||
DATABASE.lock_and_exec("INSERT INTO missions (user_id, missions) VALUES (?1, ?2)", params!(
|
||||
uid,
|
||||
if user_missions.is_empty() {include_str!("missions.json")} else {&missions}
|
||||
if user_missions.is_empty() {include_file!("src/router/userdata/missions.json")} else {missions}
|
||||
));
|
||||
DATABASE.lock_and_exec("INSERT INTO loginbonus (user_id, loginbonus) VALUES (?1, ?2)", params!(
|
||||
uid,
|
||||
|
@ -130,7 +131,7 @@ fn add_user_to_database(uid: i64, user: JsonValue, user_home: JsonValue, user_mi
|
|||
));
|
||||
DATABASE.lock_and_exec("INSERT INTO event (user_id, event) VALUES (?1, ?2)", params!(
|
||||
uid,
|
||||
include_str!("new_user_event.json")
|
||||
include_file!("src/router/userdata/new_user_event.json")
|
||||
));
|
||||
DATABASE.lock_and_exec("INSERT INTO eventloginbonus (user_id, eventloginbonus) VALUES (?1, ?2)", params!(
|
||||
uid,
|
||||
|
@ -248,7 +249,7 @@ pub fn get_acc_chats(auth_key: &str) -> JsonValue {
|
|||
pub fn get_acc_event(auth_key: &str) -> JsonValue {
|
||||
let event = get_data(auth_key, "event");
|
||||
if event.is_empty() {
|
||||
return json::parse(include_str!("new_user_event.json")).unwrap();
|
||||
return json::parse(&include_file!("src/router/userdata/new_user_event.json")).unwrap();
|
||||
}
|
||||
event
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ use actix_web::{
|
|||
};
|
||||
use json::object;
|
||||
|
||||
use crate::include_file;
|
||||
use crate::router::{userdata, items};
|
||||
|
||||
fn get_login_token(req: &HttpRequest) -> Option<String> {
|
||||
|
@ -148,5 +149,5 @@ pub fn main(req: HttpRequest) -> HttpResponse {
|
|||
}
|
||||
HttpResponse::Ok()
|
||||
.insert_header(ContentType::html())
|
||||
.body(include_str!("../../webui/dist/index.html"))
|
||||
.body(include_file!("webui/dist/index.html"))
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue