mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-08 00:03:07 +00:00
* feat: stream audit logs in batches when a page is slow to load Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * fix: bound streamed page size and clear stale rows on stop Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * fix: keep the runs batch cap and drop rows of a replaced query on failure Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * fix: ignore stop once a load has settled and reset paging when one fails Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * chore: update ee-repo-ref to aab7da6e1f8b1fadacc2208913a5d6596f06f922 This commit updates the EE repository reference after PR #727 was merged in windmill-ee-private. Previous ee-repo-ref: 59ba8d7ce9ce1de0814b159b3813c2ac2a49239a New ee-repo-ref: aab7da6e1f8b1fadacc2208913a5d6596f06f922 Automated by sync-ee-ref workflow. --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
45 lines
1.2 KiB
Rust
45 lines
1.2 KiB
Rust
use serde::{Deserialize, Serialize};
|
|
use sqlx::FromRow;
|
|
|
|
#[cfg(feature = "private")]
|
|
pub mod audit_ee;
|
|
pub mod audit_oss;
|
|
|
|
#[derive(sqlx::Type, Serialize, Deserialize, Debug)]
|
|
#[sqlx(type_name = "ACTION_KIND", rename_all = "lowercase")]
|
|
pub enum ActionKind {
|
|
Create,
|
|
Update,
|
|
Delete,
|
|
Execute,
|
|
}
|
|
|
|
#[derive(FromRow, Serialize, Deserialize)]
|
|
pub struct AuditLog {
|
|
pub workspace_id: String,
|
|
pub id: i64,
|
|
pub timestamp: chrono::DateTime<chrono::Utc>,
|
|
pub username: String,
|
|
pub operation: String,
|
|
pub action_kind: ActionKind,
|
|
pub resource: Option<String>,
|
|
pub parameters: Option<serde_json::Value>,
|
|
pub span: Option<String>,
|
|
}
|
|
|
|
#[derive(Deserialize)]
|
|
pub struct ListAuditLogQuery {
|
|
pub username: Option<String>,
|
|
pub operation: Option<String>,
|
|
pub operations: Option<String>,
|
|
pub exclude_operations: Option<String>,
|
|
pub action_kind: Option<String>,
|
|
pub resource: Option<String>,
|
|
pub before: Option<chrono::DateTime<chrono::Utc>>,
|
|
pub after: Option<chrono::DateTime<chrono::Utc>>,
|
|
// Keyset cursor on the `id DESC` ordering. Lets a client stream a page in small batches
|
|
// without paying a growing OFFSET on every batch.
|
|
pub before_id: Option<i64>,
|
|
pub all_workspaces: Option<bool>,
|
|
}
|