fbb5c3ab52
fix(interrupts): metadata service not setting interrupt bit
2026-07-08 11:57:01 +02:00
e1e6fe0046
fix(file size): use Long instead of float
...
Float only stores up to 16 million, and file size is stored in bytes. A video can easily be over 16MB (16 million bytes), therefore Long is needed.
2026-07-07 20:48:37 +02:00
d7214ca1bc
test(unit): compression service test
2026-07-02 20:59:13 +01:00
5bebea3f95
refactor(command): inject CommandRunner instead of static
2026-07-02 20:04:04 +01:00
fe735faba8
feat(api): delete marker endpoint
2026-07-02 19:37:35 +01:00
41fda53817
docs(docstring): other stream save method
2026-07-02 19:13:55 +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
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
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
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
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
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
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
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
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
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
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
265a96acc1
feat: add Stream table & boilerplate
2026-05-03 12:51:32 +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
0f5fc76e55
ADD unified metadata validation to the MetadataService
...
Validation was happening in two places, in both EditService and in MetadataService doing different validations. This unifies them both into a singular method
2025-12-15 21:19:53 +00:00
2d0d168784
ADD information-level logging to EditService
2025-12-15 20:28:27 +00: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
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
f9daef9a4b
UPDATE constant name in DirectoryService for consistency
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
08ef00c22e
UPDATE "endPoint" to "duration" in frontend to match backend
2025-12-07 01:05:18 +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