Modify auth to work with jp

Though idk if it works long term yet
This commit is contained in:
Ethan O'Brien 2024-03-28 11:11:19 -05:00
parent f256c9a1f7
commit 94f84930c2
11 changed files with 53 additions and 64 deletions

View file

@ -2,13 +2,12 @@ use json;
use json::object;
use crate::router::global;
//use crate::encryption;
use actix_web::{HttpResponse, HttpRequest, http::header::HeaderValue};
use actix_web::{HttpResponse, HttpRequest};
use crate::router::userdata;
pub fn home(req: HttpRequest, _body: String) -> HttpResponse {
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let user = userdata::get_acc(key);
let key = global::get_login(req.headers());
let user = userdata::get_acc(&key);
let id = user["user"]["favorite_master_card_id"].as_i64().unwrap() / 10000;

View file

@ -7,9 +7,8 @@ use actix_web::{HttpResponse, HttpRequest};
pub fn friend(_req: HttpRequest, _body: String) -> HttpResponse {
/*let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let uid = req.headers().get("aoharu-user-id").unwrap_or(&blank_header).to_str().unwrap_or("");
let user = userdata::get_acc(key, uid);*/
let key = global::get_login(req.headers());
let user = userdata::get_acc(&key, uid);*/
let resp = object!{
"code": 0,

View file

@ -9,6 +9,12 @@ use std::time::{SystemTime, UNIX_EPOCH};
pub const ASSET_VERSION: &str = "13177023d4b7ad41ff52af4cefba5c55";
pub const ASSET_HASH: &str = "9fbfeda43a5cbf744ef23c06c22170aa";
pub fn get_login(headers: &HeaderMap) -> String {
let blank_header = HeaderValue::from_static("");
let key = headers.get("f19c72ba").unwrap_or(&blank_header).to_str().unwrap_or("");
key.to_string()
}
pub fn timestamp() -> u64 {
let now = SystemTime::now();

View file

@ -1,13 +1,12 @@
use json;
use json::object;
use crate::router::global;
use actix_web::{HttpResponse, HttpRequest, http::header::HeaderValue};
use actix_web::{HttpResponse, HttpRequest};
use crate::router::userdata;
pub fn home(req: HttpRequest) -> HttpResponse {
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let user = userdata::get_acc_home(key);
let key = global::get_login(req.headers());
let user = userdata::get_acc_home(&key);
let resp = object!{
"code": 0,

View file

@ -2,7 +2,7 @@ use json;
use json::object;
use crate::router::global;
use crate::encryption;
use actix_web::{HttpResponse, HttpRequest, http::header::HeaderValue};
use actix_web::{HttpResponse, HttpRequest};
use crate::router::userdata;
pub fn retire(_req: HttpRequest, _body: String) -> HttpResponse {
@ -40,10 +40,9 @@ pub fn start(_req: HttpRequest, _body: String) -> HttpResponse {
pub fn end(req: HttpRequest, body: String) -> HttpResponse {
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let user2 = userdata::get_acc_home(key);
let mut user = userdata::get_acc(key);
let key = global::get_login(req.headers());
let user2 = userdata::get_acc_home(&key);
let mut user = userdata::get_acc(&key);
user["stamina"]["stamina"] = (user["stamina"]["stamina"].as_i32().unwrap() - body["use_lp"].as_i32().unwrap()).into();
if user["stamina"]["stamina"].as_i32().unwrap() < 0 {
@ -51,7 +50,7 @@ pub fn end(req: HttpRequest, body: String) -> HttpResponse {
}
user["stamina"]["last_updated_time"] = global::timestamp().into();
userdata::save_acc(key, user.clone());
userdata::save_acc(&key, user.clone());
let resp = object!{
"code": 0,

View file

@ -2,18 +2,17 @@ use json;
use json::object;
use crate::router::global;
//use crate::encryption;
use actix_web::{HttpResponse, HttpRequest, http::header::HeaderValue};
use actix_web::{HttpResponse, HttpRequest};
use crate::router::userdata;
//First time login handler
pub fn dummy(req: HttpRequest, _body: String) -> HttpResponse {
//let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let mut user = userdata::get_acc(key);
let key = global::get_login(req.headers());
let mut user = userdata::get_acc(&key);
user["user"]["last_login_time"] = global::timestamp().into();
userdata::save_acc(key, user.clone());
userdata::save_acc(&key, user.clone());
println!("Signin from uid: {}", user["user"]["id"].clone());
let resp = object!{
@ -28,9 +27,8 @@ pub fn dummy(req: HttpRequest, _body: String) -> HttpResponse {
pub fn bonus(req: HttpRequest, _body: String) -> HttpResponse {
//let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let user = userdata::get_acc_home(key);
let key = global::get_login(req.headers());
let user = userdata::get_acc_home(&key);
let resp = object!{
"code": 0,

View file

@ -2,7 +2,7 @@ use json;
use json::{array, object, JsonValue};
use crate::router::global;
use crate::encryption;
use actix_web::{HttpResponse, HttpRequest, http::header::HeaderValue};
use actix_web::{HttpResponse, HttpRequest};
use crate::router::userdata;
use lazy_static::lazy_static;
@ -88,10 +88,9 @@ fn get_random_cards(_count: i32) -> JsonValue {
pub fn lottery(req: HttpRequest, body: String) -> HttpResponse {
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
println!("lottery: {}", body);
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let mut user = userdata::get_acc(key);
let user2 = userdata::get_acc(key);
let key = global::get_login(req.headers());
let mut user = userdata::get_acc(&key);
let user2 = userdata::get_acc(&key);
let mut cardstogive = get_random_cards(9);
@ -128,7 +127,7 @@ pub fn lottery(req: HttpRequest, body: String) -> HttpResponse {
new_cards.push(to_push).unwrap();
}
userdata::save_acc(key, user.clone());
userdata::save_acc(&key, user.clone());
let mut lottery_list = array![];
for (_i, data) in cardstogive.members().enumerate() {

View file

@ -1,13 +1,12 @@
use json;
use json::object;
use crate::router::global;
use actix_web::{HttpResponse, HttpRequest, http::header::HeaderValue};
use actix_web::{HttpResponse, HttpRequest};
use crate::router::userdata;
pub fn mission(req: HttpRequest) -> HttpResponse {
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let user = userdata::get_acc(key);
let key = global::get_login(req.headers());
let user = userdata::get_acc(&key);
let resp = object!{
"code": 0,

View file

@ -2,18 +2,17 @@ use json;
use json::object;
use crate::router::global;
use crate::encryption;
use actix_web::{HttpResponse, HttpRequest, http::header::HeaderValue};
use actix_web::{HttpResponse, HttpRequest};
use crate::router::userdata;
pub fn tutorial(req: HttpRequest, body: String) -> HttpResponse {
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let mut user = userdata::get_acc(key);
let key = global::get_login(req.headers());
let mut user = userdata::get_acc(&key);
user["tutorial_step"] = body["step"].clone();
userdata::save_acc(key, user);
userdata::save_acc(&key, user);
let resp = object!{
"code": 0,

View file

@ -2,15 +2,14 @@ use json;
use json::{array, object, JsonValue};
use crate::router::global;
use crate::encryption;
use actix_web::{HttpResponse, HttpRequest, http::header::HeaderValue};
use actix_web::{HttpResponse, HttpRequest};
use crate::router::userdata;
pub fn deck(req: HttpRequest, body: String) -> HttpResponse {
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let mut user = userdata::get_acc(key);
let key = global::get_login(req.headers());
let mut user = userdata::get_acc(&key);
for (i, data) in user["deck_list"].members().enumerate() {
if data["slot"].to_string() == body["slot"].to_string() {
@ -18,7 +17,7 @@ pub fn deck(req: HttpRequest, body: String) -> HttpResponse {
break;
}
}
userdata::save_acc(key, user.clone());
userdata::save_acc(&key, user.clone());
let resp = object!{
"code": 0,
@ -36,10 +35,9 @@ pub fn deck(req: HttpRequest, body: String) -> HttpResponse {
}
pub fn user(req: HttpRequest) -> HttpResponse {
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let user = userdata::get_acc(key);
let key = global::get_login(req.headers());
let user = userdata::get_acc(&key);
let resp = object!{
"code": 0,
@ -51,16 +49,15 @@ pub fn user(req: HttpRequest) -> HttpResponse {
pub fn user_post(req: HttpRequest, body: String) -> HttpResponse {
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let mut user = userdata::get_acc(key);
let user_2 = userdata::get_acc_home(key);
let key = global::get_login(req.headers());
let mut user = userdata::get_acc(&key);
let user_2 = userdata::get_acc_home(&key);
user["user"]["name"] = body["name"].clone();
user["user"]["friend_request_disabled"] = body["friend_request_disabled"].clone();
userdata::save_acc(key, user.clone());
userdata::save_acc(&key, user.clone());
let resp = object!{
"code": 0,
@ -75,10 +72,9 @@ pub fn user_post(req: HttpRequest, body: String) -> HttpResponse {
pub fn initialize(req: HttpRequest, body: String) -> HttpResponse {
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let blank_header = HeaderValue::from_static("");
let key = req.headers().get("a6573cbe").unwrap_or(&blank_header).to_str().unwrap_or("");
let mut user = userdata::get_acc(key);
let key = global::get_login(req.headers());
let mut user = userdata::get_acc(&key);
let ur = user["card_list"][user["card_list"].len() - 1]["id"].clone();
let id = ur.as_i32().unwrap(); //todo
@ -121,7 +117,7 @@ pub fn initialize(req: HttpRequest, body: String) -> HttpResponse {
//todo - should the chosen character be in the team twice?
user["deck_list"][0]["main_card_ids"][4] = ur;
userdata::save_acc(key, user.clone());
userdata::save_acc(&key, user.clone());
let resp = object!{
"code": 0,

View file

@ -107,21 +107,17 @@ fn create_acc(conn: &Connection, uid: i64, login: &str) {
create_token_store(conn);
let mut tokens = get_tokens(conn);
let parts: Vec<&str> = login.split('-').collect();
let token = parts[1..parts.len() - 1].join("-");
tokens[0][token] = uid.into();
tokens[0][login] = uid.into();
store_data(conn, "tokens", tokens);
}
fn get_uid(conn: &Connection, uid: &str) -> i64 {
create_token_store(conn);
let parts: Vec<&str> = uid.split('-').collect();
let token = parts[1..parts.len() - 1].join("-");
let tokens = get_tokens(conn);
if tokens[0][token.clone()].is_null() {
if tokens[0][uid].is_null() {
return 0;
}
return tokens[0][token].as_i64().unwrap();
return tokens[0][uid].as_i64().unwrap();
}
fn get_data(a6573cbe: &str) -> JsonValue {