Split giant router api function mess

This commit is contained in:
Ethan O'Brien
2026-06-11 15:47:03 -05:00
parent df83adf710
commit e631b34945
24 changed files with 701 additions and 555 deletions

View File

@@ -1,15 +1,21 @@
use jzon::{object, array, JsonValue};
use actix_web::{HttpRequest};
use actix_web::{web, HttpRequest, Responder};
use crate::router::{global, userdata, items, databases};
pub fn dummy(req: HttpRequest, body: String) -> Option<JsonValue> {
pub fn routes(cfg: &mut web::ServiceConfig) {
cfg.route("/dummy/login", web::post().to(dummy));
cfg.route("/login_bonus", web::post().to(bonus));
cfg.route("/login_bonus/event", web::post().to(bonus_event));
}
async fn dummy(req: HttpRequest, body: String) -> impl Responder {
let key = global::get_login(req.headers(), &body);
let user = userdata::get_acc(&key);
Some(object!{
global::api(&req, Some(object!{
"user_id": user["user"]["id"].clone()
})
}))
}
pub fn get_login_bonus_info(id: i64) -> JsonValue {
@@ -47,7 +53,7 @@ fn do_bonus(user_home: &mut JsonValue, bonuses: &mut JsonValue) -> JsonValue {
to_send
}
pub fn bonus(req: HttpRequest, body: String) -> Option<JsonValue> {
async fn bonus(req: HttpRequest, body: String) -> impl Responder {
let key = global::get_login(req.headers(), &body);
let mut user_home = userdata::get_acc_home(&key);
let mut user_missions = userdata::get_acc_missions(&key);
@@ -67,14 +73,14 @@ pub fn bonus(req: HttpRequest, body: String) -> Option<JsonValue> {
userdata::save_acc_loginbonus(&key, bonuses.clone());
userdata::save_acc_home(&key, user_home.clone());
Some(object!{
global::api(&req, Some(object!{
"login_bonus_list": to_send,
"start_time": bonuses["start_time"].clone(),
"clear_mission_ids": cleared_missions
})
}))
}
pub fn bonus_event(req: HttpRequest, body: String) -> Option<JsonValue> {
async fn bonus_event(req: HttpRequest, body: String) -> impl Responder {
let key = global::get_login(req.headers(), &body);
let mut user_home = userdata::get_acc_home(&key);
@@ -87,9 +93,9 @@ pub fn bonus_event(req: HttpRequest, body: String) -> Option<JsonValue> {
userdata::save_acc_eventlogin(&key, bonuses.clone());
userdata::save_acc_home(&key, user_home.clone());
Some(object!{
global::api(&req, Some(object!{
"login_bonus_list": to_send,
"start_time": bonuses["start_time"].clone(),
"clear_mission_ids": []
})
}))
}