- Added basic WebDAV functionality for interacting with the
underlying VFS.
- Created unit tests to verify WebDAV methods.
- Improved OurDBFS implementation by adding skip attribute to
myvfs field.
- Removed unnecessary dependencies and improved code structure in `webdav` module.
- Updated VFS configuration to use global VFS instance for WebDAV app.
- Renamed example VFS file to reflect WebDAV functionality.
- Removed redundant code and simplified app initialization.
- Used the vfs interface to interact with files and dirs.
- Add `move` operation to the VFS interface and implementations.
This allows for moving files and directories within the VFS.
- Add `is_dir`, `is_file`, and `is_symlink` methods to the
`FSEntry` interface and implementations. This allows for
robust file type checking before performing operations.
- Use a counter for consistent ID generation in OurDBFS: This
eliminates reliance on timestamps, preventing ID collisions and
improving data integrity.
- Refactor save methods to directly use the VFS's save_entry
function: This simplifies the code and reduces redundancy across
different file system entity types (Directory, File, Symlink).
- Update `save_entry` in OurDBFS to use IDs for database updates:
This ensures data is correctly updated in the database based on the
unique ID of each entry. This also fixes potential issues with
overwriting data.
- Add user authentication to the WebDAV server using a user
database.
- Implement encoding and decoding functionality for directories,
files, and symlinks in the OurDBFS VFS.
- Add comprehensive unit tests for the encoder and decoder
functions.
- Improve the OurDBFS factory method to handle directory creation
more robustly using pathlib.
- Add `delete` and `link_delete` methods to the `NestedVFS` and
`OurDBVFS` implementations (though currently unimplemented).
- Improve WebDAV file handling to correctly determine and set the
content type. The previous implementation was incomplete and
returned a dummy response.
- Update VFS test to actually test functionality.
- Remove unnecessary `root_dir` parameter from the WebDAV app.
- Fixed ID generation for files and directories in OurDBFS,
preventing collisions and improving data integrity. This
ensures that IDs are consistently and uniquely assigned.
- Updated save methods to correctly update the `metadata.id`
field across all FSEntry types (File, Directory, Symlink).
This change solves a previous issue where IDs weren't being
properly persisted.
- Added incremental mode to OurDB, improving performance for
large datasets. This allows for more efficient updates
instead of full overwrites.
- Replace custom VFS implementations with the core VFS module
- Simplify VFS setup and configuration in example code
- Improve code maintainability and consistency
- Handle updates correctly in OurDB `set` function, preventing errors
when incremental mode is enabled.
- Ensure directories are correctly created with metadata in OurDBFS.
- Add debug print statements to OurDBVFS for improved debugging.
- Simplify OurDBVFS `get_entry` function for better readability and
correctness. Fixes potential issues with returning references.
- Update tests to reflect changes and use a temporary directory
to avoid conflicts.
- Updated import paths to reflect the renaming of the
`crystallib` module to `herolib`. This change improves
consistency and clarity in the project structure.
- Remove unused `lock_manager` from the `App` struct.
- Comment out the lock and unlock handlers.
- Improve `propfind` response XML generation.
- Fix path handling in `generate_response_element`.
- Update content type handling for files.
- Improve XML generation for resource responses.
Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>
- Add a WebDAV server implementation using the `vweb` framework.
- The server supports basic authentication, request logging, and essential WebDAV methods.
- Implements file operations, authentication, and request logging.
Co-authored-by: mahmmoud.hassanein <mahmmoud.hassanein@gmail.com>