From 87899a9362205529da44f7e2f9cd7717067d98a3 Mon Sep 17 00:00:00 2001 From: Ethan O'Brien <77750390+ethanaobrien@users.noreply.github.com> Date: Fri, 26 Apr 2024 20:32:22 -0500 Subject: [PATCH] Cleanup user.home.gift_list on pull --- src/router/home.rs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/router/home.rs b/src/router/home.rs index 8a6acda..2664798 100644 --- a/src/router/home.rs +++ b/src/router/home.rs @@ -1,5 +1,4 @@ -use json; -use json::object; +use json::{object, array}; use crate::router::global; use crate::encryption; use actix_web::{HttpResponse, HttpRequest}; @@ -43,7 +42,18 @@ pub fn preset_get(req: HttpRequest) -> HttpResponse { pub fn home(req: HttpRequest) -> HttpResponse { let key = global::get_login(req.headers(), ""); - let user = userdata::get_acc_home(&key); + let mut user = userdata::get_acc_home(&key); + + let mut to_remove = array![]; + for (j, data) in user["home"]["gift_list"].members().enumerate() { + if data["is_receive"].to_string() == "1" || data["expire_date_time"].as_u64().unwrap() < global::timestamp() { + to_remove.push(j).unwrap(); + } + } + for (i, data) in to_remove.members().enumerate() { + user["home"]["gift_list"].array_remove(data.as_usize().unwrap() - i); + } + userdata::save_acc_home(&key, user.clone()); let resp = object!{ "code": 0,