refactor(api-server): narrow puzzle state surface

This commit is contained in:
kdletters
2026-05-21 18:55:25 +08:00
parent cc23b6020d
commit 5834a99107
31 changed files with 1087 additions and 169 deletions

View File

@@ -343,11 +343,11 @@ fn has_puzzle_level_image(level: &PuzzleDraftLevelRecord) -> bool {
}
pub(super) fn map_puzzle_work_summary_response(
state: &AppState,
state: &PuzzleApiState,
item: PuzzleWorkProfileRecord,
) -> PuzzleWorkSummaryResponse {
let generation_status = resolve_puzzle_work_generation_status(&item);
let author = resolve_work_author_by_user_id(
let author = resolve_puzzle_work_author_by_user_id(
state,
&item.owner_user_id,
Some(&item.author_display_name),
@@ -391,10 +391,10 @@ pub(super) fn map_puzzle_work_summary_response(
}
pub(super) fn map_puzzle_gallery_card_response(
state: &AppState,
state: &PuzzleApiState,
item: PuzzleGalleryCardRecord,
) -> PuzzleWorkSummaryResponse {
let author = resolve_work_author_by_user_id(
let author = resolve_puzzle_work_author_by_user_id(
state,
&item.owner_user_id,
Some(&item.author_display_name),
@@ -434,7 +434,7 @@ pub(super) fn map_puzzle_gallery_card_response(
}
pub(super) fn map_puzzle_work_profile_response(
state: &AppState,
state: &PuzzleApiState,
item: PuzzleWorkProfileRecord,
) -> PuzzleWorkProfileResponse {
let mut summary = map_puzzle_work_summary_response(state, item.clone());
@@ -491,7 +491,7 @@ pub(super) fn map_puzzle_recommended_next_work_response(
}
pub(super) async fn enrich_puzzle_run_author_name(
state: &AppState,
state: &PuzzleApiState,
mut run: PuzzleRunRecord,
) -> PuzzleRunRecord {
if let Some(level) = run.current_level.as_mut() {
@@ -500,7 +500,7 @@ pub(super) async fn enrich_puzzle_run_author_name(
.get_puzzle_gallery_detail(level.profile_id.clone())
.await
{
level.author_display_name = resolve_work_author_by_user_id(
level.author_display_name = resolve_puzzle_work_author_by_user_id(
state,
&profile.owner_user_id,
Some(&profile.author_display_name),
@@ -632,7 +632,7 @@ pub(super) fn map_puzzle_board_response(
}
pub(super) fn resolve_author_display_name(
state: &AppState,
state: &PuzzleApiState,
authenticated: &AuthenticatedAccessToken,
) -> String {
state