ae8f2f33a7
perf(api): add HTTP range requests on media sources ( #9 )
...
CI / Maven unit tests (push) Successful in 20s
CI / Build and push images (push) Successful in 5m14s
CI / Deploy to server (push) Successful in 1m29s
Reviewed-on: https://gitea.vodsystem.ddns.net/dylan/vod-system/pulls/9
2026-07-25 11:06:39 +01:00
2408263988
fix(media): propagate async FFmpeg results and failures
2026-07-12 18:49:20 +01:00
18626a5db8
feat(markers): implement marker entity & service
2026-07-02 17:43:13 +01:00
3c8df9b328
fix(clips): remove redundant auth checks
2026-07-01 23:19:51 +01:00
76869c8c90
fix(clips): remove redundant Optional returns
2026-07-01 23:12:23 +01:00
4ec5080edc
docs(docstrings): add clip & vod comments
2026-07-01 22:32:08 +01:00
42294703ae
chore(backend): remove LocalDateTime usage, replaced with Instant
2026-06-25 20:21:48 +01:00
8b299dc4fa
fix(directories): inputs absolute paths into db
2026-06-23 21:31:45 +01:00
5651aa4ce9
refactor(directories): switch from File to Path objs
2026-06-23 20:53:24 +01:00
dc5af8f868
docs(bruno): overhaul bruno to match new API
2026-06-22 22:08:56 +01:00
da6bf16d07
refactor(media): consolidate upload/edit/download into MediaService
...
Merge UploadService, EditService, JobOrchestrationService, and
DownloadService into a single MediaService with a unified Job lifecycle
(READY → PROCESSING → SUCCEEDED/FAILED via JobState enum).
- Add MediaController (/api/v1/media) exposing compress, save, and clip
- Add JobController (/api/v1/job) for status polling and file download
- Move clip/thumbnail download into ClipController (/{id}/media, /{id}/thumbnail)
- Move stream saveSection/clip from StreamService into MediaService
- Simplify Job DTO: remove dual ClipOptions/files, add ProgressTracker and download file
- Refactor JobRegistryService.add() → generateJob() to co-locate creation and registration
- Wire FFmpeg out_time_ms progress parsing into StreamActionsService via CommandRunner
- Rename GET /api/v1/auth/user → GET /api/v1/user/me
- Delete DownloadController, MetadataController, UploadController
2026-06-22 20:54:16 +01:00
6c1f1112dc
feat(stream): clipping stream now saves to db
2026-06-21 18:31:26 +01:00
2b1f8ce710
refactor(dto): move API DTOs
2026-06-20 16:04:19 +01:00
fd1b0e19a1
feat(clips): add edit functionality for title & description
2026-06-20 14:23:50 +01:00
1062f72661
refactor(directories): improve error handling
2026-06-20 12:38:40 +01:00
eed46cf266
Extract database clip saving into saveClip()
...
persistClip() had grown too large and handled multiple concerns.
This change moves the database save logic into saveClip(), making
persistClip() smaller and easier to refactor further.
2025-12-15 22:06:57 +00:00
65ec8cb29a
MOVE clip creation method from ClipService to JobService
...
The original clip creation method in ClipService handled many different services, like metadata handling, callback methods and more. Moving it to a more suitable location in the JobService allows it to easily access the Job object and update it upon failure.
2025-12-15 21:23:01 +00:00
92cb9265ca
ADD job failed attribute to display failed status in API
...
If a compression processing job fails, the JobStatus object within the Job should update to reflect this fail.
2025-12-15 19:57:40 +00:00
739d215c27
REMOVE deleteFile in DirectoryService and replace with local methods
2025-12-07 01:14:08 +00:00
9ebf69a9e7
RENAME VideoMetadata to ClipOptions and update related references
2025-08-19 14:56:50 +02:00
6433294ced
REFACTOR code to use Optional entity
2025-08-12 15:39:06 +02:00
Dylan De Faoite
662966f138
14 standardize and clean api and fix bruno configuration ( #25 )
...
* ADD JWT authentication support with token generation and validation
* ADD JWT handling after successful login
* ADD user authentication and standardize user retrieval
* COMBINE token dtos
* ADD JWT authentication filter
* IMPROVE token handling
* STANDARDIZE API endpoints and improve JWT handling
* REMOVE extra logging
* REMOVE redundant job existence checks
* UPDATE Bruno Google token
* REFACTOR some classes
* ADD JWT cookie check
* ADD AuthProvider and CORS configuration; UPDATE API endpoints for consistency
* ADD JWT validation check;
* ADD profile picture to database
* ADD reload after login to update page
* PATCH login issue
* REMOVE unused classes
* ADJUST logging in JwtFilter
* REMOVE unused React component
2025-08-10 22:41:37 +02:00
Dylan De Faoite
20f7ec8db4
Backend MP4 conversion ( #23 )
...
* ADD conversion queue
* ADD RemuxService for MP4 conversion
* REMOVE unused conversion queue
* REORGANISE Job-related classes
* ADD Job stages
* REVERT to old commit, using Spring Async instead
* ADD asynchronous processing for video tasks
* PATCH and streamline progress tracking
* ADD asynchronous video processing and job restructuring
* REFACTOR job service method
* ADD job remux functionality
* ADD remuxing endpoint
* PATCH complete flag not updating in API response
* ADD progress type in frontend
* ADD reset functionality for job status
* PATCH missing progress bar for subsequent exports
* REDESIGN settings box
* ADD tracking video file conversion in frontend
* PATCH extension bug
* REMOVE autowired decorator
2025-07-31 20:48:34 +02:00
Dylan De Faoite
338eb605fd
20 modularize the code to split up large classes ( #21 )
...
* MODULARIZE ClipService by introducing CompressionService, MetadataService, and ThumbnailService
* ADD deleteClip functionality to ClipController
2025-07-29 23:01:21 +02:00
Dylan De Faoite
f0a4eed381
17 clean up services structure ( #18 )
...
* Refactor ClipService and MediaService
* Refactor ClipService for less coupling to Jobs
* PATCH unnecessary requests in frontend
* REFACTOR MetadataService to use CommandRunner
* REFACTOR DirectoryService and UploadService
* REFACTOR ClipService
* MERGE MetadataService with MediaService
2025-07-26 22:21:56 +02:00
f6e6aae5c6
ADD user authentication checks for clip access
2025-07-23 00:00:45 +02:00
Dylan De Faoite
87ad7e3537
ADD thumbnail to database ( #12 )
...
* ADD thumbnail to database
* ADD thumbnail generation and retrieval functionality
* ADD thumbnail availability check in VideoCard component
* ADD ClipDTO to reduce exposed internals
* REFactor move APIResponse and VideoMetadata to dto package
* REMOVE unused props from VideoCard
* ADD isThumbnailAvailable function
2025-07-17 23:21:01 +02:00
416da3281a
ADD functionality to retrieve and display clips by ID
2025-07-14 13:36:26 +02:00
3f5d325efd
ADD directory sharding for permanent clips
2025-07-12 19:12:25 +02:00
a78aecdfb6
ADD ClipController for clip retrieval
2025-07-09 21:57:23 +02:00
c512f055ee
Refactor FfmpegService to improve progress tracking and streamline command building
2025-07-09 18:25:51 +02:00
fa89c66260
REFACTOR clipService and ADD ffmpegService
2025-07-08 18:26:47 +02:00
dcb2bcff22
ADD DirectoryService integration for clip persistence and file management
2025-07-07 21:59:54 +02:00
3abdfe3978
ADD file size retrieval and update VideoMetadata object
2025-07-03 22:40:29 +02:00
159bcac5c4
MOVE user authentication and clip creation to ClipService
2025-07-02 22:03:39 +02:00
6cf454c484
RENAME CompressionService to ClipService and update references
2025-06-25 19:31:37 +02:00