157 Commits

Author SHA1 Message Date
Cameron
9c2cd2566f Prepare for rust edition 2021 2024-12-05 20:25:00 -05:00
Cameron
8daa35b5a7 Fix recursive search when beneath top level directory 2024-12-05 20:19:38 -05:00
Cameron
0419aa2323 Scan and generate Video HLS playlists on startup
Refactored and improved video path state. Bumped versions of some dependencies.
2024-12-05 20:19:03 -05:00
Cameron
2b2a811cae Fix recursive filtering under base path 2024-12-04 19:50:04 -05:00
Cameron
b7f13d4cbf Fix exclude filtering for any tags 2024-12-04 19:42:00 -05:00
Cameron
d280db8482 Fix exclude filtering 2024-11-27 16:42:17 -05:00
Cameron
0af7c8f98b Fix missing return and update test signatures 2024-11-27 15:43:27 -05:00
Cameron
9327208deb Remove filtering when recursively searching with tags 2024-11-25 21:40:25 -05:00
Cameron
a668b14116 Update deprecated functions 2024-11-24 12:56:21 -05:00
Cameron
860e7a97fb Use TagDao for improved filtering 2024-11-24 09:49:03 -05:00
Cameron
9a32a1cfe7 Allow for excluding certain tags from a file search 2024-11-23 20:21:19 -05:00
Cameron
6986540295 Add sorting shuffle, and name asc/desc 2024-11-23 19:13:25 -05:00
Cameron
287a61ae3f Update dependencies, improve startup logging 2024-11-23 12:14:12 -05:00
Cameron Cordes
9a486b3f66 Use PhotoSize enum in file requests 2024-06-30 17:49:55 -04:00
Cameron Cordes
1881b9efb9 Trim spaces from new tags
Fix unit test build
2024-03-20 22:16:06 -04:00
Cameron Cordes
3925d835f6 Fix recursive searching with tags 2024-03-10 20:45:18 -04:00
Cameron Cordes
05a56ba0bd Fix Recursive searching with tags including Any and All filter modes 2024-03-09 13:11:55 -05:00
Cameron Cordes
b2c8ebe558 Break-up FilterMode.All being recursive
Filtering on tags needs some reworking to handle recursive with All or Any
filtering.
2024-03-07 19:01:46 -05:00
Cameron Cordes
ef39359862 Add basic recursive tag searching support based on the search path 2024-03-07 17:56:50 -05:00
Cameron Cordes
30dba33e47 Refresh thumbnails after an upload or file move 2024-02-21 17:24:16 -05:00
Cameron Cordes
0faad2fbdb Ensure Move endpoint does not overwrite an existing file 2024-01-21 21:35:36 -05:00
Cameron Cordes
419dd7e7e5 Add Move File functionality and endpoint 2024-01-21 21:10:13 -05:00
Cameron Cordes
17012fc447 Merge branch 'master' into feature/include-tag-counts 2024-01-17 22:47:46 -05:00
Cameron Cordes
5bbc775d3a Update to Watcher 6
Improve upload performance by relying on the file watcher instead of
synchronously creating thumbnails before responding to the client.
2024-01-17 22:25:18 -05:00
Cameron Cordes
195d522f64 Add file upload log in happy path and update log level for duplicate path 2024-01-17 21:00:15 -05:00
Cameron Cordes
bf7fb810de Fix duplicate file naming 2024-01-17 20:45:36 -05:00
Cameron Cordes
2b9a741642 Account for current path for tag counts
Fix tag unit tests
2023-12-02 13:38:24 -05:00
Cameron Cordes
da21f064b9 Add the count of tagged files to All tags endpoint 2023-12-01 23:01:03 -05:00
Cameron Cordes
9e8f02240f Put timestamp in file name if uploaded file already exists 2023-04-30 11:37:23 -04:00
Cameron Cordes
8bcd837038 Fix file upload
Add a flag for new files so we can skip the exists check when seeing if
the new file is within the base directory.
2023-04-03 08:41:03 -04:00
Cameron Cordes
7863990c68 Run clippy 2023-03-25 20:59:32 -04:00
Cameron Cordes
a9109fc52d Add the ability to query files by tags independent of file path 2023-03-25 20:52:51 -04:00
Cameron Cordes
ae2642a544 Fix warnings, and general code cleanup 2023-03-25 20:52:20 -04:00
Cameron Cordes
ae8665f632 Fix clippy warnings 2023-03-22 15:17:48 -04:00
Cameron Cordes
4ded708911 Extract FileSystem to a trait for better testability
Added some tests around filtering and searching by Tags. Added the
ability to use an in-memory Sqlite DB for more integration tests.
2023-03-22 15:17:33 -04:00
Cameron Cordes
5a2dce85e8 Fix searching by tags and fixed All FilterMode
Manually parsing the tag_ids for the file filtering isn't amazing, but
this works in a more friendly format.

Also the All filter mode was set up in the wrong direction instead of
checking that the file had ALL the tag ids provided, it checked that all
the tag-ids were on a file, which is too restrictive and wouldn't show
many files. Perhaps an ONLY option could exist for being even more
specific.
2023-03-22 13:58:14 -04:00
Cameron Cordes
02444de7fa Fix tagging file with new tag
When tagging a file with a brand new tag, we were using the number of
rows affected as the ID instead of doing the query for the ID of the row
we just inserted, this should fix when we tag a photo with a new tag.
2023-03-22 13:51:32 -04:00
Cameron Cordes
7d05c9b8bf Add filtering by Tag to /images endpoint 2023-03-20 08:14:12 -04:00
Cameron Cordes
de4041bd17 Refactor tags services and added tests
Implemented some functionality which will allow the service
configuration of the app to be split among the features for readability
and testability.
2023-03-19 15:05:20 -04:00
Cameron Cordes
fbcfc68e01 Fix tests 2023-03-19 12:29:33 -04:00
Cameron Cordes
8bcd9440bf Add Endpoint for Batch add/removal of tags on a file 2023-03-19 12:13:04 -04:00
Cameron Cordes
f98d3261a7 Fix tags all and tags for photo endpoints 2023-03-18 21:00:26 -04:00
Cameron Cordes
68bfcbf85f Update and Migrate Diesel to 2.0
Almost have tag support working, still figuring out how to get photo
tags.
2023-03-18 14:43:41 -04:00
Cameron Cordes
40c79d13db Move tags to their own module
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2022-03-17 22:07:33 -04:00
Cameron Cordes
c8cae28c9f Merge branch 'master' into feature/tagging 2022-03-17 21:53:17 -04:00
Cameron Cordes
528db5da3a Move app state to its own module
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2022-03-17 19:40:07 -04:00
Cameron Cordes
4d9b7c91a1 Improve testability and remove boxing
Some checks failed
Core Repos/ImageApi/pipeline/pr-master There was a failure building this commit
Leverage generics to remove the extra heap allocation for the response
handlers using Dao's. Also moved some of the environment variables to
app state to allow for easier testing.
2022-03-16 20:51:37 -04:00
Cameron Cordes
50e973da1f Cleanup unused imports
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2022-03-01 21:16:04 -05:00
Cameron Cordes
69fe307516 Update to Actix 4
Some checks failed
Core Repos/ImageApi/pipeline/pr-master There was a failure building this commit
2022-03-01 20:38:41 -05:00
Cameron Cordes
9cd19d03eb Create Delete Tag endpoint
Some checks failed
Core Repos/ImageApi/pipeline/pr-master There was a failure building this commit
2021-11-30 20:07:00 -05:00