Commit Graph

218 Commits

Author SHA1 Message Date
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
8b49a10a8c refactor(frontend): remove dead code 2026-06-22 22:50:07 +01:00
e36913d671 fix(frontend): update frontend to match new endpoints 2026-06-22 22:42:13 +01:00
7d8a62d331 docs(bruno): missing post response script 2026-06-22 22:34:18 +01:00
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