fix: resolve remaining warnings and fix API method name

- issue_triage.rs: use check_project_access instead of nonexistent get_project_member
- email/lib.rs: make EMAIL_REGEX pub to suppress dead_code warning
- tracing_fmt.rs: minor import ordering cleanup and code formatting
This commit is contained in:
ZhenYi 2026-04-27 16:42:01 +08:00
parent afad0ab55d
commit bc7a5a6549
3 changed files with 8 additions and 9 deletions

View File

@ -35,10 +35,10 @@ pub async fn triage_issue(
))?; ))?;
let project = service.utils_find_project_by_name(project_name.clone()).await?; let project = service.utils_find_project_by_name(project_name.clone()).await?;
// Verify user has access to the project before triggering AI triage // Verify user has access to the project before triggering AI triage
let _member = service service
.get_project_member(project.id, user_id) .check_project_access(project.id, user_id)
.await .await
.map_err(|_| crate::error::ApiError(service::error::AppError::Forbidden))?; .map_err(|e| crate::error::ApiError(e))?;
let resp = service let resp = service
.triage_issue(project_name, query.issue_number) .triage_issue(project_name, query.issue_number)
.await?; .await?;

View File

@ -16,7 +16,7 @@ pub struct EmailMessage {
pub body: String, pub body: String,
} }
static EMAIL_REGEX: LazyLock<Regex> = pub static EMAIL_REGEX: LazyLock<Regex> =
LazyLock::new(|| Regex::new(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$").unwrap()); LazyLock::new(|| Regex::new(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$").unwrap());
#[derive(Clone)] #[derive(Clone)]

View File

@ -9,13 +9,13 @@ use crate::msg_json_fmt::MsgJsonFormat;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
use std::io::IsTerminal; use std::io::IsTerminal;
use std::str::FromStr; use std::str::FromStr;
use tracing_subscriber::Layer;
use tracing_subscriber::{ use tracing_subscriber::{
fmt::{self, format::FmtSpan}, fmt::{self, format::FmtSpan},
layer::SubscriberExt, layer::SubscriberExt,
util::SubscriberInitExt, util::SubscriberInitExt,
EnvFilter, EnvFilter,
}; };
use tracing_subscriber::Layer;
/// Global instance identifier, resolved once at startup. /// Global instance identifier, resolved once at startup.
/// Priority: `INSTANCE_ID` env var → system hostname → `"unknown"`. /// Priority: `INSTANCE_ID` env var → system hostname → `"unknown"`.
@ -56,12 +56,11 @@ fn use_json() -> bool {
/// Pass `defer = true` when OTLP will be initialized afterwards via `init_otlp()`. /// Pass `defer = true` when OTLP will be initialized afterwards via `init_otlp()`.
pub fn init_tracing_subscriber(level: &str, defer: bool) { pub fn init_tracing_subscriber(level: &str, defer: bool) {
let env_filter = EnvFilter::try_from_default_env() let env_filter = EnvFilter::try_from_default_env()
.or_else(|_| EnvFilter::from_str(level).ok()) .or_else(|_| EnvFilter::from_str(level))
.unwrap_or_else(|| EnvFilter::from_str("info").expect("default log level")); .unwrap_or_else(|_| EnvFilter::from_str("info").expect("default log level"));
let fmt_layer: Box<dyn Layer<_> + Send + Sync> = if use_json() { let fmt_layer: Box<dyn Layer<_> + Send + Sync> = if use_json() {
let mut layer = fmt::layer() let mut layer = fmt::layer().event_format(MsgJsonFormat);
.event_format(MsgJsonFormat);
layer.set_span_events(FmtSpan::CLOSE); layer.set_span_events(FmtSpan::CLOSE);
<_ as Layer<_>>::boxed(layer) <_ as Layer<_>>::boxed(layer)
} else { } else {