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
fe735faba8
feat(api): delete marker endpoint
2026-07-02 19:37:35 +01:00
1a0778d1d6
docs(bruno): save with marker endpoint
2026-07-02 19:09:25 +01:00
ba378680c6
feat(markers): add save endpoint with markers
2026-07-02 19:09:07 +01:00
dc33d1df33
feat(markers): get by id
2026-07-02 18:35:22 +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
998eebb032
feat(stream): implement description & title options
2026-07-01 22:23:49 +01:00
1fff0805f6
feat(frontend): implement vods in frontend
2026-07-01 22:01:52 +01:00
48ff0eb8e5
feat(frontend): implement vods in frontend
2026-07-01 22:01:41 +01:00
83fcb44670
feat(backend): implement VoD functionality
2026-07-01 21:54:17 +01:00
85ddd93757
fix(api): cookies not set on http connections
...
Frontend uses .env URL.
2026-06-26 14:47:15 +01:00
3d57007074
fix(maintainability): clean up reliability issues
2026-06-25 20:39:06 +01:00
42294703ae
chore(backend): remove LocalDateTime usage, replaced with Instant
2026-06-25 20:21:48 +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
b05ae62230
refactor(dto): use record for Token DTO
2026-06-20 19:01:59 +01:00
a6850d3d65
refactor(jobs): split JobService into JobRegistryService and JobOrchestrationService
2026-06-20 18:50:14 +01:00
a0efa3eb8c
feat(stream): add streaming endpoint and indicator
2026-06-20 16:21:18 +01:00
2b1f8ce710
refactor(dto): move API DTOs
2026-06-20 16:04:19 +01:00
06f392a3ff
refactor(dto): use Record instead of Lombok data
2026-06-20 14:54:36 +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
88d83be50a
feat(stream): implement clipping functionality
2026-06-19 22:30:30 +01:00
b55ba3ce51
feat(api): add error handling for save endpoint
2026-06-19 22:04:42 +01:00
bf59cb087f
feat(stream): implement section saving
2026-06-06 15:22:36 +01:00
1dbc40d8e6
feat(stream): connect nginx with backend with controllers
2026-05-18 22:27:49 +01:00
decf2703bd
RENAME "getProgress" to "getStatus" in EditService for accuracy
...
getProgress() returns a JobStatus object, not just progress-related information.
2025-12-15 20:01:50 +00:00
9ebf69a9e7
RENAME VideoMetadata to ClipOptions and update related references
2025-08-19 14:56:50 +02:00
85c9d4348c
REMOVE unused authentication parameters
2025-08-14 14:02:41 +02:00
10ebcd5479
ADD configurable JWT expiration time in UserController
2025-08-13 23:39:08 +02:00
6433294ced
REFACTOR code to use Optional entity
2025-08-12 15:39:06 +02:00
0c11abc7b9
ADD Google OAuth login and logout functionality on frontend
2025-08-11 15:16:47 +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
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
aa7a57c2e4
REMOVE unnecessary exception stack traces
2025-07-15 23:59:39 +02:00
416da3281a
ADD functionality to retrieve and display clips by ID
2025-07-14 13:36:26 +02:00
9f8894798d
ADD VideoPlayer component and implement video fetching functionality
2025-07-12 14:27:51 +02:00
c001a2a1a6
ADD functionality to fetch and display user clips in MyClips component
2025-07-09 22:57:54 +02:00
a78aecdfb6
ADD ClipController for clip retrieval
2025-07-09 21:57:23 +02:00
e93ccd2ecd
ADD Clip database insertion & UPDATE schema
2025-06-25 19:07:38 +02:00
38f3778a6b
ADD Dropdown component for user actions
2025-06-24 22:52:24 +02:00
8ab0472ac7
UPDATE AuthController to return user details with APIResponse; ADD user fetching logic in MainLayout and Topbar
2025-06-24 20:00:05 +02:00
0237ec57db
UPDATE OAuth2 user service to handle user creation and redirect after login
2025-06-24 14:21:59 +02:00
c7b3f6bf70
REFINE OAuth2 user handling and update database schema
2025-06-23 23:28:29 +02:00
8d7f74e189
ADD SecurityConfig & ADD Auth Endpoints
2025-06-13 15:45:12 +02:00
f79beadb09
IMPROVE error handling on frontend
2025-06-10 12:12:19 +02:00