c571e12099
docs(bruno): remove old endpoints
2026-06-22 22:10:33 +01:00
e9abdfb44a
docs(bruno): new bruno files
2026-06-22 22:09:10 +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
b732c76aef
Merge branch 'master' into refactor/generalize-job-abstraction
2026-06-22 18:32:45 +01:00
6c1f1112dc
feat(stream): clipping stream now saves to db
2026-06-21 18:31:26 +01:00
9185a41147
feat(frontend): remove server-side upload process and switch to browser process
2026-06-20 22:04:42 +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
7cee64beb3
refactor(stream): centralize stream directory resolution in DirectoryService
2026-06-20 18:38:47 +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
07305f0513
fix(frontend): add no auth screen for clips
2026-06-20 14:49:10 +01:00
b84950a2b8
feat(frontend): update home page
2026-06-20 14:38:35 +01:00
637d6c94ed
feat(frontend): add edit clip page
2026-06-20 14:30:22 +01:00
bc5c50d025
docs(bruno): add edit endpoint
2026-06-20 14:24:17 +01:00
3797fe1feb
feat(frontend): improve video player
2026-06-20 14:24:03 +01:00
fd1b0e19a1
feat(clips): add edit functionality for title & description
2026-06-20 14:23:50 +01:00
8059963210
feat(frontend): order clips by newest first
2026-06-20 14:04:00 +01:00
85d6f568db
feat(frontend): add delete option for clips
2026-06-20 13:02:47 +01:00
91c3259331
feat(frontend): restyle and design frontend
2026-06-20 12:52:51 +01:00
1062f72661
refactor(directories): improve error handling
2026-06-20 12:38:40 +01:00
94269459b9
Merge pull request 'RTMP Streaming & User Streams' ( #1 ) from feat/rtmp-streaming into master
...
Reviewed-on: https://gitea.vodsystem.ddns.net/dylan/vod-system/pulls/1
2026-06-20 01:33:55 +01:00
7eb757d41a
chore: remove .mvn
2026-06-20 01:29:48 +01:00
26a906c755
docs: update env & bruno
2026-06-20 01:28:15 +01:00
37e9b6c1e7
refactor(directory): propagate dir creation error to caller
2026-06-20 01:27:51 +01:00
8602f65db7
fix(stream history): add auth missing checks
2026-06-19 23:26:11 +01:00
85615ebc54
fix(schema): mismatch column names for Stream
2026-06-19 23:09:05 +01:00
e60b6e36b2
fix(stream clip): blank section at start of clip
2026-06-19 23:00:09 +01:00
736142e8b3
refactor(stream): clip section extends save section
...
Add javadocs.
2026-06-19 22:48:53 +01:00
f6061c25ca
docs(bruno): add clip endpoint
2026-06-19 22:33:50 +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
5b997cb945
chore(bruno): add save stream endpoint
2026-06-16 21:08:44 +01:00
bf59cb087f
feat(stream): implement section saving
2026-06-06 15:22:36 +01:00
480c21bc8c
fix(profiles): missing profile page
2026-06-06 13:56:47 +01:00
8bc9044fab
feat(frontend): add profile page to view stream key
2026-06-06 13:25:35 +01:00
a928bb390f
fix: broken compose configuration
2026-06-04 22:19:45 +01:00
1dbc40d8e6
feat(stream): connect nginx with backend with controllers
2026-05-18 22:27:49 +01:00
3b188a3497
fix(nginx): envs not passed into nginx
2026-05-18 21:14:56 +01:00
c70cd3f939
fix(db): remove auto-drop
2026-05-17 22:30:35 +01:00
6230259582
refactor(nginx): streams are separated by key
2026-05-17 22:05:29 +01:00
781aecbc09
build: media stored in volume
2026-05-17 21:28:21 +01:00
32a016e212
build: update env example
2026-05-17 21:17:03 +01:00
a74e5d1453
build(properties): missing properties for db
2026-05-17 21:16:19 +01:00
a74ab9ee0a
fix(frontend): missing URL prefixes
2026-05-17 21:06:13 +01:00
7eb4f1d34e
build: move postgres credentials to env
2026-05-17 20:49:04 +01:00
09ec5cf09c
fix: incorrect docker deployment
2026-05-14 20:27:27 +01:00
2e6679cb89
refactor(nginx): nginx only handles rtmp connections
...
Not longer handles frontend & backend. Partially for ease of development and also for separation of concenrs.
2026-05-14 20:20:37 +01:00