mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
feat(admin): manual request-records cleanup with typed confirmation
This commit is contained in:
@@ -18,8 +18,8 @@ pub use types::{
|
||||
UsageAuditListQuery, UsageAuditSummaryQuery, UsageBodyCaptureResult, UsageBodyCaptureState,
|
||||
UsageBodyCaptureStorage, UsageBodyField, UsageBreakdownGroupBy, UsageBreakdownSummaryQuery,
|
||||
UsageCacheAffinityHitSummaryQuery, UsageCacheAffinityIntervalGroupBy,
|
||||
UsageCacheAffinityIntervalQuery, UsageCacheHitSummaryQuery, UsageCleanupSummary,
|
||||
UsageCleanupWindow, UsageCostSavingsSummaryQuery, UsageDailyHeatmapQuery,
|
||||
UsageCacheAffinityIntervalQuery, UsageCacheHitSummaryQuery, UsageCleanupPreviewCounts,
|
||||
UsageCleanupSummary, UsageCleanupWindow, UsageCostSavingsSummaryQuery, UsageDailyHeatmapQuery,
|
||||
UsageDashboardDailyBreakdownQuery, UsageDashboardProviderCountsQuery,
|
||||
UsageDashboardSummaryQuery, UsageErrorDistributionQuery, UsageLeaderboardGroupBy,
|
||||
UsageLeaderboardQuery, UsageMonitoringErrorCountQuery, UsageMonitoringErrorListQuery,
|
||||
|
||||
@@ -1692,6 +1692,14 @@ pub trait UsageWriteRepository: Send + Sync {
|
||||
let _ = (window, batch_size, auto_delete_expired_keys);
|
||||
Ok(UsageCleanupSummary::default())
|
||||
}
|
||||
|
||||
async fn preview_usage_cleanup(
|
||||
&self,
|
||||
window: &UsageCleanupWindow,
|
||||
) -> Result<UsageCleanupPreviewCounts, crate::DataLayerError> {
|
||||
let _ = window;
|
||||
Ok(UsageCleanupPreviewCounts::default())
|
||||
}
|
||||
}
|
||||
|
||||
pub trait UsageRepository: UsageReadRepository + UsageWriteRepository + Send + Sync {}
|
||||
@@ -1722,6 +1730,14 @@ pub struct UsageCleanupWindow {
|
||||
pub log_cutoff: DateTime<Utc>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
|
||||
pub struct UsageCleanupPreviewCounts {
|
||||
pub detail: u64,
|
||||
pub compressed: u64,
|
||||
pub header: u64,
|
||||
pub log: u64,
|
||||
}
|
||||
|
||||
fn parse_u64(value: i32, field_name: &str) -> Result<u64, crate::DataLayerError> {
|
||||
u64::try_from(value).map_err(|_| {
|
||||
crate::DataLayerError::UnexpectedValue(format!("invalid {field_name}: {value}"))
|
||||
|
||||
Reference in New Issue
Block a user