Expand description
Database module - organized submodules for better maintainability
Re-exports§
pub use mappers::map_task_row;pub use mappers::parse_optional_uuid;pub use mappers::parse_uuid_with_fallback;pub use query_builders::TaskUpdateBuilder;pub use validators::validate_area_exists;pub use validators::validate_project_exists;pub use validators::validate_task_exists;pub use date_utils::add_days;pub use date_utils::format_date_for_display;pub use date_utils::is_date_in_future;pub use date_utils::is_date_in_past;pub use date_utils::is_valid_things_timestamp;pub use date_utils::parse_date_from_string;pub use date_utils::safe_naive_date_to_things_timestamp;pub use date_utils::safe_things_date_to_naive_date;pub use date_utils::validate_date_range;pub use date_utils::DateConversionError;pub use date_utils::DateValidationError;
Modules§
- date_
utils - Date validation and conversion utilities for Things 3
- mappers
- Row mapping utilities for converting database rows to domain models
- query_
builders - SQL Query Builder utilities for type-safe query construction
- tag_
utils - Tag manipulation utilities for duplicate prevention
- validators
- Entity validation utilities for database operations
Structs§
- Comprehensive
Health Status - Comprehensive health status including pool and database
- Database
Pool Config - Database connection pool configuration for optimal performance
- Database
Stats - Database statistics
- Pool
Health Status - Connection pool health status
- Pool
Metrics - Detailed connection pool metrics
- Sqlite
Optimizations - SQLite-specific optimization settings
- Things
Database - SQLx-based database implementation for Things 3 data This provides async, Send + Sync compatible database access
Functions§
- deserialize_
tags_ from_ blob - Deserialize tags from Things 3 binary format
- get_
default_ database_ path - Get the default Things 3 database path
- naive_
date_ to_ things_ timestamp - Convert NaiveDate to Things 3 timestamp (seconds since 2001-01-01)
- serialize_
tags_ to_ blob - Serialize tags to Things 3 binary format Note: This is a simplified implementation using JSON The actual Things 3 binary format is proprietary