mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-06 01:17:46 +08:00
feat: optimize usage body viewing and provider card layout
This commit is contained in:
@@ -16,7 +16,7 @@ pub use types::{
|
||||
ProxyNodeCounterDelta, StoredProviderApiKeyUsageSummary,
|
||||
StoredProviderApiKeyWindowUsageSummary, StoredProviderUsageSummary, StoredProviderUsageWindow,
|
||||
StoredRequestUsageAudit, StoredUsageAuditAggregation, StoredUsageAuditSummary,
|
||||
StoredUsageBreakdownSummaryRow, StoredUsageCacheAffinityHitSummary,
|
||||
StoredUsageBodyPayload, StoredUsageBreakdownSummaryRow, StoredUsageCacheAffinityHitSummary,
|
||||
StoredUsageCacheAffinityIntervalRow, StoredUsageCacheHitSummary, StoredUsageCostSavingsSummary,
|
||||
StoredUsageDailySummary, StoredUsageDashboardDailyBreakdownRow,
|
||||
StoredUsageDashboardProviderCount, StoredUsageDashboardStatsSummary,
|
||||
|
||||
@@ -1732,6 +1732,12 @@ pub fn canonical_usage_body_ref_for(
|
||||
.map(|(request_id, field)| usage_body_ref(&request_id, field))
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
pub enum StoredUsageBodyPayload {
|
||||
Gzip(Vec<u8>),
|
||||
Json(Vec<u8>),
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
pub trait UsageReadRepository: Send + Sync {
|
||||
async fn find_by_id(
|
||||
@@ -1761,6 +1767,20 @@ pub trait UsageReadRepository: Send + Sync {
|
||||
body_ref: &str,
|
||||
) -> Result<Option<Value>, crate::DataLayerError>;
|
||||
|
||||
async fn read_body_payload(
|
||||
&self,
|
||||
body_ref: &str,
|
||||
) -> Result<Option<StoredUsageBodyPayload>, crate::DataLayerError> {
|
||||
self.resolve_body_ref(body_ref)
|
||||
.await?
|
||||
.map(|value| {
|
||||
serde_json::to_vec(&value)
|
||||
.map(StoredUsageBodyPayload::Json)
|
||||
.map_err(|error| crate::DataLayerError::UnexpectedValue(error.to_string()))
|
||||
})
|
||||
.transpose()
|
||||
}
|
||||
|
||||
async fn list_usage_audits(
|
||||
&self,
|
||||
query: &UsageAuditListQuery,
|
||||
|
||||
Reference in New Issue
Block a user