UPDATE backend API to return JSON-like objects

This commit is contained in:
2025-06-10 10:50:44 +02:00
parent b2c10db130
commit 06c02b81bc
6 changed files with 87 additions and 38 deletions

View File

@@ -2,36 +2,46 @@ package com.ddf.vodsystem.controllers;
import com.ddf.vodsystem.entities.VideoMetadata;
import com.ddf.vodsystem.services.EditService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import lombok.AllArgsConstructor;
import lombok.Data;
import com.ddf.vodsystem.entities.APIResponse;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("api/v1/")
@RequestMapping("api/v1")
public class EditController {
private final EditService editService;
private static final String SUCCESS = "success";
@Autowired
public EditController(EditService editService) {
this.editService = editService;
}
@PostMapping("edit/{uuid}")
public ResponseEntity<String> edit(@PathVariable("uuid") String uuid, @ModelAttribute VideoMetadata videoMetadata) {
public ResponseEntity<APIResponse<Void>> edit(@PathVariable("uuid") String uuid, @ModelAttribute VideoMetadata videoMetadata) {
editService.edit(uuid, videoMetadata);
return new ResponseEntity<>(uuid, HttpStatus.OK);
return ResponseEntity.ok(new APIResponse<>(SUCCESS, "Editing started for UUID: " + uuid, null));
}
@GetMapping("/process/{uuid}")
public ResponseEntity<String> convert(@PathVariable("uuid") String uuid) {
public ResponseEntity<APIResponse<Void>> convert(@PathVariable("uuid") String uuid) {
editService.process(uuid);
return new ResponseEntity<>(uuid, HttpStatus.OK);
return ResponseEntity.ok(new APIResponse<>(SUCCESS, "Processing started for UUID: " + uuid, null));
}
@GetMapping("/progress/{uuid}")
public ResponseEntity<Float> getProgress(@PathVariable("uuid") String uuid) {
return new ResponseEntity<>(editService.getProgress(uuid), HttpStatus.OK);
public ResponseEntity<APIResponse<ProgressResponse>> getProgress(@PathVariable("uuid") String uuid) {
float progress = editService.getProgress(uuid);
ProgressResponse progressResponse = new ProgressResponse(progress);
return ResponseEntity.ok(new APIResponse<>(SUCCESS, "Progress for UUID: " + uuid, progressResponse));
}
}
@Data
@AllArgsConstructor
public static class ProgressResponse {
private float progress;
}
}