238 Commits

Author SHA1 Message Date
b59cb0fb56 chore: upgrade rusqlite dependency to 0.38.0 2026-03-09 08:39:14 +01:00
3b3e495254 chore: rename list_by_class to list 2026-03-09 08:39:14 +01:00
7847394d13 chore: box structs into modules (catalog, eav, filter) 2026-03-09 08:39:14 +01:00
4010149ea6 doc: document method catalog.ensure_init 2026-03-09 08:39:14 +01:00
98e50faa4e feat: add method ensure_init runnable at will without overhead 2026-03-09 08:39:14 +01:00
e316ec83a3 chore: tidy redeclarations in lib.rs 2026-03-09 08:39:14 +01:00
4428cd094f chore: rename load_by_class_and_subclass to load_by_subclass 2026-03-09 08:39:14 +01:00
cb0f0cfa31 chore: rename load_by_class to load 2026-03-09 08:39:14 +01:00
f86d53e16f chore: delete test database wrongly pushed 2026-03-09 08:39:14 +01:00
da74060d51 feat: return a vector of boxed error from catalog.for_each_mut
execution is not interrupted and user can raise any error implementing
Error trait
2026-03-09 08:39:14 +01:00
222864389c chore: add Clone as Trait requirement for EAV 2026-03-09 08:39:14 +01:00
91dc75b07b test: add base test for catalog.for_each_mut 2026-03-09 08:39:14 +01:00
e9b136341b doc: add documentation for catalog.for_each and catalog.for_each_mut 2026-03-09 08:39:14 +01:00
34808ccf74 feat: allow predicate to generate an error and return it boxed 2026-03-09 08:39:14 +01:00
bbc6105452 test: add tests to catalog.for_each, set FnMut requirement for predicate 2026-03-09 08:39:14 +01:00
f8b8d4c9e3 chore: correct wrong category spelling 2026-03-09 08:39:14 +01:00
cd0679c20c feat: add catalog.for_each_mut to apply changes to all items iteratively 2026-03-09 08:39:13 +01:00
23a6ccf8fc feat: add catalog.for_each to inspect all items iteratively 2026-03-09 08:39:13 +01:00
20078034c5 feat: add PartialEq trait requirement to EAV 2026-03-09 08:39:13 +01:00
2ecee20145 feat: add catalog.get_by in order to get items given a predicate 2026-03-09 08:39:13 +01:00
2aa1e7cb46 doc: update documentation of catalog.persist 2026-03-09 08:39:13 +01:00
44f548562b doc: update documentation of catalog.upsert 2026-03-09 08:39:13 +01:00
8a23cfc34d doc: update documentation of catalog.load_by_class 2026-03-09 08:39:13 +01:00
7a250201b3 doc: update ducomentation of catalog.load_by_filter 2026-03-09 08:39:13 +01:00
5a15a018ab doc: update documentation of catalog.load_by_id 2026-03-09 08:39:13 +01:00
25a39ce54c doc: update documentation of catalog.insert_many 2026-03-09 08:39:13 +01:00
6a8351b4d6 doc: update documentation of catalog.init 2026-03-09 08:39:13 +01:00
dcffe956fd doc: update documentation of catalog.get 2026-03-09 08:39:13 +01:00
14469c7229 chore: add a space for convenient jumping 2026-03-09 08:39:13 +01:00
00d8ebdb38 test: add two more field to struct Item to test i32 and u32 values 2026-03-09 08:39:13 +01:00
cfcacefe9a test: add properties to Item struct to improve test code coverage for Entity 2026-03-09 08:39:13 +01:00
54d4d7511a chore: run cargo update to latest minor versions 2026-03-09 08:39:13 +01:00
7446f0db1c fix: call proper method to get entity id 2026-03-09 08:39:13 +01:00
7398de4559 fix: set proper mutability level for with_items call 2026-03-09 08:39:13 +01:00
2fa3e423e5 chore: add warning for missing documentation 2026-03-09 08:39:13 +01:00
f7ab450e2c review: make entity fields private; expose id and subclass 2026-03-09 08:39:13 +01:00
6ef36e2068 doc: update documentation to reach higher coverage 2026-03-09 08:39:13 +01:00
a38b96a667 test: add test for thread safety; remove mut for upsert and persist 2026-03-09 08:39:13 +01:00
6f6df06be2 wip: add test for thread safety 2026-03-09 08:39:13 +01:00
e1178f7126 chore: restore examples after thread safety feature 2026-03-09 08:39:13 +01:00
645e7560b3 chore: restore lib example after thread safety feature 2026-03-09 08:39:13 +01:00
bc4ac445c9 feat: set catalog as thread safe
wip: add a thread safe way to access items; change upsert

wip: change catalog.delete to be thread safe

wip: change catalog.load_by_* to be thread safe

wip: add a thread safe way to access items in readonly mode; change
catalog.get

wip: change catalog.persist to be thread safe

wip: disable examples temprarily

wip: remove catalog_new.rs file

wip: ignore result of iteration

wip: disable lib example

wip: enable catalog.delete tests

wip: enable catalog.get tests

wip enalbe catalog.init tests

wip: enable catalog.insert_many tests

wip: enable catalog.load_by_class tests

wip: enable catalog.load_by_id tests

wip: add len() and is_empty() convenience thread safe method to catalog

wip: use convenience methods for len and is_empty checks

wip: enable catalog.load_by_id and catalog.new tests

wip: enable catalog.upsert tests

wip: enable catalog.persist test; add catalog.contains_key

wip: enable catalog.load_by_filter tests

wip: enable sqlite_* tests

wip: enable list_by_class with tests

wip: enable list_by_class_and_subclass with tests

wip: enable integration tests

wip: switch iter to into_iter for tests
2026-03-09 08:39:13 +01:00
a2ad264b39 chore: extract tests from sqlite_* files into their own module 2026-03-09 08:39:13 +01:00
f5f0f189fa chore: extract tests from catalog.rs into their own module implementation 2026-03-09 08:39:13 +01:00
dedfe7a5d2 chore: move Item outside of catalog test mod 2026-03-09 08:39:12 +01:00
d4ecd1a6cc chore: extract catalog function into their own impl file
also get rid of
- get_by_class_and_attribute
- list_by_class_and_attribute
2026-03-09 08:39:12 +01:00
e362188438 chore: remove useless dependencies used only during early development 2026-03-09 08:39:12 +01:00
0493a2ef66 doc: add an example to showcase how to work with class and subclass 2026-03-09 08:39:12 +01:00
c3594b6a3f feat: add entity.subclass index to db schema 2026-03-09 08:39:12 +01:00
314c9ce323 feat: add class and subclass to filter struct 2026-03-09 08:39:12 +01:00