refactor(api-server): narrow puzzle state surface
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use module_auth::AuthUser;
|
||||
|
||||
use crate::state::AppState;
|
||||
use crate::state::{AppState, PuzzleApiState};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct WorkAuthorSummary {
|
||||
@@ -14,6 +14,34 @@ pub fn resolve_work_author_by_user_id(
|
||||
owner_user_id: &str,
|
||||
fallback_display_name: Option<&str>,
|
||||
fallback_public_user_code: Option<&str>,
|
||||
) -> WorkAuthorSummary {
|
||||
resolve_work_author_by_user_id_with_service(
|
||||
state.auth_user_service(),
|
||||
owner_user_id,
|
||||
fallback_display_name,
|
||||
fallback_public_user_code,
|
||||
)
|
||||
}
|
||||
|
||||
pub fn resolve_puzzle_work_author_by_user_id(
|
||||
state: &PuzzleApiState,
|
||||
owner_user_id: &str,
|
||||
fallback_display_name: Option<&str>,
|
||||
fallback_public_user_code: Option<&str>,
|
||||
) -> WorkAuthorSummary {
|
||||
resolve_work_author_by_user_id_with_service(
|
||||
state.auth_user_service(),
|
||||
owner_user_id,
|
||||
fallback_display_name,
|
||||
fallback_public_user_code,
|
||||
)
|
||||
}
|
||||
|
||||
fn resolve_work_author_by_user_id_with_service(
|
||||
auth_user_service: &module_auth::AuthUserService,
|
||||
owner_user_id: &str,
|
||||
fallback_display_name: Option<&str>,
|
||||
fallback_public_user_code: Option<&str>,
|
||||
) -> WorkAuthorSummary {
|
||||
let fallback_display_name =
|
||||
normalize_optional_text(fallback_display_name).unwrap_or_else(|| "玩家".to_string());
|
||||
@@ -26,7 +54,7 @@ pub fn resolve_work_author_by_user_id(
|
||||
};
|
||||
};
|
||||
|
||||
match state.auth_user_service().get_user_by_id(&owner_user_id) {
|
||||
match auth_user_service.get_user_by_id(&owner_user_id) {
|
||||
Ok(Some(user)) => map_auth_user_to_work_author_summary(user, fallback_display_name),
|
||||
Ok(None) | Err(_) => WorkAuthorSummary {
|
||||
display_name: fallback_display_name,
|
||||
|
||||
Reference in New Issue
Block a user