From 39d75aecf92a85b69f4dd7740f6f6a45e3badb42 Mon Sep 17 00:00:00 2001 From: Jose Date: Thu, 5 Mar 2026 18:37:49 +0100 Subject: [PATCH] add: pastes entity, controller and service --- .../backend/mpaste/controller/PasteController.java | 9 ++++++--- .../main/java/net/miarma/backend/mpaste/model/Paste.java | 2 +- .../net/miarma/backend/mpaste/service/PasteService.java | 3 +++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/mpaste/src/main/java/net/miarma/backend/mpaste/controller/PasteController.java b/mpaste/src/main/java/net/miarma/backend/mpaste/controller/PasteController.java index a4524a8..de6677b 100644 --- a/mpaste/src/main/java/net/miarma/backend/mpaste/controller/PasteController.java +++ b/mpaste/src/main/java/net/miarma/backend/mpaste/controller/PasteController.java @@ -36,14 +36,17 @@ public class PasteController { } @GetMapping("/{paste_key}") - public ResponseEntity getByKey(@PathVariable("paste_key") String pasteKey, @RequestBody PastePassword dto) { + public ResponseEntity getByKey( + @PathVariable("paste_key") String pasteKey, + @RequestParam(value = "password", required = false) String password + ) { return ResponseEntity.ok( - PasteMapper.toResponse(pasteService.getByKey(pasteKey, dto.password())) + PasteMapper.toResponse(pasteService.getByKey(pasteKey, password)) ); } @PostMapping - public ResponseEntity create(PasteDto.Request request) { + public ResponseEntity create(@RequestBody PasteDto.Request request) { return ResponseEntity.ok( PasteMapper.toResponse( pasteService.create( diff --git a/mpaste/src/main/java/net/miarma/backend/mpaste/model/Paste.java b/mpaste/src/main/java/net/miarma/backend/mpaste/model/Paste.java index 1cf2420..7c51eb5 100644 --- a/mpaste/src/main/java/net/miarma/backend/mpaste/model/Paste.java +++ b/mpaste/src/main/java/net/miarma/backend/mpaste/model/Paste.java @@ -22,7 +22,7 @@ public class Paste { @Transient private UUID ownerId; - @Column(name = "paste_key", updatable = false, insertable = false, unique = true, nullable = false) + @Column(name = "paste_key", updatable = false, unique = true, nullable = false) private String pasteKey; @Column(nullable = false) diff --git a/mpaste/src/main/java/net/miarma/backend/mpaste/service/PasteService.java b/mpaste/src/main/java/net/miarma/backend/mpaste/service/PasteService.java index bed6213..b0fae35 100644 --- a/mpaste/src/main/java/net/miarma/backend/mpaste/service/PasteService.java +++ b/mpaste/src/main/java/net/miarma/backend/mpaste/service/PasteService.java @@ -3,6 +3,7 @@ package net.miarma.backend.mpaste.service; import jakarta.transaction.Transactional; import net.miarma.backend.mpaste.model.Paste; import net.miarma.backend.mpaste.repository.PasteRepository; +import net.miarma.backend.mpaste.util.PasteKeyGenerator; import net.miarma.backend.mpaste.validation.PasteValidator; import net.miarma.backlib.exception.ForbiddenException; import net.miarma.backlib.exception.NotFoundException; @@ -62,6 +63,8 @@ public class PasteService { public Paste create(Paste paste) { PasteValidator.validate(paste); + paste.setPasteId(UUID.randomUUID()); + paste.setPasteKey(PasteKeyGenerator.generate(6)); return pasteRepository.save(paste); }