mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Check for region specific items when sending userdata
This commit is contained in:
parent
53c9f7ea9c
commit
23c09cd4d3
7 changed files with 42 additions and 9 deletions
|
@ -26,6 +26,7 @@ fn unhandled(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn api_req(req: HttpRequest, body: String) -> HttpResponse {
|
fn api_req(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
|
let headers = req.headers().clone();
|
||||||
if !req.path().starts_with("/api") && !req.path().starts_with("/v1.0") {
|
if !req.path().starts_with("/api") && !req.path().starts_with("/v1.0") {
|
||||||
return router::webui::main(req);
|
return router::webui::main(req);
|
||||||
}
|
}
|
||||||
|
@ -120,14 +121,14 @@ fn api_req(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
"server_time": global::timestamp(),
|
"server_time": global::timestamp(),
|
||||||
"data": resp.unwrap()
|
"data": resp.unwrap()
|
||||||
};
|
};
|
||||||
global::send(rv, uid)
|
global::send(rv, uid, &headers)
|
||||||
} else {
|
} else {
|
||||||
let rv = object!{
|
let rv = object!{
|
||||||
"code": 2,//Idontnermemrmemremremermrme
|
"code": 2,//Idontnermemrmemremremermrme
|
||||||
"server_time": global::timestamp(),
|
"server_time": global::timestamp(),
|
||||||
"data": ""
|
"data": ""
|
||||||
};
|
};
|
||||||
global::send(rv, uid)
|
global::send(rv, uid, &headers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ pub fn exchange_post(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||||
|
|
||||||
userdata::save_acc(&key, user.clone());
|
userdata::save_acc(&key, user.clone());
|
||||||
userdata::save_acc_missions(&key, missions);
|
userdata::save_acc_missions(&key, missions);
|
||||||
|
|
||||||
Some(object!{
|
Some(object!{
|
||||||
"exchange": body,
|
"exchange": body,
|
||||||
"updated_value_list": {
|
"updated_value_list": {
|
||||||
|
|
|
@ -8,7 +8,7 @@ use base64::{Engine as _, engine::general_purpose};
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
use crate::encryption;
|
use crate::encryption;
|
||||||
use crate::router::{userdata, gree};
|
use crate::router::{userdata, gree, items};
|
||||||
|
|
||||||
pub const ASSET_VERSION: &str = "5260ff15dff8ba0c00ad91400f515f55";
|
pub const ASSET_VERSION: &str = "5260ff15dff8ba0c00ad91400f515f55";
|
||||||
pub const ASSET_HASH_ANDROID: &str = "d210b28037885f3ef56b8f8aa45ac95b";
|
pub const ASSET_HASH_ANDROID: &str = "d210b28037885f3ef56b8f8aa45ac95b";
|
||||||
|
@ -112,9 +112,13 @@ fn set_time(data: &mut JsonValue, uid: i64) {
|
||||||
data["server_time"] = (server_time + time_since_set).into();
|
data["server_time"] = (server_time + time_since_set).into();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn send(mut data: JsonValue, uid: i64) -> HttpResponse {
|
pub fn send(mut data: JsonValue, uid: i64, headers: &HeaderMap) -> HttpResponse {
|
||||||
//println!("{}", json::stringify(data.clone()));
|
//println!("{}", json::stringify(data.clone()));
|
||||||
set_time(&mut data, uid);
|
set_time(&mut data, uid);
|
||||||
|
|
||||||
|
if !data["data"]["item_list"].is_empty() || !data["data"]["updated_value_list"]["item_list"].is_empty() {
|
||||||
|
items::check_for_region(&mut data, headers);
|
||||||
|
}
|
||||||
|
|
||||||
let encrypted = encryption::encrypt_packet(&json::stringify(data)).unwrap();
|
let encrypted = encryption::encrypt_packet(&json::stringify(data)).unwrap();
|
||||||
let resp = encrypted.into_bytes();
|
let resp = encrypted.into_bytes();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use json::{array, object, JsonValue};
|
use json::{array, object, JsonValue};
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
use actix_web::{HttpRequest};
|
use actix_web::{HttpRequest, http::header::{HeaderMap, HeaderValue}};
|
||||||
use crate::encryption;
|
use crate::encryption;
|
||||||
|
|
||||||
use crate::router::{userdata, global, databases};
|
use crate::router::{userdata, global, databases};
|
||||||
|
@ -24,6 +24,34 @@ pub fn remove_gems(user: &mut JsonValue, amount: i64) {
|
||||||
user["gem"]["total"] = (free + paid).into();
|
user["gem"]["total"] = (free + paid).into();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn get_region(headers: &HeaderMap) -> bool {
|
||||||
|
let blank_header = HeaderValue::from_static("");
|
||||||
|
let asset_version = headers.get("aoharu-asset-version").unwrap_or(&blank_header).to_str().unwrap_or("");
|
||||||
|
asset_version == global::ASSET_VERSION_JP
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn check_for_region(user: &mut JsonValue, headers: &HeaderMap) {
|
||||||
|
let items = if user["data"]["updated_value_list"]["item_list"].is_empty() {user["data"]["item_list"].clone()} else {user["data"]["updated_value_list"]["item_list"].clone()};
|
||||||
|
let is_jp = get_region(headers);
|
||||||
|
if !is_jp || items.is_empty() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let mut id = 0;
|
||||||
|
for (i, data) in items.members().enumerate() {
|
||||||
|
if data["master_item_id"] == 15570008 {
|
||||||
|
id = i + 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if id > 0 {
|
||||||
|
if user["data"]["updated_value_list"]["item_list"].is_empty() {
|
||||||
|
user["data"]["item_list"].array_remove(id - 1);
|
||||||
|
} else {
|
||||||
|
user["data"]["updated_value_list"]["item_list"].array_remove(id - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// true - limit reached
|
// true - limit reached
|
||||||
// false - all good
|
// false - all good
|
||||||
const GIFT_LIMIT: usize = 100000;
|
const GIFT_LIMIT: usize = 100000;
|
||||||
|
|
|
@ -178,7 +178,7 @@ pub fn lottery_post(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||||
|
|
||||||
userdata::save_acc(&key, user.clone());
|
userdata::save_acc(&key, user.clone());
|
||||||
userdata::save_acc_missions(&key, missions);
|
userdata::save_acc_missions(&key, missions);
|
||||||
|
|
||||||
Some(object!{
|
Some(object!{
|
||||||
"lottery_item_list": lottery_list,
|
"lottery_item_list": lottery_list,
|
||||||
"updated_value_list": {
|
"updated_value_list": {
|
||||||
|
|
|
@ -68,7 +68,7 @@ pub fn receive(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||||
|
|
||||||
userdata::save_acc(&key, user.clone());
|
userdata::save_acc(&key, user.clone());
|
||||||
userdata::save_acc_missions(&key, missions.clone());
|
userdata::save_acc_missions(&key, missions.clone());
|
||||||
|
|
||||||
Some(object!{
|
Some(object!{
|
||||||
"reward_list": rewards,
|
"reward_list": rewards,
|
||||||
"updated_value_list": {
|
"updated_value_list": {
|
||||||
|
|
|
@ -89,7 +89,7 @@ pub fn gift(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||||
userdata::save_acc_home(&key, user);
|
userdata::save_acc_home(&key, user);
|
||||||
userdata::save_acc(&key, userr.clone());
|
userdata::save_acc(&key, userr.clone());
|
||||||
let userr = userdata::get_acc(&key);
|
let userr = userdata::get_acc(&key);
|
||||||
|
|
||||||
Some(object!{
|
Some(object!{
|
||||||
"failed_gift_ids": failed,
|
"failed_gift_ids": failed,
|
||||||
"updated_value_list": {
|
"updated_value_list": {
|
||||||
|
|
Loading…
Add table
Reference in a new issue