Commit Graph

195 Commits (813f21b21eb70414cf0b78b6bf6ed186d2cc6e31)

Author SHA1 Message Date
Tomáš Mládek c44afd0376 default vault name is dirname 2021-12-19 18:53:10 +01:00
Tomáš Mládek ffedb89e03 todo 2021-12-18 00:14:47 +01:00
Tomáš Mládek 64906a1049 separate hier_roots endpoint, resolve via redirects 2021-12-17 23:42:58 +01:00
Tomáš Mládek e0a603d154 remove list_hier, retrieve_object retrieves attrs of attrs, rework /api/hier 2021-12-17 23:04:35 +01:00
Tomáš Mládek 1194a4439e list_path also fetches attrs of attrs 2021-12-17 19:44:00 +01:00
Tomáš Mládek a33943bdb7 handle root /hier/ query 2021-12-17 14:15:56 +01:00
Tomáš Mládek 43d7b06c2b Revert "update dependencies"
This reverts commit 58d74d985c.
2021-12-10 14:57:46 +01:00
Tomáš Mládek 58d74d985c update dependencies 2021-12-09 22:03:55 +01:00
Tomáš Mládek 7adaecdafc re-enable synchronous mode more robustly through a drop guard 2021-12-05 23:31:19 +01:00
Tomáš Mládek b49315e22b update mtime if same hash to avoid hashing next time 2021-12-05 22:57:47 +01:00
Tomáš Mládek cb832b6789 lock concurrent fetch_or_creates to prevent inconsistencies 2021-12-05 22:36:16 +01:00
Tomáš Mládek dacfc57d11 truncate WAL log on start 2021-12-05 20:30:31 +01:00
Tomáš Mládek cec3c4891e set synchronous to NORMAL for all connections 2021-12-05 19:06:04 +01:00
Tomáš Mládek 64cdbf08bc only process files in rescan, finally fix tests 2021-12-05 13:26:27 +01:00
Tomáš Mládek 365987f261 UpdatePathOutcome includes a "Failed" variant with path and error 2021-12-05 13:26:18 +01:00
Tomáš Mládek b5a013e973 put upend into its own subdir, fix self-scanning 2021-12-05 12:43:43 +01:00
Tomáš Mládek 10eaab6e2d logging, fix "database locked" errors on init 2021-12-05 12:23:02 +01:00
Tomáš Mládek c8b8a76bba logging 2021-12-05 12:10:41 +01:00
Tomáš Mládek 636da63c76 disable browser/ui serving if folder not found 2021-12-04 22:43:37 +01:00
Tomáš Mládek 4233a5da46 improve fs rescan logging 2021-12-04 21:58:16 +01:00
Tomáš Mládek 4b1a8c862c turn off synchronous mode during fs resyncs 2021-12-04 21:43:13 +01:00
Tomáš Mládek 99c4a4e488 turn on WAL mode 2021-12-04 21:30:50 +01:00
Tomáš Mládek bc97b8bc8f move all inserts into a single transaction 2021-12-04 18:49:11 +01:00
Tomáš Mládek dd765ee94b add lru cache to resolve_path fn 2021-12-04 18:33:40 +01:00
Tomáš Mládek 4403f518c9 cargo clippy fixes 2021-12-04 16:46:13 +01:00
Tomáš Mládek 6edf550a95 logging in hash 2021-12-04 16:45:16 +01:00
Tomáš Mládek 2448169d64 small optimizations in fs import 2021-12-04 16:45:06 +01:00
Tomáš Mládek 5b973ea868 add hierarchy manipulation tests 2021-12-02 22:18:43 +01:00
Tomáš Mládek da776bbcf3 return to old (orphanized) multi-root hierarchy 2021-12-02 21:52:43 +01:00
Tomáš Mládek 1df746596f clean up db type code to better match actual usage 2021-12-02 21:30:11 +01:00
Tomáš Mládek 00cac1bca1 [db/ui] remove instantiations, use plain relations with aliases instead 2021-10-29 18:05:03 +02:00
Tomáš Mládek 30189b42a5 [db] fix clippy warnings 2021-10-29 15:49:53 +02:00
Tomáš Mládek 939297f91b [db] follow symlinks 2021-10-28 17:24:47 +02:00
Tomáš Mládek eec053a58a [db] add basic tests for fs, hierarchies, database 2021-10-24 17:26:39 +02:00
Tomáš Mládek d07c9fd339 [db] add --no-ui param 2021-10-19 22:23:46 +02:00
Tomáš Mládek 96d0ec3be7 introduce the concept of a hierarchy root 2021-08-18 11:06:39 +02:00
Tomáš Mládek 2944ce3d81 fix missing hier_label_attr, add trace to list_hier 2021-08-18 11:06:38 +02:00
Tomáš Mládek fbee24978b ensure UNode is non-empty 2021-08-18 11:06:37 +02:00
Tomáš Mládek 816f04fc86 upend hierarchies - first step
separate hierarchies.rs module from filesystem.rs, simplify and fix path handling
2021-08-18 11:06:36 +02:00
Tomáš Mládek 0b45f29319 macros into their own file, fix imports 2021-07-26 23:10:12 +02:00
Tomáš Mládek 2b6886645b more cleanup and refactoring and moving
move models.rs and schema.rs into database::inner
create util module (with hash and jobs)
2021-07-26 21:14:51 +02:00
Tomáš Mládek 754c315cd2 refactor database.rs into separate files 2021-07-26 21:00:05 +02:00
Tomáš Mládek 5953c733cf INSTANCED -> INSTANCES, sort of (also see #11) 2021-06-28 20:39:24 +02:00
Tomáš Mládek 942ccf1c40 mark failed jobs with a specific state, prevent from lingering in ui 2021-06-20 16:46:45 +02:00
Tomáš Mládek 682eca3e5a allow insertion of invariants via api 2021-06-20 14:07:15 +02:00
Tomáš Mládek 0beca214df forgotten DIR_HAS attr in FS_DIR 2021-06-19 17:59:54 +02:00
Tomáš Mládek 2a3c1a5326 add more attrs to BLOB type 2021-06-19 15:56:10 +02:00
Tomáš Mládek 86294ebf53 create macros for common (type) inserts 2021-06-19 15:54:32 +02:00
Tomáš Mládek 841dc7c07b mention data in base58 decode fail 2021-06-19 15:01:46 +02:00
Tomáš Mládek b78e38162e forgotten takes_value for --db-path 2021-06-19 13:11:27 +02:00
Tomáš Mládek 06d30433e5 allow specifying path to db on cli 2021-06-19 12:32:05 +02:00
Tomáš Mládek fa1e366e5b logging in query() 2021-06-18 19:01:05 +02:00
Tomáš Mládek 9c71eea8e1 return version info in /api/info 2021-06-18 18:28:18 +02:00
Tomáš Mládek 415450ccae add TYPE_INSTANCED, BLOB is INSTANCED by FS_FILE 2021-06-06 23:50:27 +02:00
Tomáš Mládek e0eb20aba7 add BLOB TYPE 2021-06-04 15:14:58 +02:00
Tomáš Mládek 4468262f50 fix bug adding duplicate Files
initialize digest in _process_directory_entry via once_cell
2021-05-28 23:36:00 +02:00
Tomáš Mládek 8044137531 add vault --name option, /api/info endpoint 2021-05-06 20:23:20 +02:00
Tomáš Mládek 7f358932f6 fix /latest endpoint 2021-05-06 20:10:40 +02:00
Tomáš Mládek 9df88d1ad5 fix clippy hints 2021-04-24 00:08:17 +02:00
Tomáš Mládek 7420fd45d8 add /api/files endpoint, refactor retrieve_file() 2021-04-23 23:28:58 +02:00
Tomáš Mládek c2705d328d get rid of uneccessary expects/unwraps in open_upend; logging 2021-04-19 00:34:01 +02:00
Tomáš Mládek d32334088e [backend] list_roots() returns Addresses directly, fix bug with resolving parentless directories 2021-04-04 23:24:52 +02:00
Tomáš Mládek 4804cea634 rewrite fetch_or_create_dir slightly for more clarity 2021-04-04 18:44:01 +02:00
Tomáš Mládek da4d7e6758 attach mime entry directly to file hash; add mtime & size 2021-03-25 21:29:49 +01:00
Tomáš Mládek 54c1ea711d do not log requests to /api/jobs 2021-03-24 20:37:42 +01:00
Tomáš Mládek c422f89d18 add mime type to filesystem update step 2021-03-22 23:07:39 +01:00
Tomáš Mládek b051529da6 better logging in rescan_vault() 2021-03-20 16:49:01 +01:00
Tomáš Mládek b773dbc49c TYPE_ID attr, type of TYPE
(todo: clean up, deduplicate code...)
2021-03-19 00:03:34 +01:00
Tomáš Mládek 0f006ea32c fix invariant calculation/insertion 2021-03-18 22:42:03 +01:00
Tomáš Mládek e38bab5957 remove ensure_invariant now that it's unnecessary 2021-03-15 22:37:09 +01:00
Tomáš Mládek 2ffbd4934b refer to types via address, not identifier
also rework invariant entries, add addressable trait
2021-03-15 22:32:04 +01:00
Tomáš Mládek ce36c97f2a add basic types 2021-03-14 22:16:28 +01:00
Tomáš Mládek 6f31ef5e15 Address can also refer to an Attribute (String) 2021-03-14 12:41:38 +01:00
Tomáš Mládek 21e7ee7538 finish renaming target/key/value to entity/attribute/value 2021-03-14 10:44:13 +01:00
Tomáš Mládek 6e7cdd9887 rename reimport_directory to rescan_vault 2021-03-06 22:14:17 +01:00
Tomáš Mládek 05d0fa7a87 ignore UniqueViolation errors in inserts 2021-03-06 18:23:31 +01:00
Tomáš Mládek 8751e57433 add latest_files endpoint 2021-02-21 19:51:23 +01:00
Tomáš Mládek 61a470dfe3 models::File uses Hash instead of plain Vec<u8> 2021-02-21 19:43:28 +01:00
Tomáš Mládek 105a9c7e0b fix http error code for PUT /obj 2021-02-21 17:49:34 +01:00
Tomáš Mládek dc05b05873 fix object deletion, identity attr insertion 2021-02-21 17:36:41 +01:00
Tomáš Mládek e462801823 fix entry addresses for /api/obj 2021-02-21 17:08:33 +01:00
Tomáš Mládek 302f435c5d /query returns map with hashes 2021-02-21 12:30:17 +01:00
Tomáš Mládek 550e8d5c0f fix http error code for /query 2021-02-21 10:38:31 +01:00
Tomáš Mládek ed5ea08335 add "jobs", endpoint to query vault update progress 2021-02-20 17:36:19 +01:00
Tomáš Mládek 5096e1eece refactoring: remove query_entries(), from_sexp into TryFrom, query_to_sqlite is a method 2021-02-20 12:39:19 +01:00
Tomáš Mládek 001fad3145 remove "unsafe unwraps" 2021-02-20 12:39:18 +01:00
Tomáš Mládek c0e1f42533 consolidate API routes, remove lookup_by_filename 2021-02-20 12:12:48 +01:00
Tomáš Mládek f5dd4141b1 adjacent tagging for EntryValue 2021-02-20 12:10:03 +01:00
Tomáš Mládek cc4d7209be fix FromStr for Address 2021-02-19 22:35:05 +01:00
Tomáš Mládek ae812b33d1 add hash encode/decode test 2021-02-19 22:27:54 +01:00
Tomáš Mládek 3fb436708b attempt (?) to return hash from insert_entry, improve error logging 2021-02-19 22:18:31 +01:00
Tomáš Mládek 3ad31a482d add an "insert entry" (PUT) endpoint 2021-02-19 21:58:35 +01:00
Tomáš Mládek dc71bec67a implement Serialize/Deserialize for Entry, Address, remove as_json
+ cosmetics (to_str -> to_string)
2021-02-19 21:56:25 +01:00
Tomáš Mládek 99f6c6c052 remove InnerEntry, consolidate into Entry 2021-02-19 20:27:30 +01:00
Tomáš Mládek db5235bbd5 run `cargo update`, fix incorrect imports 2021-02-18 19:20:52 +01:00
Tomáš Mládek 22dd315c47 cargo clippy fixes 2021-02-17 21:45:20 +01:00
Tomáš Mládek 1bbcc00d65 add "contains" symbol 2021-02-17 21:40:51 +01:00
Tomáš Mládek ac02450b8b fix "OR TRUE" variant; remove Option<> from query_to_sqlite() 2021-02-12 11:56:29 +01:00
Tomáš Mládek 98a9c88173 add upend query lang -> sqlite conversion; first working prototype 2021-02-12 02:06:39 +01:00
Tomáš Mládek f950e02113 add s-exp query language parsing
also rename t/k/v to e/a/v, misc. fixes
2021-02-07 20:18:55 +01:00