Description
There is an inconsistency in how user data directories are structured across different protocols. Standard WebDAV files are nested under a dedicated subdirectory, while CalDAV and CardDAV data sit directly in the user's root folder with a prefix. This should be cleaned up and unified.
Current Behavior
WebDAV: data/files/<username>/
CalDAV: data/<username>/cal-<name>/
CardDAV: data/<username>/card-<name>/
Expected Behavior (Proposed Layout)
All user data should follow a consistent nesting pattern under the primary user directory:
WebDAV: data/<username>/files/
CalDAV: data/<username>/calendars/<name>/
CardDAV: data/<username>/addressbooks/<name>/
Impact
Code Complexity: Path resolution logic is split across different subsystems.
Maintenance: Deleting or backing up a user requires sweeping multiple disparate paths instead of a single root folder.
Todo
Update path resolution logic in the storage providers.
Create a migration script to safely move existing directories without data loss.
Ensure API endpoints and sync clients handle the path changes smoothly.
**Description**
There is an inconsistency in how user data directories are structured across different protocols. Standard WebDAV files are nested under a dedicated subdirectory, while CalDAV and CardDAV data sit directly in the user's root folder with a prefix. This should be cleaned up and unified.
**Current Behavior**
* WebDAV: `data/files/<username>/`
* CalDAV: `data/<username>/cal-<name>/`
* CardDAV: `data/<username>/card-<name>/`
**Expected Behavior (Proposed Layout)**
All user data should follow a consistent nesting pattern under the primary user directory:
* WebDAV: `data/<username>/files/`
* CalDAV: `data/<username>/calendars/<name>/`
* CardDAV: `data/<username>/addressbooks/<name>/`
**Impact**
* **Code Complexity:** Path resolution logic is split across different subsystems.
* **Maintenance:** Deleting or backing up a user requires sweeping multiple disparate paths instead of a single root folder.
**Todo**
- [ ] Update path resolution logic in the storage providers.
- [ ] Create a migration script to safely move existing directories without data loss.
- [ ] Ensure API endpoints and sync clients handle the path changes smoothly.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description
There is an inconsistency in how user data directories are structured across different protocols. Standard WebDAV files are nested under a dedicated subdirectory, while CalDAV and CardDAV data sit directly in the user's root folder with a prefix. This should be cleaned up and unified.
Current Behavior
data/files/<username>/data/<username>/cal-<name>/data/<username>/card-<name>/Expected Behavior (Proposed Layout)
All user data should follow a consistent nesting pattern under the primary user directory:
data/<username>/files/data/<username>/calendars/<name>/data/<username>/addressbooks/<name>/Impact
Todo