From 6ea25b81d9e3d55b559b03e517fed79e8f93e144 Mon Sep 17 00:00:00 2001 From: sujaljain272004 <160271734+sujaljain272004@users.noreply.github.com> Date: Tue, 10 Feb 2026 09:15:51 +0530 Subject: [PATCH] Blog error fix --- .../divinespark/dto/BlogDetailResponse.java | 10 +++++++ .../com/divinespark/dto/BlogListResponse.java | 10 +++++++ .../service/impl/BlogServiceImpl.java | 27 ++++++++++++++----- 3 files changed, 41 insertions(+), 6 deletions(-) diff --git a/divinespark-backend/src/main/java/com/divinespark/dto/BlogDetailResponse.java b/divinespark-backend/src/main/java/com/divinespark/dto/BlogDetailResponse.java index 6b8a3e5..6d86c21 100644 --- a/divinespark-backend/src/main/java/com/divinespark/dto/BlogDetailResponse.java +++ b/divinespark-backend/src/main/java/com/divinespark/dto/BlogDetailResponse.java @@ -10,6 +10,16 @@ public class BlogDetailResponse { private String authorRole; private OffsetDateTime createdAt; + + private Boolean isPublished; + + public Boolean getIsPublished() { + return isPublished; + } + public void setIsPublished(Boolean isPublished) { + this.isPublished = isPublished; + } + public String getTitle() { return title; } diff --git a/divinespark-backend/src/main/java/com/divinespark/dto/BlogListResponse.java b/divinespark-backend/src/main/java/com/divinespark/dto/BlogListResponse.java index da4c3a4..3b39f06 100644 --- a/divinespark-backend/src/main/java/com/divinespark/dto/BlogListResponse.java +++ b/divinespark-backend/src/main/java/com/divinespark/dto/BlogListResponse.java @@ -12,6 +12,16 @@ public class BlogListResponse { private Long id; + private Boolean isPublished; + + public Boolean getIsPublished() { + return isPublished; + } + public void setIsPublished(Boolean isPublished) { + this.isPublished = isPublished; + } + + public String getAuthorName() { return authorName; } diff --git a/divinespark-backend/src/main/java/com/divinespark/service/impl/BlogServiceImpl.java b/divinespark-backend/src/main/java/com/divinespark/service/impl/BlogServiceImpl.java index d8d22e2..bb428fa 100644 --- a/divinespark-backend/src/main/java/com/divinespark/service/impl/BlogServiceImpl.java +++ b/divinespark-backend/src/main/java/com/divinespark/service/impl/BlogServiceImpl.java @@ -41,6 +41,7 @@ public void createBlog(BlogCreateRequest request) { blog.setAuthorName(request.getAuthorName()); blog.setAuthorRole(request.getAuthorRole()); blog.setStatus(BlogStatus.DRAFT); + // Removed setCreatedAt and setUpdatedAt as they are handled automatically by your Entity blogRepository.save(blog); } @@ -84,12 +85,17 @@ public List getPublishedBlogs() { for (Blog b : blogs) { BlogListResponse dto = new BlogListResponse(); + dto.setId(b.getId()); dto.setTitle(b.getTitle()); dto.setSlug(b.getSlug()); dto.setExcerpt(b.getExcerpt()); dto.setAuthorName(b.getAuthorName()); dto.setAuthorRole(b.getAuthorRole()); dto.setCreatedAt(b.getCreatedAt()); + + // ✅ Set published to true for this list + dto.setIsPublished(true); + response.add(dto); } @@ -110,18 +116,20 @@ public BlogDetailResponse getBlogBySlug(String slug) { res.setAuthorRole(blog.getAuthorRole()); res.setCreatedAt(blog.getCreatedAt()); + // ✅ Set published status + res.setIsPublished(true); + return res; } // ---------- SLUG GENERATOR ---------- private String generateSlug(String input) { - String slug = Normalizer.normalize(input, Normalizer.Form.NFD) + if (input == null) return ""; + return Normalizer.normalize(input, Normalizer.Form.NFD) .replaceAll("[^\\w\\s-]", "") .trim() .replaceAll("\\s+", "-") .toLowerCase(Locale.ENGLISH); - - return slug; } @Override @@ -132,13 +140,18 @@ public List getAllBlogsForAdmin() { for (Blog b : blogs) { BlogListResponse dto = new BlogListResponse(); - dto.setId(b.getId()); // ⭐ THIS WAS MISSING + dto.setId(b.getId()); dto.setTitle(b.getTitle()); dto.setSlug(b.getSlug()); dto.setExcerpt(b.getExcerpt()); dto.setAuthorName(b.getAuthorName()); dto.setAuthorRole(b.getAuthorRole()); dto.setCreatedAt(b.getCreatedAt()); + + // ✅ CRITICAL FIX: Map the status to the boolean field + // This ensures the frontend sees correct status! + dto.setIsPublished(b.getStatus() == BlogStatus.PUBLISHED); + response.add(dto); } @@ -159,8 +172,10 @@ public BlogDetailResponse getBlogByIdForAdmin(Long id) { res.setAuthorRole(blog.getAuthorRole()); res.setCreatedAt(blog.getCreatedAt()); + // ✅ CRITICAL FIX: Map the status here as well + res.setIsPublished(blog.getStatus() == BlogStatus.PUBLISHED); + return res; } - -} +} \ No newline at end of file