30 lines
740 B
Rust
30 lines
740 B
Rust
use core_domain::Timestamp;
|
|||
|
|
use core_domain::{RefLink, WorkspaceId};
|
||
|
|
|
||
|
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||
|
|
pub enum CommandLogStatus {
|
||
|
|
Pending,
|
||
|
|
Succeeded,
|
||
|
|
Failed,
|
||
|
|
RolledBack,
|
||
|
|
}
|
||
|
|
|
||
|
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||
|
|
pub struct CommandLogRecord {
|
||
|
|
pub command_log_id: String,
|
||
|
|
pub command_name: String,
|
||
|
|
pub actor_type: String,
|
||
|
|
pub actor_id: String,
|
||
|
|
pub source: String,
|
||
|
|
pub workspace_id: WorkspaceId,
|
||
|
|
pub target_objects: Vec<RefLink>,
|
||
|
|
pub payload_summary: String,
|
||
|
|
pub refs_json: String,
|
||
|
|
pub idempotency_key: Option<String>,
|
||
|
|
pub status: CommandLogStatus,
|
||
|
|
pub created_at: Timestamp,
|
||
|
|
pub finished_at: Option<Timestamp>,
|
||
|
|
pub trace_id: String,
|
||
|
|
pub request_id: String,
|
||
|
|
}
|