brokkr-models::models::agent_labels Rust
Structs
brokkr-models::models::agent_labels::AgentLabel
pub
Derives: Queryable, Selectable, Identifiable, AsChangeset, Debug, Clone, Serialize, Deserialize, Eq, PartialEq, Hash, ToSchema, ``
Represents an agent label in the database.
Fields
| Name | Type | Description |
|---|---|---|
id | Uuid | Unique identifier for the agent label. |
agent_id | Uuid | ID of the agent this label is associated with. |
label | String | The label text (max 64 characters, no whitespace). |
brokkr-models::models::agent_labels::NewAgentLabel
pub
Derives: Insertable, Debug, Clone, Serialize, Deserialize, ToSchema
Represents a new agent label to be inserted into the database.
Fields
| Name | Type | Description |
|---|---|---|
agent_id | Uuid | ID of the agent this label is associated with. |
label | String | The label text (max 64 characters, no whitespace). |
Methods
new pub
#![allow(unused)]
fn main() {
fn new (agent_id : Uuid , label : String) -> Result < Self , String >
}
Creates a new NewAgentLabel instance.
Parameters:
| Name | Type | Description |
|---|---|---|
agent_id | - | UUID of the agent to associate the label with. |
label | - | The label text. Must be non-empty, max 64 characters, and contain no whitespace. |
Returns:
Returns Ok(NewAgentLabel) if all parameters are valid, otherwise returns an Err with a description of the validation failure.
Source
#![allow(unused)]
fn main() {
pub fn new(agent_id: Uuid, label: String) -> Result<Self, String> {
// Validate agent_id
if agent_id.is_nil() {
return Err("Invalid agent ID".to_string());
}
// Validate label
if label.is_empty() {
return Err("Label cannot be empty".to_string());
}
if label.len() > 64 {
return Err("Label cannot exceed 64 characters".to_string());
}
if label.contains(char::is_whitespace) {
return Err("Label cannot contain whitespace".to_string());
}
Ok(NewAgentLabel { agent_id, label })
}
}