use json; use json::object; use crate::router::global; use crate::encryption; use actix_web::{HttpResponse, HttpRequest}; use crate::router::userdata; pub fn preset(req: HttpRequest, body: String) -> HttpResponse { let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap(); let key = global::get_login(req.headers()); let mut user = userdata::get_acc_home(&key); for (_i, data) in user["home"]["preset_setting"].members_mut().enumerate() { if data["slot"].to_string() == body["slot"].to_string() { *data = body.clone(); } } userdata::save_acc_home(&key, user); let resp = object!{ "code": 0, "server_time": global::timestamp(), "data": [] }; global::send(resp) } pub fn preset_get(req: HttpRequest) -> HttpResponse { let key = global::get_login(req.headers()); let user = userdata::get_acc(&key); let resp = object!{ "code": 0, "server_time": global::timestamp(), "data": { "master_preset_background_ids": [1,2,3,4,5], "master_preset_foreground_ids": [1,2,3], "card_list": user["card_list"].clone() } }; global::send(resp) } pub fn home(req: HttpRequest) -> HttpResponse { let key = global::get_login(req.headers()); let user = userdata::get_acc_home(&key); let resp = object!{ "code": 0, "server_time": global::timestamp(), "data": user }; global::send(resp) }