e2a2a60075
add clock dependency injection
CI / Maven unit tests (push) Successful in 15s
CI / Build and push images (push) Has been skipped
CI / Deploy to server (push) Has been skipped
2026-10-07 19:03:47 +01:00
cbb8c2195f
extract Google logic into separate adapter
CI / Maven unit tests (push) Successful in 13s
CI / Build and push images (push) Has been skipped
CI / Deploy to server (push) Has been skipped
2026-10-04 14:54:23 +01:00
05361409b2
wip
CI / Maven unit tests (push) Successful in 14s
CI / Build and push images (push) Has been skipped
CI / Deploy to server (push) Has been skipped
2026-10-03 21:08:32 +01:00
cc3765c284
add repos and services (wip)
CI / Maven unit tests (push) Failing after 12s
CI / Build and push images (push) Has been skipped
CI / Deploy to server (push) Has been skipped
2026-10-02 23:07:10 +01:00
ec9a982fe9
docs(docstrings): add docstrings to public method interfaces ( #25 )
...
CI / Maven unit tests (push) Successful in 18s
CI / Build and push images (push) Has been skipped
CI / Deploy to server (push) Has been skipped
- Resolves #18
Reviewed-on: #25
2026-08-24 16:02:04 +01: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
5651aa4ce9
refactor(directories): switch from File to Path objs
2026-06-23 20:53:24 +01:00
7d8a62d331
docs(bruno): missing post response script
2026-06-22 22:34:18 +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
b05ae62230
refactor(dto): use record for Token DTO
2026-06-20 19:01:59 +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
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
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
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
f0a4eed381
17 clean up services structure ( #18 )
...
* Refactor ClipService and MediaService
* Refactor ClipService for less coupling to Jobs
* PATCH unnecessary requests in frontend
* REFACTOR MetadataService to use CommandRunner
* REFACTOR DirectoryService and UploadService
* REFACTOR ClipService
* MERGE MetadataService with MediaService
2025-07-26 22:21:56 +02:00
618c140449
REPLACE AtomicProgress with simple ProgressTracker
2025-07-23 00:18:25 +02:00
Dylan De Faoite
87ad7e3537
ADD thumbnail to database ( #12 )
...
* ADD thumbnail to database
* ADD thumbnail generation and retrieval functionality
* ADD thumbnail availability check in VideoCard component
* ADD ClipDTO to reduce exposed internals
* REFactor move APIResponse and VideoMetadata to dto package
* REMOVE unused props from VideoCard
* ADD isThumbnailAvailable function
2025-07-17 23:21:01 +02:00