Fix guild info balance decoding
This commit is contained in:
2 files changed
+3
-2
No files matched your search
@@ -222,7 +222,7 @@ pub async fn guild(GameServer(server): GameServer, State(state): State<AppState>
|
|||||||
sqlx::query_as("SELECT name, tag, description, leader_uuid, created_at FROM guilds WHERE id = ?").bind(&id).fetch_one(&state.db).await?;
|
sqlx::query_as("SELECT name, tag, description, leader_uuid, created_at FROM guilds WHERE id = ?").bind(&id).fetch_one(&state.db).await?;
|
||||||
let members: Vec<(String, String, String)> = sqlx::query_as("SELECT uuid, name, role FROM guild_members WHERE guild_id = ? ORDER BY joined_at").bind(&id).fetch_all(&state.db).await?;
|
let members: Vec<(String, String, String)> = sqlx::query_as("SELECT uuid, name, role FROM guild_members WHERE guild_id = ? ORDER BY joined_at").bind(&id).fetch_all(&state.db).await?;
|
||||||
let claims: i64 = sqlx::query_scalar("SELECT COUNT(*) FROM guild_claims WHERE guild_id = ? AND server_id = ?").bind(&id).bind(server.id).fetch_one(&state.db).await?;
|
let claims: i64 = sqlx::query_scalar("SELECT COUNT(*) FROM guild_claims WHERE guild_id = ? AND server_id = ?").bind(&id).bind(server.id).fetch_one(&state.db).await?;
|
||||||
let balance: f64 = sqlx::query_scalar("SELECT COALESCE((SELECT balance FROM guild_wallets WHERE guild_id = ? AND server_id = ?), 0)").bind(&id).bind(server.id).fetch_one(&state.db).await?;
|
let balance: f64 = sqlx::query_scalar("SELECT COALESCE((SELECT balance FROM guild_wallets WHERE guild_id = ? AND server_id = ?), 0.0)").bind(&id).bind(server.id).fetch_one(&state.db).await?;
|
||||||
Ok(Json(json!({
|
Ok(Json(json!({
|
||||||
"exists": true, "id": id, "name": name, "tag": tag, "description": desc, "leader": leader, "created": created,
|
"exists": true, "id": id, "name": name, "tag": tag, "description": desc, "leader": leader, "created": created,
|
||||||
"claims": claims, "balance": balance,
|
"claims": claims, "balance": balance,
|
||||||
|
|||||||
@@ -77,7 +77,8 @@ async fn plugins_read_players_and_change_progress() {
|
|||||||
t.call("POST", "/api/v1/friends/respond", Some(&tokens[1]), Some(json!({"target_uuid": steve, "accept": true}))).await;
|
t.call("POST", "/api/v1/friends/respond", Some(&tokens[1]), Some(json!({"target_uuid": steve, "accept": true}))).await;
|
||||||
let (_, f) = call("player/friends", json!({"uuid": steve})).await;
|
let (_, f) = call("player/friends", json!({"uuid": steve})).await;
|
||||||
assert_eq!((f["friends"][0]["name"].as_str(), f["friends"][0]["uuid"].as_str()), (Some("Alex"), Some(alex.as_str())));
|
assert_eq!((f["friends"][0]["name"].as_str(), f["friends"][0]["uuid"].as_str()), (Some("Alex"), Some(alex.as_str())));
|
||||||
let (_, gi) = call("guild/info", json!({"guild": "iron"})).await;
|
let (gs, gi) = call("guild/info", json!({"guild": "iron"})).await;
|
||||||
|
assert_eq!(gs, StatusCode::OK, "{gi}");
|
||||||
assert_eq!((gi["exists"].clone(), gi["name"].as_str(), gi["members"][0]["name"].as_str()), (json!(true), Some("Iron"), Some("Steve")));
|
assert_eq!((gi["exists"].clone(), gi["name"].as_str(), gi["members"][0]["name"].as_str()), (json!(true), Some("Iron"), Some("Steve")));
|
||||||
let (_, by_member) = call("guild/info", json!({"member": steve})).await;
|
let (_, by_member) = call("guild/info", json!({"member": steve})).await;
|
||||||
assert_eq!(by_member["id"], g["id"]);
|
assert_eq!(by_member["id"], g["id"]);
|
||||||
|
|||||||
Reference in new issue
Block a user