feat: resolve linter warnings, optimize tables scroll behavior with top scroll sync, and extract reusable table macros
This commit is contained in:
@@ -23,6 +23,7 @@ where
|
||||
}
|
||||
|
||||
/// Lower-level helper function to write audit log entries directly to the database.
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub async fn log_action(
|
||||
db: &mongodb::Database,
|
||||
user_opt: Option<&AuthenticatedUser>,
|
||||
|
||||
+14
-18
@@ -57,10 +57,8 @@ impl MongoAuditRepository {
|
||||
|
||||
if let Some(ent_id_str) = entity_id {
|
||||
let trimmed = ent_id_str.trim();
|
||||
if !trimmed.is_empty() {
|
||||
if let Ok(oid) = ObjectId::parse_str(trimmed) {
|
||||
filter.insert("entity_id", oid);
|
||||
}
|
||||
if let Ok(oid) = ObjectId::parse_str(trimmed) {
|
||||
filter.insert("entity_id", oid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,25 +67,23 @@ impl MongoAuditRepository {
|
||||
|
||||
if let Some(start) = start_date {
|
||||
let trimmed = start.trim();
|
||||
if !trimmed.is_empty() {
|
||||
if let Ok(naive_date) = chrono::NaiveDate::parse_from_str(trimmed, "%Y-%m-%d") {
|
||||
if let Some(naive_datetime) = naive_date.and_hms_opt(0, 0, 0) {
|
||||
let dt = chrono::DateTime::<chrono::Utc>::from_naive_utc_and_offset(naive_datetime, chrono::Utc);
|
||||
date_query.insert("$gte", mongodb::bson::DateTime::from_chrono(dt));
|
||||
}
|
||||
}
|
||||
if let Some(naive_datetime) = chrono::NaiveDate::parse_from_str(trimmed, "%Y-%m-%d")
|
||||
.ok()
|
||||
.and_then(|d| d.and_hms_opt(0, 0, 0))
|
||||
{
|
||||
let dt = chrono::DateTime::<chrono::Utc>::from_naive_utc_and_offset(naive_datetime, chrono::Utc);
|
||||
date_query.insert("$gte", mongodb::bson::DateTime::from_chrono(dt));
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(end) = end_date {
|
||||
let trimmed = end.trim();
|
||||
if !trimmed.is_empty() {
|
||||
if let Ok(naive_date) = chrono::NaiveDate::parse_from_str(trimmed, "%Y-%m-%d") {
|
||||
if let Some(naive_datetime) = naive_date.and_hms_opt(23, 59, 59) {
|
||||
let dt = chrono::DateTime::<chrono::Utc>::from_naive_utc_and_offset(naive_datetime, chrono::Utc);
|
||||
date_query.insert("$lte", mongodb::bson::DateTime::from_chrono(dt));
|
||||
}
|
||||
}
|
||||
if let Some(naive_datetime) = chrono::NaiveDate::parse_from_str(trimmed, "%Y-%m-%d")
|
||||
.ok()
|
||||
.and_then(|d| d.and_hms_opt(23, 59, 59))
|
||||
{
|
||||
let dt = chrono::DateTime::<chrono::Utc>::from_naive_utc_and_offset(naive_datetime, chrono::Utc);
|
||||
date_query.insert("$lte", mongodb::bson::DateTime::from_chrono(dt));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user