Commit Graph

67 Commits

Author SHA1 Message Date
d189578eda fix(api): remove detailed exception message from API response
All checks were successful
CI / Maven unit tests (push) Successful in 54s
CI / Build and push images (push) Has been skipped
CI / Deploy to server (push) Has been skipped
2026-07-16 22:17:36 +01:00
1a3d341ace wip 2026-07-16 21:17:07 +01:00
fe735faba8 feat(api): delete marker endpoint 2026-07-02 19:37:35 +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
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
998eebb032 feat(stream): implement description & title options 2026-07-01 22:23:49 +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
85ddd93757 fix(api): cookies not set on http connections
Frontend uses .env URL.
2026-06-26 14:47:15 +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
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
a6850d3d65 refactor(jobs): split JobService into JobRegistryService and JobOrchestrationService 2026-06-20 18:50:14 +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
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
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
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
9ebf69a9e7 RENAME VideoMetadata to ClipOptions and update related references 2025-08-19 14:56:50 +02:00
85c9d4348c REMOVE unused authentication parameters 2025-08-14 14:02:41 +02:00
10ebcd5479 ADD configurable JWT expiration time in UserController 2025-08-13 23:39:08 +02:00
6433294ced REFACTOR code to use Optional entity 2025-08-12 15:39:06 +02:00
0c11abc7b9 ADD Google OAuth login and logout functionality on frontend 2025-08-11 15:16:47 +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
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
aa7a57c2e4 REMOVE unnecessary exception stack traces 2025-07-15 23:59:39 +02:00
416da3281a ADD functionality to retrieve and display clips by ID 2025-07-14 13:36:26 +02:00
9f8894798d ADD VideoPlayer component and implement video fetching functionality 2025-07-12 14:27:51 +02:00
c001a2a1a6 ADD functionality to fetch and display user clips in MyClips component 2025-07-09 22:57:54 +02:00
a78aecdfb6 ADD ClipController for clip retrieval 2025-07-09 21:57:23 +02:00
e93ccd2ecd ADD Clip database insertion & UPDATE schema 2025-06-25 19:07:38 +02:00
38f3778a6b ADD Dropdown component for user actions 2025-06-24 22:52:24 +02:00
8ab0472ac7 UPDATE AuthController to return user details with APIResponse; ADD user fetching logic in MainLayout and Topbar 2025-06-24 20:00:05 +02:00
0237ec57db UPDATE OAuth2 user service to handle user creation and redirect after login 2025-06-24 14:21:59 +02:00
c7b3f6bf70 REFINE OAuth2 user handling and update database schema 2025-06-23 23:28:29 +02:00
8d7f74e189 ADD SecurityConfig & ADD Auth Endpoints 2025-06-13 15:45:12 +02:00