Commit Graph

163 Commits

Author SHA1 Message Date
Matthias Beyer b7aac5e275 Remove aspects which were removed in #277 2016-03-26 15:03:34 +01:00
Matthias Beyer 4a3fdfe862 Merge pull request #288 from matthiasbeyer/libimagstore/fix-wrong-hook-call
Fix wrong hook execution: post-retrieve
2016-03-26 13:57:00 +01:00
Matthias Beyer 7c276d541d Merge pull request #279 from matthiasbeyer/libimagstore/rewrite-file
Truncate file to zero size before writing new content, so we do not p…
2016-03-26 13:56:06 +01:00
Matthias Beyer 0a181479c8 Merge pull request #277 from matthiasbeyer/libimagstore/remove-unused-aspects
Libimagstore/remove unused aspects
2016-03-26 13:55:46 +01:00
Matthias Beyer 93d7b81dc5 Merge pull request #276 from matthiasbeyer/libimagstore/config-getter
Store::config() added, mainly for debugging use
2016-03-26 13:55:11 +01:00
Matthias Beyer bb918db5c3 Fix wrong hook execution: post-retrieve 2016-03-25 19:17:19 +01:00
Matthias Beyer ab417a17d0 Truncate file to zero size before writing new content, so we do not partially write the file 2016-03-25 15:39:26 +01:00
Kai Sickeler 797a707c8e removed unused Pre- / PostRead aspects 2016-03-25 15:22:45 +01:00
Matthias Beyer ad18091b88 Store::config() added, mainly for debugging use 2016-03-25 15:15:37 +01:00
Matthias Beyer c5c60cf36d impl Debug for Store 2016-03-25 13:30:26 +01:00
Matthias Beyer 22052ba9f0 Add some more error types to be more specific about what happened 2016-03-25 13:30:16 +01:00
Matthias Beyer c59ed7d2fe Use unused result when file.write_all() and return error 2016-03-22 19:44:04 +01:00
Matthias Beyer dc7a212278 Use unused result which must be used when file.seek()ing 2016-03-22 19:44:04 +01:00
Matthias Beyer 8e852384bd Remove unused function from Store 2016-03-22 19:44:04 +01:00
Matthias Beyer a4c820d308 Remove unused keyword "mut" 2016-03-22 19:43:48 +01:00
Matthias Beyer 2fb59b3ae6 Remove unused imports 2016-03-22 19:43:48 +01:00
Matthias Beyer 041a2a4942 Add encoding error if typeconversion fails 2016-03-19 15:15:04 +01:00
Matthias Beyer fe0849f8eb Add implementation for Store::retrieve_for_module() 2016-03-19 15:15:04 +01:00
Matthias Beyer feac9ae9e8 Store::new(): Aspect configuration added 2016-03-16 16:46:54 +01:00
Matthias Beyer 08b36972f1 Make store configuration optional 2016-03-16 16:46:54 +01:00
Matthias Beyer 0286d8a25e Store: Add hook configuration on registration 2016-03-16 16:46:54 +01:00
Matthias Beyer 59fdb7ef3d Store: Get configuration object not as reference, to avoid livetimes 2016-03-16 16:46:54 +01:00
Matthias Beyer cd55e7d625 Add Aspect building based on configuration 2016-03-16 16:46:53 +01:00
Matthias Beyer 679865464b Reimplement hook registration and execution 2016-03-16 16:46:52 +01:00
Matthias Beyer 37a505609e Remove hook traits. There can only be one trait: Hook 2016-03-16 16:46:52 +01:00
Matthias Beyer 3e62b71605 Add StoreIdAccessor trait 2016-03-16 16:46:52 +01:00
Matthias Beyer fa9e8e8192 Split hook/mod.rs into several files 2016-03-16 16:46:52 +01:00
Matthias Beyer a9600f23b3 Threaded hook execution 2016-03-16 16:46:52 +01:00
Matthias Beyer 79ba3f5151 Hook calling rewrite 2016-03-16 16:46:52 +01:00
Matthias Beyer d9a4512821 Add debug output for hook exec functions 2016-03-16 16:46:51 +01:00
Matthias Beyer da3554d98e Add debug output for hook register functions 2016-03-16 16:46:51 +01:00
Matthias Beyer bb0e7e2468 Implement: execute_post_delete_hooks() 2016-03-16 16:46:51 +01:00
Matthias Beyer f703e8a4cd Implement: execute_post_update_hooks() 2016-03-16 16:46:51 +01:00
Matthias Beyer 7014256407 Implement: execute_post_retrieve_hooks() 2016-03-16 16:46:51 +01:00
Matthias Beyer 5831d3bc7b Implement: execute_post_create_hooks() 2016-03-16 16:46:51 +01:00
Matthias Beyer 196be30d91 Implement: execute_post_read_hooks() 2016-03-16 16:46:51 +01:00
Matthias Beyer 09acddaef9 Implement: execute_pre_delete_hooks() 2016-03-16 16:46:51 +01:00
Matthias Beyer 5aa663987b Implement: execute_pre_update_hooks() 2016-03-16 16:46:51 +01:00
Matthias Beyer 94128f8bcc Implement: execute_pre_retrieve_hooks() 2016-03-16 16:46:50 +01:00
Matthias Beyer 3244b87c7e Implement: execute_pre_create_hooks() 2016-03-16 16:46:50 +01:00
Matthias Beyer 975a2bc8b9 Implement: execute_pre_read_hooks() 2016-03-16 16:46:50 +01:00
Matthias Beyer ac280ba616 Insert pre/post hook execution functions 2016-03-16 16:46:50 +01:00
Matthias Beyer 17b1d6c390 Redefine hook trait system 2016-03-16 16:39:39 +01:00
Matthias Beyer b9127381b8 Add hook registering 2016-03-16 16:39:39 +01:00
Matthias Beyer 361dec4cec Revert "Check whether the StoreId is inside the store, before doing anything on the FS"
This reverts commit 373502217e.
2016-03-12 16:06:10 +01:00
Matthias Beyer a3a09ff4ee Fix store creation of libimagstore
The macro may not prefix the StoreId internal PathBuf with '/', so this
path is not absolute. This way we can introduce `storify_id()` which
creates a proper PathBuf into the store out of our StoreId object.

Does not yet do verification whether the path is inside the store,
actually.
2016-03-10 18:46:26 +01:00
Matthias Beyer 3413646934 Revert "Check whether the StoreId is inside the store, before doing anything on the FS"
This reverts commit 373502217e
as this commit was introducing a bug.

The StoreId type says `/test/example` for a store id path, which is
completely valid, as the root (`/`) is the store itself. The
id_in_store() function assumed that the store-id is the full
(file-system) path to the store entry, which is false.

This commit does not introduce a fix but revert the check.
2016-03-10 18:14:53 +01:00
Matthias Beyer 257fe1880e EntryHeader: Function to get toml object 2016-03-06 11:51:09 +01:00
Matthias Beyer 22e9f8a93b Remove unused import 2016-03-01 21:21:14 +01:00
Matthias Beyer 1a8106dfd2 Add missing error-forwarding 2016-03-01 21:20:53 +01:00