summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clams-server/src/main/java/no/eliashaugsbakk/clams/server/controller/PostController.java7
-rw-r--r--clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepo.java2
-rw-r--r--clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepoSqlite.java6
3 files changed, 8 insertions, 7 deletions
diff --git a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/controller/PostController.java b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/controller/PostController.java
index 155c271..e4b3595 100644
--- a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/controller/PostController.java
+++ b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/controller/PostController.java
@@ -24,12 +24,13 @@ public class PostController {
String slug = ctx.pathParam("slug");
PostDTO updatedPost = ctx.bodyAsClass(PostDTO.class);
- postsRepo.getPost(slug)
- .map(existing -> Post.fromUpdated(existing, updatedPost))
+ postsRepo.getPost(slug).map(existing -> Post.fromUpdated(existing, updatedPost))
.ifPresentOrElse(postsRepo::updatePost, () -> ctx.status(404));
}
public void handleDeletePost(Context ctx) {
- postsRepo.deletePost(ctx.pathParam("slug"));
+ if (!postsRepo.deletePost(ctx.pathParam("slug"))) {
+ ctx.status(404);
+ }
}
}
diff --git a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepo.java b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepo.java
index b5553b5..99e179c 100644
--- a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepo.java
+++ b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepo.java
@@ -12,6 +12,6 @@ public interface PostsRepo {
void addPost(Post post);
void updatePost(Post post);
- void deletePost(String slug);
+ boolean deletePost(String slug);
boolean existsPostBySlug(String slug);
}
diff --git a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepoSqlite.java b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepoSqlite.java
index 5f79745..b5914df 100644
--- a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepoSqlite.java
+++ b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/repository/PostsRepoSqlite.java
@@ -173,7 +173,7 @@ public class PostsRepoSqlite implements PostsRepo {
}
@Override
- public void deletePost(String slug) {
+ public boolean deletePost(String slug) {
String sql = """
DELETE FROM posts
WHERE slug = ?
@@ -184,8 +184,8 @@ public class PostsRepoSqlite implements PostsRepo {
stmt.setString(1, slug);
- stmt.executeUpdate();
-
+ int rowsAffected = stmt.executeUpdate();
+ return rowsAffected > 0;
} catch (SQLException e) {
throw new RepoException("Error deleting post " + slug + ": ", e);
}