righ_dm_rs/lib.rs
1//! Righ Data Model Library
2//!
3//! This library provides core data types and utilities for the Righ distributed
4//! mesh networking system. It includes strongly-typed identifiers, network
5//! primitives, Wi-Fi management types, and time handling utilities.
6//!
7//! # Features
8//!
9//! - **Type Safety**: Strongly-typed identifiers prevent confusion between
10//! different ID types (node IDs, model names, location IDs)
11//! - **Network Primitives**: MAC address and IP address handling with validation
12//! - **Wi-Fi Management**: Comprehensive Wi-Fi configuration and state management
13//! - **Time Handling**: RFC 3339 timestamp utilities with validation
14//! - **Serialization**: Full serde support for all types
15//! - **API Documentation**: OpenAPI/Swagger schema generation support
16//!
17//! # Modules
18//!
19//! - [`id`] - Strongly-typed identifiers for system entities
20//! - [`network`] - Network-related types (MAC addresses, IP addresses)
21//! - [`common`] - Common types shared across the system
22//! - [`wifi`] - Wi-Fi configuration and management types
23//! - [`time`] - Time handling and timestamp utilities
24//!
25//! # Examples
26//!
27//! ```rust
28//! use righ_dm_rs::{RighNodeID, RighMacAddr, RighSSID};
29//! use std::str::FromStr;
30//!
31//! // Create a node identifier
32//! let node_id = RighNodeID::new("mesh-node-001");
33//!
34//! // Parse a MAC address
35//! let mac_addr = RighMacAddr::from_str("00:11:22:33:44:55").unwrap();
36//!
37//! // Create a Wi-Fi SSID
38//! let ssid = RighSSID::from_str("MyNetwork").unwrap();
39//! ```
40
41#![allow(dead_code)]
42#![allow(unused_imports)]
43
44pub mod common;
45pub mod id;
46pub mod network;
47pub mod time;
48pub mod wifi;
49
50pub use common::*;
51pub use id::*;
52pub use network::*;
53pub use time::*;
54pub use wifi::*;