Skip to content

brokkr-broker::dal::diagnostic_results

Rust

Data Access Layer for DiagnosticResult operations.

This module provides functionality to interact with the diagnostic_results table. It includes methods for creating and querying diagnostic results.

pub

Data Access Layer for DiagnosticResult operations.

Name Type Description
dal &'a DAL Reference to the main DAL instance.

pub

fn create(
&self,
new_result: &NewDiagnosticResult,
) -> Result<DiagnosticResult, diesel::result::Error>

Creates a new diagnostic result.

Parameters:

Name Type Description
new_result &NewDiagnosticResult The diagnostic result to create.

Returns:

Returns the created DiagnosticResult record.

Source
pub fn create(
&self,
new_result: &NewDiagnosticResult,
) -> Result<DiagnosticResult, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
diesel::insert_into(diagnostic_results::table)
.values(new_result)
.get_result(conn)
}

pub

fn get(
&self,
id: Uuid,
) -> Result<Option<DiagnosticResult>, diesel::result::Error>

Gets a diagnostic result by ID.

Parameters:

Name Type Description
id Uuid The diagnostic result UUID.

Returns:

Returns the diagnostic result if found.

Source
pub fn get(&self, id: Uuid) -> Result<Option<DiagnosticResult>, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
diagnostic_results::table
.filter(diagnostic_results::id.eq(id))
.first(conn)
.optional()
}

pub

fn get_by_request(
&self,
request_id: Uuid,
) -> Result<Option<DiagnosticResult>, diesel::result::Error>

Gets the diagnostic result for a specific request.

Parameters:

Name Type Description
request_id Uuid The diagnostic request UUID.

Returns:

Returns the diagnostic result if found.

Source
pub fn get_by_request(
&self,
request_id: Uuid,
) -> Result<Option<DiagnosticResult>, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
diagnostic_results::table
.filter(diagnostic_results::request_id.eq(request_id))
.first(conn)
.optional()
}

pub

fn delete(&self, id: Uuid) -> Result<usize, diesel::result::Error>

Deletes a diagnostic result by ID.

Parameters:

Name Type Description
id Uuid The diagnostic result UUID.

Returns:

Returns the number of records deleted.

Source
pub fn delete(&self, id: Uuid) -> Result<usize, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
diesel::delete(diagnostic_results::table.filter(diagnostic_results::id.eq(id)))
.execute(conn)
}

pub

fn delete_by_request(
&self,
request_id: Uuid,
) -> Result<usize, diesel::result::Error>

Deletes all diagnostic results for a specific request.

Parameters:

Name Type Description
request_id Uuid The diagnostic request UUID.

Returns:

Returns the number of records deleted.

Source
pub fn delete_by_request(&self, request_id: Uuid) -> Result<usize, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
diesel::delete(
diagnostic_results::table.filter(diagnostic_results::request_id.eq(request_id)),
)
.execute(conn)
}