Commit Graph

115 Commits

Author SHA1 Message Date
Cameron Cordes
6c5014253f Update gitignore and RustRover config 2024-01-17 20:49:31 -05:00
Cameron Cordes
bf7fb810de Fix duplicate file naming 2024-01-17 20:45:36 -05:00
Cameron Cordes
9e8f02240f Put timestamp in file name if uploaded file already exists 2023-04-30 11:37:23 -04:00
5228cb14e0 Merge pull request 'feature/tagging' (#16) from feature/tagging into master
Reviewed-on: #16
2023-04-10 12:55:27 +00: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
d0536c8980 Merge pull request 'Improve testability and remove boxing' (#20) from feature/testing-improvements into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #20
2022-03-18 00:25:51 +00: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
e02165082a Merge pull request 'Update to Actix 4' (#19) from feature/update-to-actix-4 into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #19
2022-03-02 02:32:29 +00: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
b219663e0a Update CI to Rust 1.59
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
This will support Rust 2021 edition for Actix 4.
2022-03-01 20:44:51 -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
1e3f33c2d3 Merge pull request 'Update Rust image to 1.55' (#17) from feature/update-ci-rust-155 into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #17
2021-10-13 16:41:15 +00:00
Cameron Cordes
f0e96071be Update Rust image to 1.55
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-10-13 12:12:25 -04:00
Cameron Cordes
14ab02a1ec Elevate insertion logs to info and fix error logs
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-10-11 21:52:06 -04:00
Cameron Cordes
2e5ac8861c Add created timestamps for tags 2021-10-11 21:52:06 -04:00
Cameron Cordes
9d925be84d Improve add tag endpoint and add get tag endpoint
Flattened out the add tag logic to make it more functional.
2021-10-11 21:52:06 -04:00
Cameron Cordes
8939ffbaf5 Create Tag tables and Add Tag endpoint 2021-10-11 21:52:06 -04:00
Cameron Cordes
2d6db6d059 Update dependencies 2021-10-11 21:52:06 -04:00
652c2d03d5 Merge pull request 'feature/improve-files-endpoint' (#15) from feature/improve-files-endpoint into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #15
2021-10-08 01:01:00 +00: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
2c50b4ae2f Add anyhow, Improve Auth token code
Moved test helper code to its own module.
2021-10-07 20:32:36 -04:00
e4dac64776 Merge pull request 'Create file metadata endpoint' (#14) from feature/file-info-api into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #14
2021-07-08 21:28:15 +00:00
Cameron Cordes
0e972509aa Update dependencies
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-07-08 16:53:50 -04:00
Cameron Cordes
8622500a2f Use file metadata to sort files and directories 2021-06-02 08:32:20 -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
9a40614d1e Merge pull request 'feature/prometheus-metrics' (#13) from feature/prometheus-metrics into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #13
2021-05-01 05:02:27 +00:00
Cameron Cordes
c5a7675986 Use IntGauge for media counts
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-05-01 00:16:55 -04:00
Cameron Cordes
a79179c5c3 Add Image and Video total gauges 2021-04-30 23:53:10 -04:00
Cameron Cordes
6abc99d9b6 Add PrometheusMetrics 2021-04-05 20:14:34 -04:00
6768140785 Merge pull request 'Make list photos endpoint a get resource' (#12) from feature/photos-as-get into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #12
2021-03-29 20:24:07 +00:00
Cameron Cordes
4249fd319c Make list photos endpoint a get resource
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
The request doesn't modify state and the path can be passed as a query
param so a GET makes more sense.
2021-03-29 15:42:59 -04:00
44a6b582ab Merge pull request 'Revert back to actix 0.10' (#11) from feature/fix-actix-issue into master
Some checks are pending
Core Repos/ImageApi/pipeline/head Build started...
Reviewed-on: #11
2021-03-29 19:35:01 +00:00
Cameron Cordes
1b2aad0f08 Revert back to actix 0.10
Some checks failed
Core Repos/ImageApi/pipeline/head Something is wrong with the build of this commit
Core Repos/ImageApi/pipeline/pr-master This commit looks good
Until Actix Web 4, we need to use an older version of actix so that the
runtime's match up to version 1.
2021-03-29 14:59:42 -04:00