Commit Graph

47 Commits

Author SHA1 Message Date
Cameron
18ba5796b0 Update to rust 2021
Fix tests
2024-12-05 20:27:01 -05:00
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
2b2a811cae Fix recursive filtering under base path 2024-12-04 19:50:04 -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
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
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
7d05c9b8bf Add filtering by Tag to /images endpoint 2023-03-20 08:14:12 -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
d6e4a01c88 Move list_photos to files module
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
Added some tests, refactored the error handling/logging, and refactored
the extension tests.
2021-10-07 20:32:36 -04:00
Cameron Cordes
9d823fdc51 Create file metadata endpoint
This allows retrieving create/modify date as well as file size for any
file in the BASE_PATH.
2021-05-19 08:53:20 -04:00
Cameron Cordes
3c02bcc8fb Check upload name to make sure its an image or video
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
The upload code should be additionally refactored to probably do a more
comprehensive check of if the file is an image or video.
2021-03-07 22:00:12 -05:00
Cameron Cordes
659bad02c9 Fix clippy warnings
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
2021-02-03 17:21:23 -05:00
Cameron Cordes
f20a8a5842 Update dependencies, disable registration and improve path handling 2021-02-02 13:57:51 -05:00
Cameron Cordes
eccb45ced0 Use Absolutize for files that do not exist
Canonicalize relies on the file existing to resolve the potential
traversal, which won't work for file upload in case the file name has a
traversal inside it.
2020-10-17 19:22:55 -04:00
Cameron Cordes
f52ad9e3b6 Include Nikon Raw image files 2020-09-17 13:29:47 -04:00
Cameron Cordes
426c695b47 File upload working 2020-09-13 21:34:08 -04:00
Cameron Cordes
68bb9d9d5c Added tests and better path validation
Secure video endpoints.
2020-07-23 16:18:28 -04:00
Cameron Cordes
f63dd9cb05 Keep thumbnails in their relative directories 2020-07-21 20:36:41 -04:00
Cameron Cordes
78c066b7be Update Photos API
Since there is a body to the photos api it should be a post for now.
Also updated the response to separate files and directories.
2020-07-09 18:22:03 -04:00
Cameron Cordes
536300e0a1 Serving files is working
Right now we're not doing any streaming and this isn't ideal. I'll need
to figure it out at some point.
2020-07-08 21:38:21 -04:00
Cameron Cordes
e3bb607d95 Fix token parsing and require Auth for list files 2020-07-07 22:37:20 -04:00
Cameron Cordes
36f7351627 Initial API setup
Right now we are just listing files in a given subdirectory with not
authentication.
2020-07-07 19:53:12 -04:00