Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

brokkr-models::models::work_order_labels Rust

Structs

brokkr-models::models::work_order_labels::WorkOrderLabel

pub

Derives: Queryable, Selectable, Identifiable, AsChangeset, Debug, Clone, Serialize, Deserialize, Eq, PartialEq, Hash, ``

Represents a work order label in the database.

Fields

NameTypeDescription
idUuidUnique identifier for the work order label.
work_order_idUuidID of the work order this label is associated with.
labelStringThe label text (max 64 characters, no whitespace).
created_atchrono :: DateTime < chrono :: Utc >Timestamp when the label was created.

brokkr-models::models::work_order_labels::NewWorkOrderLabel

pub

Derives: Insertable, Debug, Clone, Serialize, Deserialize

Represents a new work order label to be inserted into the database.

Fields

NameTypeDescription
work_order_idUuidID of the work order this label is associated with.
labelStringThe label text (max 64 characters, no whitespace).

Methods

new pub
#![allow(unused)]
fn main() {
fn new (work_order_id : Uuid , label : String) -> Result < Self , String >
}

Creates a new NewWorkOrderLabel instance.

Parameters:

NameTypeDescription
work_order_id-UUID of the work order to associate the label with.
label-The label text. Must be non-empty, max 64 characters, and contain no whitespace.

Returns:

Returns Ok(NewWorkOrderLabel) if all parameters are valid, otherwise returns an Err with a description of the validation failure.

Source
#![allow(unused)]
fn main() {
    pub fn new(work_order_id: Uuid, label: String) -> Result<Self, String> {
        // Validate work_order_id
        if work_order_id.is_nil() {
            return Err("Invalid work order ID".to_string());
        }

        // Validate label
        if label.trim().is_empty() {
            return Err("Label cannot be empty".to_string());
        }

        // Check label length
        if label.len() > 64 {
            return Err("Label cannot exceed 64 characters".to_string());
        }

        // Check whitespace
        if label.contains(char::is_whitespace) {
            return Err("Label cannot contain whitespace".to_string());
        }

        Ok(NewWorkOrderLabel {
            work_order_id,
            label,
        })
    }
}