refactor: 拆分 admin handler 大文件为模块目录,消除 shared.rs 反模式

- endpoint_keys/pool/architecture 等大文件拆分为独立模块目录
- 删除 crud/query/strategy/system 中的 shared.rs,内容归位到各自模块
- endpoints_admin/models/oauth/write 等模块拆出 payloads/responses/support 子文件
- system/core 下多个 *_routes.rs 合并到 system_routes.rs
- 更新 refactor-execution-plan 文档进度
This commit is contained in:
fawney19
2026-04-07 12:15:19 +08:00
parent 29055c575f
commit 4fb9882b54
109 changed files with 8151 additions and 7047 deletions
@@ -1,7 +1,3 @@
mod paths;
mod payloads;
mod support;
pub(crate) use self::paths::*;
pub(crate) use self::payloads::*;
pub(crate) use self::support::*;
pub(crate) mod paths;
pub(crate) mod payloads;
pub(crate) mod support;
@@ -48,3 +48,24 @@ pub(crate) fn put_admin_provider_delete_task(
) {
state.put_provider_delete_task(task.clone());
}
pub(crate) fn normalize_provider_billing_type(value: &str) -> Result<String, String> {
let normalized = value.trim().to_ascii_lowercase();
match normalized.as_str() {
"monthly_quota" | "pay_as_you_go" | "free_tier" => Ok(normalized),
_ => Err("billing_type 仅支持 monthly_quota / pay_as_you_go / free_tier".to_string()),
}
}
pub(crate) fn parse_optional_rfc3339_unix_secs(
value: &str,
field_name: &str,
) -> Result<u64, String> {
let trimmed = value.trim();
if trimmed.is_empty() {
return Err(format!("{field_name} 不能为空"));
}
let parsed = chrono::DateTime::parse_from_rfc3339(trimmed)
.map_err(|_| format!("{field_name} 必须是合法的 RFC3339 时间"))?;
u64::try_from(parsed.timestamp()).map_err(|_| format!("{field_name} 超出有效时间范围"))
}