feat: Add comprehensive Nextcloud import functionality and fix compilation issues
Major additions: - New NextcloudImportEngine with import behaviors (SkipDuplicates, Overwrite, Merge) - Complete import workflow with result tracking and conflict resolution - Support for dry-run mode and detailed progress reporting - Import command integration in CLI with --import-events flag Configuration improvements: - Added ImportConfig struct for structured import settings - Backward compatibility with legacy ImportTargetConfig - Enhanced get_import_config() method supporting both formats CalDAV client enhancements: - Improved XML parsing for multiple calendar display name formats - Better fallback handling for calendar discovery - Enhanced error handling and debugging capabilities Bug fixes: - Fixed test compilation errors in error.rs (reqwest::Error type conversion) - Resolved unused variable warning in main.rs - All tests now pass (16/16) Documentation: - Added comprehensive NEXTCLOUD_IMPORT_PLAN.md with implementation roadmap - Updated library exports to include new modules Files changed: - src/nextcloud_import.rs: New import engine implementation - src/config.rs: Enhanced configuration with import support - src/main.rs: Added import command and CLI integration - src/minicaldav_client.rs: Improved calendar discovery and XML parsing - src/error.rs: Fixed test compilation issues - src/lib.rs: Updated module exports - Deleted: src/real_caldav_client.rs (removed unused file)
This commit is contained in:
parent
16d6fc375d
commit
f84ce62f73
10 changed files with 1461 additions and 342 deletions
|
|
@ -43,7 +43,7 @@ date_range = { days_ahead = 30, days_back = 30, sync_all_events = false }
|
|||
# Target server configuration (e.g., Nextcloud)
|
||||
[import.target_server]
|
||||
# Nextcloud CalDAV URL
|
||||
url = "https://cloud.soliverez.com.ar/remote.php/dav/calendars/alvaro/"
|
||||
url = "https://cloud.soliverez.com.ar/remote.php/dav/calendars/alvaro/trabajo-alvaro"
|
||||
# Username for Nextcloud authentication
|
||||
username = "alvaro"
|
||||
# Password for Nextcloud authentication (use app-specific password)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue