Initial commit: Complete CalDAV calendar synchronizer

- Rust-based CLI tool for Zoho to Nextcloud calendar sync
- Selective calendar import from Zoho to single Nextcloud calendar
- Timezone-aware event handling for next-week synchronization
- Comprehensive configuration system with TOML support
- CLI interface with debug, list, and sync operations
- Complete documentation and example configurations
This commit is contained in:
Alvaro Soliverez 2025-10-04 11:57:44 -03:00
commit 8362ebe44b
16 changed files with 6192 additions and 0 deletions

54
config/default.toml Normal file
View file

@ -0,0 +1,54 @@
# Default CalDAV Sync Configuration
# This file provides default values for the Zoho to Nextcloud calendar sync
# Zoho Configuration (Source)
[zoho]
server_url = "https://caldav.zoho.com/caldav"
username = ""
password = ""
selected_calendars = []
# Nextcloud Configuration (Target)
[nextcloud]
server_url = ""
username = ""
password = ""
target_calendar = "Imported-Zoho-Events"
create_if_missing = true
[server]
# Request timeout in seconds
timeout = 30
[calendar]
# Calendar color in hex format
color = "#3174ad"
# Default timezone for processing
timezone = "UTC"
[sync]
# Synchronization interval in seconds (300 = 5 minutes)
interval = 300
# Whether to perform synchronization on startup
sync_on_startup = true
# Number of weeks ahead to sync
weeks_ahead = 1
# Whether to run in dry-run mode (preview changes only)
dry_run = false
# Performance settings
max_retries = 3
retry_delay = 5
# Optional filtering configuration
# [filters]
# # Event types to include (leave empty for all)
# event_types = ["meeting", "appointment"]
# # Keywords to filter events by
# keywords = ["work", "meeting", "project"]
# # Keywords to exclude
# exclude_keywords = ["personal", "holiday", "cancelled"]
# # Minimum event duration in minutes
# min_duration_minutes = 5
# # Maximum event duration in hours
# max_duration_hours = 24