Skip to content

brokkr-broker::dal::rendered_deployment_objects

Rust

Data Access Layer for Rendered Deployment Object operations.

This module provides functionality to interact with the rendered_deployment_objects table in the database, tracking the provenance of deployment objects created from templates.

pub

Handles database operations for RenderedDeploymentObject entities.

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

pub

fn create(
&self,
new_record: &NewRenderedDeploymentObject,
) -> Result<RenderedDeploymentObject, diesel::result::Error>

Creates a new rendered deployment object provenance record in the database.

Parameters:

Name Type Description
new_record &NewRenderedDeploymentObject The new provenance record details to be inserted.

Returns:

The created RenderedDeploymentObject on success, or a diesel::result::Error on failure.

Source
pub fn create(
&self,
new_record: &NewRenderedDeploymentObject,
) -> Result<RenderedDeploymentObject, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
diesel::insert_into(rendered_deployment_objects::table)
.values(new_record)
.get_result(conn)
}

pub

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

Retrieves a rendered deployment object provenance record by its ID.

Parameters:

Name Type Description
record_id Uuid The UUID of the record to retrieve.

Returns:

An Option<RenderedDeploymentObject> if found, or a diesel::result::Error on failure.

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

pub

fn get_by_deployment_object(
&self,
deployment_object_id: Uuid,
) -> Result<Option<RenderedDeploymentObject>, diesel::result::Error>

Retrieves the provenance record for a specific deployment object.

Parameters:

Name Type Description
deployment_object_id Uuid The UUID of the deployment object.

Returns:

An Option<RenderedDeploymentObject> if found, or a diesel::result::Error on failure.

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

pub

fn list_by_template(
&self,
template_id: Uuid,
version: Option<i32>,
) -> Result<Vec<RenderedDeploymentObject>, diesel::result::Error>

Lists all provenance records for a specific template.

Parameters:

Name Type Description
template_id Uuid The UUID of the template.
version Option<i32> Optional version filter. If provided, only returns records for that version.

Returns:

A Vec<RenderedDeploymentObject> for the specified template, or a diesel::result::Error on failure.

Source
pub fn list_by_template(
&self,
template_id: Uuid,
version: Option<i32>,
) -> Result<Vec<RenderedDeploymentObject>, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
let mut query = rendered_deployment_objects::table
.filter(rendered_deployment_objects::template_id.eq(template_id))
.into_boxed();
if let Some(v) = version {
query = query.filter(rendered_deployment_objects::template_version.eq(v));
}
query
.order(rendered_deployment_objects::created_at.desc())
.load::<RenderedDeploymentObject>(conn)
}

pub

fn list(
&self,
) -> Result<Vec<RenderedDeploymentObject>, diesel::result::Error>

Lists all provenance records from the database.

Returns:

A Vec<RenderedDeploymentObject> containing all records, or a diesel::result::Error on failure.

Source
pub fn list(&self) -> Result<Vec<RenderedDeploymentObject>, diesel::result::Error> {
let conn = &mut self.dal.conn()?;
rendered_deployment_objects::table
.order(rendered_deployment_objects::created_at.desc())
.load::<RenderedDeploymentObject>(conn)
}

pub

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

Deletes a provenance record from the database.

Parameters:

Name Type Description
record_id Uuid The UUID of the record to delete.

Returns:

The number of affected rows (0 or 1) on success, or a diesel::result::Error on failure.

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

pub

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

Deletes all provenance records for a specific deployment object.

Parameters:

Name Type Description
deployment_object_id Uuid The UUID of the deployment object.

Returns:

The number of affected rows on success, or a diesel::result::Error on failure.

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

pub

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

Deletes all provenance records for a specific template.

Parameters:

Name Type Description
template_id Uuid The UUID of the template.

Returns:

The number of affected rows on success, or a diesel::result::Error on failure.

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