mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-08 18:37:46 +08:00
Preserve usage data in system imports
This commit is contained in:
@@ -21,6 +21,85 @@ pub struct AdminSystemStats {
|
||||
pub total_requests: u64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum AdminSystemUsageAggregateImportMode {
|
||||
Skip,
|
||||
Overwrite,
|
||||
Error,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
|
||||
pub struct AdminSystemStatsDailyAggregate {
|
||||
pub date_unix_secs: u64,
|
||||
pub total_requests: u64,
|
||||
pub success_requests: u64,
|
||||
pub error_requests: u64,
|
||||
pub input_tokens: u64,
|
||||
pub output_tokens: u64,
|
||||
pub cache_creation_tokens: u64,
|
||||
pub cache_read_tokens: u64,
|
||||
pub total_cost: f64,
|
||||
pub actual_total_cost: f64,
|
||||
pub is_complete: bool,
|
||||
pub aggregated_at_unix_secs: Option<u64>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
|
||||
pub struct AdminSystemStatsUserDailyAggregate {
|
||||
pub user_id: String,
|
||||
pub username: Option<String>,
|
||||
pub date_unix_secs: u64,
|
||||
pub total_requests: u64,
|
||||
pub success_requests: u64,
|
||||
pub error_requests: u64,
|
||||
pub input_tokens: u64,
|
||||
pub output_tokens: u64,
|
||||
pub cache_creation_tokens: u64,
|
||||
pub cache_read_tokens: u64,
|
||||
pub total_cost: f64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
|
||||
pub struct AdminSystemStatsDailyApiKeyAggregate {
|
||||
pub api_key_id: String,
|
||||
pub api_key_name: Option<String>,
|
||||
pub date_unix_secs: u64,
|
||||
pub total_requests: u64,
|
||||
pub success_requests: u64,
|
||||
pub error_requests: u64,
|
||||
pub input_tokens: u64,
|
||||
pub output_tokens: u64,
|
||||
pub cache_creation_tokens: u64,
|
||||
pub cache_read_tokens: u64,
|
||||
pub total_cost: f64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize)]
|
||||
pub struct AdminSystemUsageAggregateSnapshot {
|
||||
#[serde(default)]
|
||||
pub stats_daily: Vec<AdminSystemStatsDailyAggregate>,
|
||||
#[serde(default)]
|
||||
pub stats_user_daily: Vec<AdminSystemStatsUserDailyAggregate>,
|
||||
#[serde(default)]
|
||||
pub stats_daily_api_key: Vec<AdminSystemStatsDailyApiKeyAggregate>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
|
||||
pub struct AdminSystemUsageAggregateImportCounter {
|
||||
pub created: u64,
|
||||
pub updated: u64,
|
||||
pub skipped: u64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
|
||||
pub struct AdminSystemUsageAggregateImportSummary {
|
||||
pub stats_daily: AdminSystemUsageAggregateImportCounter,
|
||||
pub stats_user_daily: AdminSystemUsageAggregateImportCounter,
|
||||
pub stats_daily_api_key: AdminSystemUsageAggregateImportCounter,
|
||||
pub skipped_unmapped_user_daily: u64,
|
||||
pub skipped_unmapped_api_key_daily: u64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum AdminSystemPurgeTarget {
|
||||
Config,
|
||||
|
||||
Reference in New Issue
Block a user