5bebea3f95
refactor(command): inject CommandRunner instead of static
2026-07-02 20:04:04 +01:00
947c8261fd
Merge pull request 'Frontend page for controlling streaming actions' ( #7 ) from feat/frontend-streaming-controls into master
...
Reviewed-on: https://gitea.vodsystem.ddns.net/dylan/vod-system/pulls/7
2026-07-02 19:46:32 +01:00
e0969a1d78
refactor(frontend): split endpoint handling
2026-07-02 19:46:19 +01:00
fe735faba8
feat(api): delete marker endpoint
2026-07-02 19:37:35 +01:00
b8b4d3b05c
feat(frontend): streaming controls page
2026-07-02 19:27:23 +01:00
a051407c1e
Merge pull request 'Stream Markers' ( #6 ) from feat/stream-markers into master
...
Reviewed-on: https://gitea.vodsystem.ddns.net/dylan/vod-system/pulls/6
2026-07-02 19:14:43 +01:00
41fda53817
docs(docstring): other stream save method
2026-07-02 19:13:55 +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
2cac1770f9
feat(markers): auto-delete after 8 hours
2026-07-02 18:53:23 +01:00
dc33d1df33
feat(markers): get by id
2026-07-02 18:35:22 +01:00
62dc0b0491
docs(bruno): marker endpoints
2026-07-02 17:50:29 +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
e5fcf9b966
Merge pull request 'Implement VoDs in frontend and backend' ( #5 ) from feat/full-vod-support into master
...
Reviewed-on: https://gitea.vodsystem.ddns.net/dylan/vod-system/pulls/5
2026-07-01 22:32:39 +01:00
4ec5080edc
docs(docstrings): add clip & vod comments
2026-07-01 22:32:08 +01:00
14e8bd137b
docs(bruno): add title/desc attr
2026-07-01 22:26:47 +01:00
998eebb032
feat(stream): implement description & title options
2026-07-01 22:23:49 +01:00
e2c94d0740
feat(stream): stream save now auto-persists vod
2026-07-01 22:12:32 +01:00
0b929e96da
docs(bruno): implement bruno vods endpoints
2026-07-01 22:04:54 +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
913c5c8790
fix(exceptions): catch specific error instead of broad
2026-07-01 21:36:50 +01:00
a330471bec
feat(frontend): add upload icon
2026-06-29 20:07:11 +01:00
d8b61b4528
docs: update readme
2026-06-26 15:49:12 +01:00
85ddd93757
fix(api): cookies not set on http connections
...
Frontend uses .env URL.
2026-06-26 14:47:15 +01:00
0b2c875889
fix(datetime): local datetime parsing
2026-06-25 23:17:03 +01:00
7db25194bc
fix(datetime): incorrect datetime parsing
2026-06-25 23:10:32 +01:00
3d57007074
fix(maintainability): clean up reliability issues
2026-06-25 20:39:06 +01:00
5e00965baa
Merge pull request 'Refactor job into being a simple UUID tracker' ( #3 ) from refactor/generalize-job-abstraction into master
...
Reviewed-on: https://gitea.vodsystem.ddns.net/dylan/vod-system/pulls/3
2026-06-25 20:26:08 +01:00
0e13e44feb
fix(tailwind): top-level gitignore cause tailwind css issues
...
20:22
Scoped the bare video entry in the root .gitignore to its intended path. Tailwind V4 respects all .gitignore files in the project when scanning for utility classes, so the bare entry was silently preventing components/video/* from being scanned and its classes from appearing in the computed CSS output. The bug was absent in Docker as the root .gitignore was never copied into the container.
2026-06-25 20:22:44 +01:00
42294703ae
chore(backend): remove LocalDateTime usage, replaced with Instant
2026-06-25 20:21:48 +01:00
755a18fc3a
chore: update gitignore
2026-06-23 21:39:53 +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
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