Commit Graph

150 Commits (7d0b23e95512330879f433d019c6c38cffd3739d)

Author SHA1 Message Date
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
Tomáš Mládek bb2a8e909f cargo clippy fix 2020-09-30 01:33:36 +02:00
Tomáš Mládek f586b93af5 remove "|| true" from init update logic; add command-line opt for that 2020-09-30 01:31:59 +02:00
Tomáš Mládek 02c65ded8e return an enum signifying action taken from fs update functions 2020-09-30 01:31:48 +02:00
Tomáš Mládek 7fd537a948 add DELETE endpoint for objects, update URLs (/get/ -> /obj/) 2020-09-29 00:55:09 +02:00
Tomáš Mládek 2307c7bd57 expand query_entries for fuzzier queries; fix filename lookup 2020-09-29 00:30:00 +02:00
Tomáš Mládek 9a5a7383a4 add bulk_retrieve_objects, add base inspect view, upgrade typescript, add swrv...
fix type issues, better http errors on mangled addresses
2020-09-25 02:45:17 +02:00
Tomáš Mládek 0e424c4e8c switch to Vue 3 in ui 2020-09-25 01:11:04 +02:00
Tomáš Mládek 6e449088a0 add update duration print out 2020-09-23 23:11:50 +02:00
Tomáš Mládek 80541fe978 non-duplicate updates (without updating virtual fs structure yet) 2020-09-22 00:41:59 +02:00
Tomáš Mládek 63ffe42907 lock update pool behind r/w lock; increase timeout to 30s
to-do - integrate r/w lock into pool directly?
2020-09-20 20:14:05 +02:00
Tomáš Mládek 400b0d11f2 ^^ take that back, likely not necessary in this case 2020-09-20 19:42:53 +02:00
Tomáš Mládek ec9b31292e handle canonicalization errors 2020-09-20 19:40:36 +02:00
Tomáš Mládek 967e3a3c7d lint 2020-09-20 19:32:28 +02:00
Tomáš Mládek 0e0afae089 parallelize hashing with rayon 2020-09-20 19:28:44 +02:00
Tomáš Mládek 9823f646cd move all reimport db writes into a transaction 2020-09-20 17:17:43 +02:00
Tomáš Mládek e0a03b30fa split business code in reimport_directory in a separate function 2020-09-20 16:29:16 +02:00
Tomáš Mládek 00e0dc288c remove DbExecutor, store plain pool in state; refactor into functions
also put loggersink in util.rs
2020-09-15 19:26:47 +02:00
Tomáš Mládek 36e3c4a145 move LoggerSink to util.rs 2020-09-14 21:18:53 +02:00
Tomáš Mládek 01a737285c clippy fixes 2020-09-14 01:16:01 +02:00
Tomáš Mládek c9c005eff0 strip and relativize paths on fs import 2020-09-13 20:43:45 +02:00
Tomáš Mládek ff457faca3 hierarchy listing endpoint, fix trailing slash upath parsing 2020-09-13 20:10:18 +02:00
Tomáš Mládek 2b92a1ad67 validate path on string parse 2020-09-13 19:20:32 +02:00
Tomáš Mládek d505653866 reorganize code in database.rs 2020-09-13 16:30:01 +02:00
Tomáš Mládek 267bca92bf /raw/ endpoint does not take plain hash but an encode, add Entry.as_json() 2020-09-13 14:28:58 +02:00
Tomáš Mládek b245b50e15 fix retrieveobject 2020-09-13 13:24:35 +02:00
Tomáš Mládek 0464d2712e remove encode() where unnecessary, add /get/{object} route 2020-09-13 13:22:18 +02:00
Tomáš Mládek 3cf3343326 files are separate objects 2020-09-12 23:07:50 +02:00
Tomáš Mládek 762a7914a1 first somewhat working version of import! 2020-09-12 22:50:14 +02:00
Tomáš Mládek fc7635bf70 --reinitialize param, logging 2020-09-12 15:02:03 +02:00
Tomáš Mládek 6895b076be display methods 2020-09-12 14:43:42 +02:00
Tomáš Mládek 1d952b34dd various fixes, fleshing out, directory retrieval / creation 2020-09-12 14:31:53 +02:00
Tomáš Mládek e49d4c9ff5 implement entity system, first step 2020-09-07 21:21:54 +02:00
Tomáš Mládek add9dd012f update models, fix build, add chrono 2020-09-06 12:32:17 +02:00
Tomáš Mládek d7bbb5396c first database draft 2020-09-06 12:02:55 +02:00
Tomáš Mládek c27abd6cac rudimentary makefile, first "self-serving" version, enable NO_BROWSER flag 2020-08-30 23:13:09 +02:00
Tomáš Mládek 7faa12a44f fix according to cargo clippy 2020-08-30 22:14:24 +02:00
Tomáš Mládek 6b32235896 fix "new" db detection, add initial update 2020-08-30 22:11:32 +02:00
Tomáš Mládek ec0f4f5ec6 return a struct on database open 2020-08-30 17:13:46 +02:00
Tomáš Mládek 59da75eeef open browser to web UI on start 2020-08-30 16:45:42 +02:00
Tomáš Mládek 0b24990436 filter only to valid files 2020-08-27 01:30:55 +02:00
Tomáš Mládek a67b970cd1 add lookup endpoint, index on path and valid 2020-08-27 01:30:53 +02:00
Tomáš Mládek 96b666ab41 put routes into routes.rs 2020-08-27 01:07:25 +02:00
Tomáš Mládek c18625285b clippy improvements 2020-08-28 13:51:22 +02:00
Tomáš Mládek f1c5a59073 log migrations to logger, not to stdout directly 2020-08-27 01:02:28 +02:00
Tomáš Mládek 48cf5889e7 initial commit 2020-08-27 00:11:50 +02:00