Commit Graph

392 Commits

Author SHA1 Message Date
Mahmoud Emad
2e7efdf229 ci: Remove the vfs test from the CI to check what is wrong 2025-02-19 01:54:39 +02:00
Mahmoud Emad
f47703f599 feat: Simplify OurDB.set function
- Remove unnecessary nested `if` statement in `OurDB.set`.
- Improve code readability and maintainability.
2025-02-19 01:18:23 +02:00
Mahmoud Emad
383fc9fade feat: Improve OurDBFS ID generation and data persistence
- 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.
2025-02-19 01:12:19 +02:00
Mahmoud Emad
4691046d5f refactor: Remove unnecessary debug print statements
- Removed numerous println statements throughout the codebase.
2025-02-18 17:45:29 +02:00
Mahmoud Emad
7b453962ca feat: Enhance WebDAV server and add VFS encoder/decoder tests
- 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.
2025-02-18 17:40:37 +02:00
Mahmoud Emad
528d594056 feat: Improve OurDBFS file system persistence and ID generation
- 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.
2025-02-18 13:27:22 +00:00
timurgordon
6305cf159e small fixes on example 2025-02-18 05:22:38 +03:00
Mahmoud Emad
906f13b562 feat: Refactor WebDAV server to use VFS core
- Replace custom VFS implementations with the core VFS module
- Simplify VFS setup and configuration in example code
- Improve code maintainability and consistency
2025-02-17 17:01:35 +00:00
timurgordon
84142b60a7 create webdav -> parent_vfs -> ourdb_vfs example 2025-02-17 19:14:00 +03:00
Mahmoud Emad
66f29fcb02 feat: Improve OurDBFS and OurDBVFS functionalities
- 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.
2025-02-17 15:37:58 +00:00
Mahmoud Emad
73c3c3bdb5 feat: Add CLI for webdav server
- Replaced the old webdav server example with a CLI application.
- Added command-line flags for port, directory, username, and password.
- Improved usability and configurability of the webdav server.
2025-02-17 10:00:26 +00:00
Mahmoud Emad
fa677c01b2 feat: Improve safety of get_entry function
- Wrap child access in unsafe block to prevent potential data races.
2025-02-17 09:44:25 +00:00
Mahmoud Emad
acd1a4a61d WIP: Fixing the tests 2025-02-16 14:04:17 +00:00
Mahmoud Emad
ee1ac54dde refactor: Rename crystallib to herolib
- Updated import paths to reflect the renaming of the
  `crystallib` module to `herolib`. This change improves
  consistency and clarity in the project structure.
2025-02-16 13:01:50 +00:00
Mahmoud Emad
2599fa6859 feat: Move the vfs dirs to the herolib 2025-02-16 14:56:29 +02:00
c6ff7e7ba5 Merge branch 'development' of github.com:freeflowuniverse/herolib into development 2025-02-16 10:05:41 +03:00
3f9a3fb1cd caldav... 2025-02-16 10:05:35 +03:00
7ae4f7dbd0 mail/contacts... 2025-02-16 09:30:51 +03:00
dbb44ec30a mail 2025-02-16 08:25:25 +03:00
7f4fc42a7a mail 2025-02-16 07:49:06 +03:00
01db4540b1 imap 2025-02-16 06:44:43 +03:00
5c0c096a79 Merge pull request #64 from freeflowuniverse/development_coredns
Development coredns
2025-02-13 19:19:09 +02:00
e969eacd06 fix(golang): add go path to env 2025-02-13 16:56:45 +00:00
8ed3439cdc fix(coredns): comment getting machine public ip 2025-02-13 16:13:15 +00:00
25c997fec5 fix(coredns): fixes in coredns installer and client 2025-02-12 17:55:36 +02:00
3117d288b1 WIP(osal.coredns): add example for coredns usage
- added openssl and iproute2 installation to install_v.sh since they're
  needed in coredns installation and usage.
- fixed bug in coredns build process.
- fixed bug in getting own public ip.
- fixed bugs in json encoding dns records before pushing to redis
2025-02-10 17:07:49 +00:00
299f6dea06 bump version to 1.0.13 v1.0.13 2025-02-10 15:53:30 +03:00
ed025f9acb ... 2025-02-10 15:53:06 +03:00
c4ea066927 bump version to 1.0.12 v1.0.12 2025-02-10 12:43:27 +03:00
5f9c6ff2bb ... 2025-02-10 12:41:14 +03:00
8965f7ae89 bump version to 1.0.10 v1.0.10 2025-02-10 12:08:03 +03:00
9a931b65e2 bump version to 1.0.9 v1.0.9 2025-02-10 09:42:52 +03:00
2c149507f6 fixes 2025-02-10 09:42:09 +03:00
timurgordon
34dea39c52 ... 2025-02-09 20:13:18 +00:00
timurgordon
f1a4547961 Merge branch 'development' of https://github.com/freeflowuniverse/herolib into development 2025-02-09 17:55:25 +00:00
timurgordon
8ae56a8df6 new 2025-02-09 17:53:16 +00:00
86e3fdb910 WIP(osal.coredns): add example for coredns usage
- create an example to use coredns module for adding dns records
- fix module errors
2025-02-09 18:06:16 +02:00
b731c4c388 bump version to 1.0.8 v1.0.8 2025-02-09 17:45:34 +03:00
e929ce029d Merge branch 'development_fix' of github.com:freeflowuniverse/herolib into development_fix 2025-02-09 13:51:43 +01:00
5160096a1a ... 2025-02-09 13:51:40 +01:00
f219a4041a ... 2025-02-09 15:50:56 +03:00
674eae1c11 ... 2025-02-09 13:33:21 +01:00
f62369bd01 ... 2025-02-09 13:32:44 +01:00
7a6660ebd8 ... 2025-02-09 13:32:34 +01:00
e20d1bdcc5 traeffik first version, coredns 2025-02-09 13:32:11 +01:00
3e309b6379 ... 2025-02-09 12:24:12 +01:00
ae4e92e090 ... 2025-02-09 08:55:41 +01:00
7b69719f0e ... 2025-02-09 08:55:01 +01:00
1d631fec21 ... 2025-02-09 08:52:42 +01:00
690b1b68c3 bump version to 1.0.7 v1.0.7 2025-02-08 15:17:47 +01:00