81987e9321
Bug fix: - URL-decode paths in extract_webdav_path(), extract_caldav_path(), extract_carddav_path() so folders with spaces (e.g. 'My Folder') no longer return 404 when accessed via encoded URIs (%20) - Properly encode href values in PROPFIND/PROPPATCH/LOCK XML responses - Decode Destination header in MOVE/COPY operations New feature - App Passwords (API keys for DAV clients): - POST /api/auth/app-passwords → create (shows token once) - GET /api/auth/app-passwords → list (prefix only) - DELETE /api/auth/app-passwords/:id → revoke - Auth middleware now accepts both Bearer JWT and Basic Auth - Argon2 hashed, scoped (webdav/caldav/carddav), optional expiry - Compatible with DAVx5, Thunderbird, rclone, curl Tested: 12/12 E2E tests pass (create, list, WebDAV/CalDAV/CardDAV Basic Auth, URL-decode with spaces, wrong password 401, revoke, post- revoke 401).
31 lines
880 B
Rust
31 lines
880 B
Rust
pub mod admin_settings_service;
|
|
pub mod app_password_service;
|
|
pub mod auth_application_service;
|
|
pub mod batch_operations;
|
|
pub mod calendar_service;
|
|
pub mod device_auth_service;
|
|
pub mod contact_service;
|
|
pub mod favorites_service;
|
|
pub mod file_management_service;
|
|
pub mod file_retrieval_service;
|
|
pub mod file_upload_service;
|
|
pub mod file_use_case_factory;
|
|
pub mod folder_service;
|
|
pub mod i18n_application_service;
|
|
pub mod recent_service;
|
|
pub mod search_service;
|
|
pub mod share_service;
|
|
pub mod storage_usage_service;
|
|
pub mod trash_service;
|
|
pub mod wopi_lock_service;
|
|
pub mod wopi_token_service;
|
|
|
|
#[cfg(test)]
|
|
mod trash_service_test;
|
|
|
|
// Re-exportar para facilitar acceso
|
|
pub use file_management_service::FileManagementService;
|
|
pub use file_retrieval_service::FileRetrievalService;
|
|
pub use file_upload_service::FileUploadService;
|
|
pub use file_use_case_factory::AppFileUseCaseFactory;
|