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
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
5651aa4ce9
refactor(directories): switch from File to Path objs
2026-06-23 20:53:24 +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
37e9b6c1e7
refactor(directory): propagate dir creation error to caller
2026-06-20 01:27:51 +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
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
9ebf69a9e7
RENAME VideoMetadata to ClipOptions and update related references
2025-08-19 14:56:50 +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