Skip to content

brokkr-broker::dal::agent_k8s_events

Rust

DAL for the short-lived agent_k8s_events telemetry table.

pub

Name Type Description
dal &'a DAL

pub

fn create(
&self,
new_event: &NewAgentK8sEvent,
) -> Result<AgentK8sEvent, diesel::result::Error>
Source
pub fn create(
&self,
new_event: &NewAgentK8sEvent,
) -> Result<AgentK8sEvent, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
diesel::insert_into(agent_k8s_events::table)
.values(new_event)
.get_result(conn)
}

pub

fn list_for_stack(
&self,
stack_id: Uuid,
since: DateTime<Utc>,
limit: i64,
) -> Result<Vec<AgentK8sEvent>, diesel::result::Error>

Paginated list of events for a stack within the retained window, newest-first. Used by the REST history endpoint (WS-10).

Source
pub fn list_for_stack(
&self,
stack_id: Uuid,
since: DateTime<Utc>,
limit: i64,
) -> Result<Vec<AgentK8sEvent>, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
agent_k8s_events::table
.filter(agent_k8s_events::stack_id.eq(stack_id))
.filter(agent_k8s_events::created_at.ge(since))
.order(agent_k8s_events::created_at.desc())
.limit(limit)
.load::<AgentK8sEvent>(conn)
}

pub

fn evict_older_than(
&self,
cutoff: DateTime<Utc>,
) -> Result<usize, diesel::result::Error>

Delete rows older than cutoff. Returns row count.

Source
pub fn evict_older_than(&self, cutoff: DateTime<Utc>) -> Result<usize, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
diesel::delete(agent_k8s_events::table.filter(agent_k8s_events::created_at.lt(cutoff)))
.execute(conn)
}

pub

fn count(&self) -> Result<i64, diesel::result::Error>

Total row count (diagnostics / metrics).

Source
pub fn count(&self) -> Result<i64, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
agent_k8s_events::table.count().get_result(conn)
}