Send any friends your have as live guests

This commit is contained in:
Ethan O'Brien 2024-04-15 17:04:03 -05:00
parent d4ae8f7c5c
commit 60f8e96406
4 changed files with 85 additions and 12 deletions

View file

@ -22,9 +22,7 @@ pub fn friend(req: HttpRequest, body: String) -> HttpResponse {
}; };
for (_i, uid) in rv_data.members().enumerate() { for (_i, uid) in rv_data.members().enumerate() {
let mut to_push = global::get_user(uid.as_i64().unwrap()); rv.push(global::get_user(uid.as_i64().unwrap(), &friends)).unwrap();
to_push["status"] = body["status"].clone();
rv.push(to_push).unwrap();
} }
let resp = object!{ let resp = object!{
@ -61,11 +59,13 @@ pub fn recommend(_req: HttpRequest, _body: String) -> HttpResponse {
global::send(resp) global::send(resp)
} }
pub fn search(_req: HttpRequest, body: String) -> HttpResponse { pub fn search(req: HttpRequest, body: String) -> HttpResponse {
let key = global::get_login(req.headers(), &body);
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap(); let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let friends = userdata::get_acc_friends(&key);
let uid = body["user_id"].as_i64().unwrap(); let uid = body["user_id"].as_i64().unwrap();
let user = global::get_user(uid); let user = global::get_user(uid, &friends);
let resp = object!{ let resp = object!{
"code": 0, "code": 0,

View file

@ -160,7 +160,7 @@ fn get_cards(arr: JsonValue, user: &JsonValue) -> JsonValue {
} }
return rv; return rv;
} }
pub fn get_user(id: i64) -> JsonValue { pub fn get_user(id: i64, friends: &JsonValue) -> JsonValue {
let user = userdata::get_acc_from_uid(id); let user = userdata::get_acc_from_uid(id);
if !user["error"].is_empty() { if !user["error"].is_empty() {
return object!{}; return object!{};
@ -191,5 +191,15 @@ pub fn get_user(id: i64) -> JsonValue {
rv["user"].remove("ss_user_id"); rv["user"].remove("ss_user_id");
rv["user"].remove("birthday"); rv["user"].remove("birthday");
rv["status"] = if friends["friend_user_id_list"].contains(id) {
3
} else if friends["pending_user_id_list"].contains(id) {
2
} else if friends["request_user_id_list"].contains(id) {
1
} else {
0
}.into();
rv rv
} }

View file

@ -1,6 +1,5 @@
use json; use json;
use json::object; use json::{object, array, JsonValue};
use json::JsonValue;
use crate::router::global; use crate::router::global;
use crate::encryption; use crate::encryption;
use actix_web::{HttpResponse, HttpRequest}; use actix_web::{HttpResponse, HttpRequest};
@ -19,11 +18,72 @@ pub fn retire(_req: HttpRequest, _body: String) -> HttpResponse {
global::send(resp) global::send(resp)
} }
pub fn guest(_req: HttpRequest, _body: String) -> HttpResponse { pub fn guest(req: HttpRequest, body: String) -> HttpResponse {
let key = global::get_login(req.headers(), &body);
let friends = userdata::get_acc_friends(&key);
let mut guest_list = array![];
if friends["friend_user_id_list"].len() == 0 {
guest_list.push(object!{
"user": {
"name": "A Nice Guest","comment":"Enjoy your live show!",
"exp": 900,
"main_deck_slot": 1,
"favorite_master_card_id": 10010013,
"favorite_card_evolve": 0,
"guest_smile_master_card_id": 10010013,
"guest_cool_master_card_id": 10010013,
"guest_pure_master_card_id": 10010013,
"friend_request_disabled": 1,
"master_title_ids": [3000001,0],
"profile_settings": [1,2,3,4,5,6,7],
"last_login_time": 1708699449
},
"favorite_card": {
"id": 0,
"master_card_id": 10010013,
"exp": 1025,
"skill_exp": 0,
"evolve": []
},
"guest_smile_card": {
"id": 0,
"master_card_id": 10010013,
"exp": 1025,
"skill_exp": 0,
"evolve": []
},
"guest_cool_card": {
"id": 0,
"master_card_id": 10010013,
"exp": 1025,
"skill_exp": 0,
"evolve": []
},
"guest_pure_card": {
"id": 0,
"master_card_id": 10010013,
"exp": 1025,
"skill_exp": 0,
"evolve": []
},
"status":0
}).unwrap();
} else {
for (i, uid) in friends["friend_user_id_list"].members().enumerate() {
if i > 10 {
break;
}
guest_list.push(global::get_user(uid.as_i64().unwrap(), &friends)).unwrap();
}
}
let resp = object!{ let resp = object!{
"code": 0, "code": 0,
"server_time": global::timestamp(), "server_time": global::timestamp(),
"data": {"guest_list":[{"user":{"name":"A Nice Guest","comment":"Enjoy your live show!","exp":900,"main_deck_slot":1,"favorite_master_card_id":10010013,"favorite_card_evolve":0,"guest_smile_master_card_id":10010013,"guest_cool_master_card_id":10010013,"guest_pure_master_card_id":10010013,"friend_request_disabled":1,"master_title_ids":[3000001,0],"profile_settings":[1,2,3,4,5,6,7],"last_login_time":1708699449},"favorite_card":{"id":0,"master_card_id":10010013,"exp":1025,"skill_exp":0,"evolve":[]},"guest_smile_card":{"id":0,"master_card_id":10010013,"exp":1025,"skill_exp":0,"evolve":[]},"guest_cool_card":{"id":0,"master_card_id":10010013,"exp":1025,"skill_exp":0,"evolve":[]},"guest_pure_card":{"id":0,"master_card_id":10010013,"exp":1025,"skill_exp":0,"evolve":[]},"status":0}]} "data": {
"guest_list": guest_list
}
}; };
global::send(resp) global::send(resp)
} }

View file

@ -365,12 +365,15 @@ pub fn migration(_req: HttpRequest, body: String) -> HttpResponse {
global::send(resp) global::send(resp)
} }
pub fn detail(_req: HttpRequest, body: String) -> HttpResponse { pub fn detail(req: HttpRequest, body: String) -> HttpResponse {
let key = global::get_login(req.headers(), &body);
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap(); let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let friends = userdata::get_acc_friends(&key);
let mut user_detail_list = array![]; let mut user_detail_list = array![];
for (_i, data) in body["user_ids"].members().enumerate() { for (_i, data) in body["user_ids"].members().enumerate() {
let uid = data.as_i64().unwrap(); let uid = data.as_i64().unwrap();
let user = global::get_user(uid); let user = global::get_user(uid, &friends);
user_detail_list.push(user).unwrap(); user_detail_list.push(user).unwrap();
} }
let resp = object!{ let resp = object!{