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
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
...
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
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
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
...
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
...
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
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