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
2c50b4ae2f
Add anyhow, Improve Auth token code
...
Moved test helper code to its own module.
2021-10-07 20:32:36 -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
Cameron Cordes
c5a7675986
Use IntGauge for media counts
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
Cameron Cordes
4249fd319c
Make list photos endpoint a get resource
...
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
Cameron Cordes
1b2aad0f08
Revert back to actix 0.10
...
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
Cameron Cordes
7474c4d310
Update dependencies
...
Core Repos/ImageApi/pipeline/head Something is wrong with the build of this commit
Core Repos/ImageApi/pipeline/pr-master This commit looks good
Update dependencies and remove some features from the image crate that
are unused.
2021-03-27 17:25:52 -04:00
Cameron Cordes
2e97086751
FavoritesDao for querying, adding and removing favorites
Core Repos/ImageApi/pipeline/head Something is wrong with the build of this commit
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-03-27 16:33:45 -04:00
Cameron Cordes
53cdbabae1
Fix favorites logging parameter order
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-03-25 13:39:16 -04:00
Cameron Cordes
31e95dc158
Fix some lint warning and simplify some code
2021-03-25 13:17:58 -04:00
Cameron Cordes
1539255ae0
Remove and replace deleted or moved thumbnails
Core Repos/ImageApi/pipeline/head This commit looks good
2021-03-17 22:30:27 -04:00
Cameron Cordes
a2a9c27f12
Use Actix worker thread for database operations
2021-03-17 22:30:02 -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
e5eb2d9c1f
Add info level request logging
Core Repos/ImageApi/pipeline/head Something is wrong with the build of this commit
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-02-27 11:54:04 -05:00
Cameron Cordes
1c7e54d355
Make playlist generation async
...
This should allow other requests to be answered while we wait for ffmpeg
to do its thing.
2021-02-27 11:53:29 -05:00
Cameron Cordes
e5ad88abd6
Create UserDao and unit tests for login
2021-02-26 08:48:33 -05:00
Cameron Cordes
e0d2a14d0f
Report path when an image fails to open
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-02-24 22:28:46 -05:00
Cameron Cordes
f9983240df
Use log crate for logging instead of println
Core Repos/ImageApi/pipeline/head This commit looks good
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-02-24 21:26:11 -05:00
Cameron Cordes
8b5ba9d48c
Move auth related methods to their own module
2021-02-18 20:31:29 -05:00
Cameron Cordes
11d1e9600a
Use an Actor for the Stream watching
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-02-11 20:39:07 -05:00
Cameron Cordes
b595bdd642
Add VideoStreamManager for keeping track of active streams
...
The stream manager should help prevent zombie processes and can later be
used for stopping video streams if the user exits the video before
finishing for example.
2021-02-09 21:30:27 -05:00
Cameron Cordes
ecd43f776a
Do more proper path validation for playlist generation
Core Repos/ImageApi/pipeline/head This commit looks good
2021-02-08 18:38:30 -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
d2f7423c6c
Fix LFI bug
...
Previously we blindly read whatever path the client provided and if the
user could read the file it would return from the call.
2020-09-15 16:35:05 -04:00
Cameron Cordes
2343351a4d
Add file watcher to re-generate thumbnails
...
Previously files added while the server is running would not have
thumbnails until after the server was restarted. Now we watch the
BASE_PATH for added/renamed files in order to re-gen the thumbnail.
2020-09-13 21:36:34 -04:00
Cameron Cordes
426c695b47
File upload working
2020-09-13 21:34:08 -04:00
Cameron Cordes
c774edd7dd
Add Favorite GET, and POST endpoints
2020-08-07 23:11:15 -04:00
Cameron Cordes
74043c5c6a
Scan for new files every startup
2020-08-07 23:11:15 -04:00
Cameron Cordes
f99d574ba2
Read Token signing key from environment
2020-07-30 10:53:27 -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
7dbd93cedc
Generate mp4 thumbnails
2020-07-16 21:24:10 -04:00
Cameron Cordes
a49619c98c
Move url to env variable
2020-07-16 20:18:38 -04:00
Cameron Cordes
c90987d709
Check extensions case-invariant
...
Ran clippy and linted some of the logic.
2020-07-16 20:16:17 -04:00
Cameron Cordes
7d369aab5c
Generate thumbnails before API starts up
...
Clients can now request a thumbnail by specifying a size on the image
request.
2020-07-15 12:06:50 -04:00
Cameron Cordes
ca761f605b
Check and use correct paths for generating HLS playlist
...
This also should prevent generating the playlist if it already exists
and uses a better ffmpeg command for transcoding the video.
2020-07-14 15:45:10 -04:00
Cameron Cordes
c39bf970be
Generating a HLS playlist through ffmpeg
...
I might be able to streamline the requests to cut down on the endpoints.
This also will likely take some time if the file is large and could time
out, that may be a concern for another day.
2020-07-13 22:39:00 -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
82203d9a41
Create Account endpoint works
2020-07-08 09:19:27 -04:00
Cameron Cordes
e3bb607d95
Fix token parsing and require Auth for list files
2020-07-07 22:37:20 -04:00
Cameron Cordes
2aa1b61429
Move database into the main app
...
I was having issues including the lib as a crate, its fine just being a
module for now.
2020-07-07 21:48:29 -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