Commit Graph

171 Commits

Author SHA1 Message Date
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
2a07fd18b5 Merge pull request 'Update dependencies' (#10) from feature/update-dependencies into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #10
2021-03-27 22:20:03 +00:00
Cameron Cordes
7474c4d310 Update dependencies
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
Update dependencies and remove some features from the image crate that
are unused.
2021-03-27 17:25:52 -04:00
79c79c3b24 Merge pull request 'FavoritesDao for querying, adding and removing favorites' (#9) from feature/favorites-api into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #9
2021-03-27 21:25:25 +00:00
Cameron Cordes
2e97086751 FavoritesDao for querying, adding and removing favorites
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
2021-03-27 16:33:45 -04:00
bc6ce94e5a Merge pull request 'Update build image to Rust 1.51' (#8) from feature/update-to-1.51 into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #8
2021-03-26 12:40:23 +00:00
Cameron Cordes
53cdbabae1 Fix favorites logging parameter order
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-03-25 13:39:16 -04:00
Cameron Cordes
7f534a18bf Bump Jenkins build image to 1.51
Some checks failed
Core Repos/ImageApi/pipeline/head There was a failure building this commit
Core Repos/ImageApi/pipeline/pr-master There was a failure building this commit
2021-03-25 13:18: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
All checks were successful
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
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
3611f46004 Fix test name and simplify helper 2021-03-04 16:37:19 -05:00
8ba24baaf7 Merge pull request 'Improve test coverage and logging' (#7) from feature/improve-test-coverage into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #7
2021-03-01 13:18:22 +00:00
Cameron Cordes
e5eb2d9c1f Add info level request logging
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
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
64bfb58734 Log when unknown user tries to log in 2021-02-25 17:42:16 -05:00
Cameron Cordes
72e41b99a1 Remove Actix CORS dependency 2021-02-25 14:42:23 -05:00
0ff7c1610a Merge pull request 'feature/update-dependencies' (#6) from feature/update-dependencies into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #6
2021-02-25 16:20:32 +00:00
Cameron Cordes
45aa260d7b Merge branch 'master' into feature/update-dependencies
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
2021-02-25 10:44:28 -05:00
2940bdf056 Merge pull request 'feature/logging' (#5) from feature/logging into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #5
2021-02-25 15:26:45 +00:00
Cameron Cordes
e0d2a14d0f Report path when an image fails to open
All checks were successful
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
All checks were successful
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
fae7b2a962 Add tests for JWT decoding 2021-02-18 20:31:03 -05:00
Cameron Cordes
b0a9cd6327 Update Actix, tokio and hashing libraries
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
2021-02-15 20:39:14 -05:00
1ad7abb69c Merge pull request 'feature/video-stream-manager' (#4) from feature/video-stream-manager into master
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Reviewed-on: #4
2021-02-13 18:18:12 +00:00
Cameron Cordes
11d1e9600a Use an Actor for the Stream watching
All checks were successful
Core Repos/ImageApi/pipeline/pr-master This commit looks good
2021-02-11 20:39:07 -05:00
Cameron Cordes
45b4f0cd72 Track relevant .idea files
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
2021-02-09 21:32:22 -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
e4c23c0fe5 Improve video streaming speed
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Instead of waiting for an entire video to stream, we spawn a child
ffmpeg process to start generating the HLS playlist, and once it creates
the first part of the playlist we return the response so the client can
start streaming almost immediately. HTTP Live streaming can handle
playlist updates after the initial playlist is created, although I don't
think the user can skip to the end and skip streaming parts of the
video.
2021-02-08 19:46:38 -05:00
Cameron Cordes
ecd43f776a Do more proper path validation for playlist generation
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
2021-02-08 18:38:30 -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
e46abbf8ee Jenkins CI (#2)
All checks were successful
Core Repos/ImageApi/pipeline/head This commit looks good
Co-authored-by: Cameron Cordes <cameronc.dev@gmail.com>
Reviewed-on: #2
Co-authored-by: cameron <cameron.cordes@pm.me>
Co-committed-by: cameron <cameron.cordes@pm.me>
2021-02-02 21:24:14 +00:00
Cameron Cordes
f20a8a5842 Update dependencies, disable registration and improve path handling 2021-02-02 13:57:51 -05:00
acad71701e Merge pull request 'Image Upload' (#1) from feature/image-upload into master
Reviewed-on: #1
2020-10-17 23:25:51 +00: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
6c9c80f61d Update dependencies 2020-10-16 14:43:20 -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
fe23586059 Update to Actix 3.0 2020-09-11 16:12:41 -04:00
Cameron Cordes
c774edd7dd Add Favorite GET, and POST endpoints 2020-08-07 23:11:15 -04:00