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
This commit is contained in:
@@ -1,28 +1,21 @@
|
||||
package com.ddf.vodsystem.dto;
|
||||
|
||||
import java.io.File;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.File;
|
||||
import java.time.Instant;
|
||||
|
||||
@Data
|
||||
public class Job {
|
||||
private String uuid;
|
||||
private File inputFile;
|
||||
private File outputFile;
|
||||
private ProgressTracker progressTracker = new ProgressTracker();
|
||||
private JobState state = JobState.READY;
|
||||
private String errorOutput;
|
||||
|
||||
// configs
|
||||
private ClipOptions inputClipOptions;
|
||||
private ClipOptions outputClipOptions = new ClipOptions();
|
||||
private File download;
|
||||
private Instant createdAt = Instant.now();
|
||||
|
||||
// job status
|
||||
private JobStatus status = new JobStatus();
|
||||
|
||||
public Job(String uuid,
|
||||
File inputFile,
|
||||
File outputFile,
|
||||
ClipOptions inputClipOptions) {
|
||||
public Job(String uuid) {
|
||||
this.uuid = uuid;
|
||||
this.inputFile = inputFile;
|
||||
this.outputFile = outputFile;
|
||||
this.inputClipOptions = inputClipOptions;
|
||||
}
|
||||
}
|
||||
|
||||
8
src/main/java/com/ddf/vodsystem/dto/JobState.java
Normal file
8
src/main/java/com/ddf/vodsystem/dto/JobState.java
Normal file
@@ -0,0 +1,8 @@
|
||||
package com.ddf.vodsystem.dto;
|
||||
|
||||
public enum JobState {
|
||||
READY,
|
||||
PROCESSING,
|
||||
SUCCEEDED,
|
||||
FAILED
|
||||
}
|
||||
Reference in New Issue
Block a user