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?;
// Verify user has access to the project before triggering AI triage
let _member = service
.get_project_member(project.id, user_id)
service
.check_project_access(project.id, user_id)
.await
.map_err(|_| crate::error::ApiError(service::error::AppError::Forbidden))?;
.map_err(|e| crate::error::ApiError(e))?;
let resp = service
.triage_issue(project_name, query.issue_number)
.await?;

View File

@ -16,7 +16,7 @@ pub struct EmailMessage {
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());
#[derive(Clone)]

View File

@ -9,13 +9,13 @@ use crate::msg_json_fmt::MsgJsonFormat;
use once_cell::sync::Lazy;
use std::io::IsTerminal;
use std::str::FromStr;
use tracing_subscriber::Layer;
use tracing_subscriber::{
fmt::{self, format::FmtSpan},
layer::SubscriberExt,
util::SubscriberInitExt,
EnvFilter,
};
use tracing_subscriber::Layer;
/// Global instance identifier, resolved once at startup.
/// 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()`.
pub fn init_tracing_subscriber(level: &str, defer: bool) {
let env_filter = EnvFilter::try_from_default_env()
.or_else(|_| EnvFilter::from_str(level).ok())
.unwrap_or_else(|| EnvFilter::from_str("info").expect("default log level"));
.or_else(|_| EnvFilter::from_str(level))
.unwrap_or_else(|_| EnvFilter::from_str("info").expect("default log level"));
let fmt_layer: Box<dyn Layer<_> + Send + Sync> = if use_json() {
let mut layer = fmt::layer()
.event_format(MsgJsonFormat);
let mut layer = fmt::layer().event_format(MsgJsonFormat);
layer.set_span_events(FmtSpan::CLOSE);
<_ as Layer<_>>::boxed(layer)
} else {