From 06f392a3ff5819a1188c57885ee57024f2eb14a7 Mon Sep 17 00:00:00 2001 From: Dylan De Faoite Date: Sat, 20 Jun 2026 14:54:36 +0100 Subject: [PATCH] refactor(dto): use Record instead of Lombok data --- .../vodsystem/controllers/ClipController.java | 32 +++++++++---------- .../java/com/ddf/vodsystem/dto/ClipDTO.java | 15 --------- .../com/ddf/vodsystem/dto/ClipResponse.java | 12 +++++++ 3 files changed, 28 insertions(+), 31 deletions(-) delete mode 100644 src/main/java/com/ddf/vodsystem/dto/ClipDTO.java create mode 100644 src/main/java/com/ddf/vodsystem/dto/ClipResponse.java diff --git a/src/main/java/com/ddf/vodsystem/controllers/ClipController.java b/src/main/java/com/ddf/vodsystem/controllers/ClipController.java index 920cc3a..404dac0 100644 --- a/src/main/java/com/ddf/vodsystem/controllers/ClipController.java +++ b/src/main/java/com/ddf/vodsystem/controllers/ClipController.java @@ -1,6 +1,6 @@ package com.ddf.vodsystem.controllers; -import com.ddf.vodsystem.dto.ClipDTO; +import com.ddf.vodsystem.dto.ClipResponse; import com.ddf.vodsystem.dto.APIResponse; import com.ddf.vodsystem.dto.ClipUpdateRequest; import com.ddf.vodsystem.entities.Clip; @@ -22,9 +22,9 @@ public class ClipController { } @GetMapping("") - public ResponseEntity>> getClips() { + public ResponseEntity>> getClips() { List clips = clipService.getClipsByUser(); - List clipDTOs = clips.stream() + List clipDTOs = clips.stream() .map(this::convertToDTO) .toList(); @@ -37,13 +37,13 @@ public class ClipController { } @GetMapping("/{id}") - public ResponseEntity> getClipById(@PathVariable Long id) { + public ResponseEntity> getClipById(@PathVariable Long id) { Optional clip = clipService.getClipById(id); if (clip.isEmpty()) { return ResponseEntity.notFound().build(); } - ClipDTO clipDTO = convertToDTO(clip.get()); + ClipResponse clipDTO = convertToDTO(clip.get()); return ResponseEntity.ok( new APIResponse<>(SUCCESS, @@ -54,10 +54,10 @@ public class ClipController { } @PatchMapping("/{id}") - public ResponseEntity> updateClip(@PathVariable Long id, + public ResponseEntity> updateClip(@PathVariable Long id, @RequestBody ClipUpdateRequest updateFields) { Clip clip = clipService.updateClip(id, updateFields); - ClipDTO clipDTO = convertToDTO(clip); + ClipResponse clipDTO = convertToDTO(clip); return ResponseEntity.ok( new APIResponse<>(SUCCESS, "Clip updated successfully", clipDTO) @@ -79,14 +79,14 @@ public class ClipController { ); } - private ClipDTO convertToDTO(Clip clip) { - ClipDTO dto = new ClipDTO(); - dto.setId(clip.getId()); - dto.setUserId(clip.getUser().getId()); - dto.setTitle(clip.getTitle()); - dto.setDescription(clip.getDescription()); - dto.setDuration(clip.getDuration()); - dto.setCreatedAt(clip.getCreatedAt()); - return dto; + private ClipResponse convertToDTO(Clip clip) { + return new ClipResponse( + clip.getId(), + clip.getUser().getId(), + clip.getTitle(), + clip.getDescription(), + clip.getDuration(), + clip.getCreatedAt() + ); } } diff --git a/src/main/java/com/ddf/vodsystem/dto/ClipDTO.java b/src/main/java/com/ddf/vodsystem/dto/ClipDTO.java deleted file mode 100644 index bd299f1..0000000 --- a/src/main/java/com/ddf/vodsystem/dto/ClipDTO.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.ddf.vodsystem.dto; - -import lombok.Data; - -import java.time.LocalDateTime; - -@Data -public class ClipDTO { - private Long id; - private Long userId; - private String title; - private String description; - private Float duration; - private LocalDateTime createdAt; -} diff --git a/src/main/java/com/ddf/vodsystem/dto/ClipResponse.java b/src/main/java/com/ddf/vodsystem/dto/ClipResponse.java new file mode 100644 index 0000000..b9f7436 --- /dev/null +++ b/src/main/java/com/ddf/vodsystem/dto/ClipResponse.java @@ -0,0 +1,12 @@ +package com.ddf.vodsystem.dto; + +import java.time.LocalDateTime; + +public record ClipResponse( + Long id, + Long userId, + String title, + String description, + Float duration, + LocalDateTime createdAt +) {} \ No newline at end of file