style(core): apply cargo fmt across routes, services, models, tests
CI / Build, lint & test (push) Successful in 2m19s
CI / Build, lint & test (push) Successful in 2m19s
Pure rustfmt reflow (import grouping, array/match-arm/call-arg wrapping, alphabetized module decls, comment realignment). No semantic change: full-diff and `git diff -w` both confirm logic byte-identical to 271c363; workspace builds and all 74 core tests pass. Retained pre-existing WIP brought forward after verification.
This commit is contained in:
+11
-8
@@ -1,4 +1,8 @@
|
||||
use crate::{db::Pool, error::AppResult, services::{club, pack}};
|
||||
use crate::{
|
||||
db::Pool,
|
||||
error::AppResult,
|
||||
services::{club, pack},
|
||||
};
|
||||
use uuid::Uuid;
|
||||
|
||||
const STREAK_COINS: [i64; 7] = [500, 650, 800, 1000, 1200, 1500, 2000];
|
||||
@@ -8,7 +12,7 @@ const STREAK_7_PACK: &str = "silver_pack";
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
pub struct CheckinStatus {
|
||||
pub available: bool,
|
||||
pub streak_day: i64, // current streak (1–7 cycle, 0 if never checked in)
|
||||
pub streak_day: i64, // current streak (1–7 cycle, 0 if never checked in)
|
||||
pub next_reward_coins: i64,
|
||||
pub next_reward_pack: Option<&'static str>,
|
||||
pub last_checked_in: Option<String>,
|
||||
@@ -56,11 +60,7 @@ pub async fn get_status(pool: &Pool, profile_id: &str) -> AppResult<CheckinStatu
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn claim(
|
||||
pool: &Pool,
|
||||
profile_id: &str,
|
||||
club_id: &str,
|
||||
) -> AppResult<CheckinResult> {
|
||||
pub async fn claim(pool: &Pool, profile_id: &str, club_id: &str) -> AppResult<CheckinResult> {
|
||||
let row: Option<(i64, String)> = sqlx::query_as(
|
||||
"SELECT streak_day, checked_in_at FROM daily_checkins \
|
||||
WHERE profile_id = ? ORDER BY checked_in_at DESC LIMIT 1",
|
||||
@@ -82,7 +82,10 @@ pub async fn claim(
|
||||
}
|
||||
}
|
||||
|
||||
let last_streak = row.as_ref().map(|(s, last_at)| compute_next_streak(*s, last_at)).unwrap_or(1);
|
||||
let last_streak = row
|
||||
.as_ref()
|
||||
.map(|(s, last_at)| compute_next_streak(*s, last_at))
|
||||
.unwrap_or(1);
|
||||
let idx = (last_streak - 1).rem_euclid(7) as usize;
|
||||
let coins = STREAK_COINS[idx];
|
||||
let pack_def = if idx == 6 { Some(STREAK_7_PACK) } else { None };
|
||||
|
||||
Reference in New Issue
Block a user