From 801525df5ec946ce0d9fa4cd22eb8a4fa5cd5113 Mon Sep 17 00:00:00 2001 From: AirboZH Date: Tue, 21 Nov 2023 09:22:06 +0800 Subject: [PATCH] fix: Prevent private posts from being indexed when rebuilding index. --- .../main/java/run/halo/app/core/extension/content/Post.java | 4 ++++ .../src/main/java/run/halo/app/search/IndicesServiceImpl.java | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/run/halo/app/core/extension/content/Post.java b/api/src/main/java/run/halo/app/core/extension/content/Post.java index fbb432edb5b..cc8e2c1a3c1 100644 --- a/api/src/main/java/run/halo/app/core/extension/content/Post.java +++ b/api/src/main/java/run/halo/app/core/extension/content/Post.java @@ -81,6 +81,10 @@ public static boolean isPublished(MetadataOperator metadata) { return labels != null && parseBoolean(labels.getOrDefault(PUBLISHED_LABEL, "false")); } + public static boolean isVisible(PostSpec spec) { + return VisibleEnum.PUBLIC.equals(spec.getVisible()); + } + @Data public static class PostSpec { @Schema(requiredMode = RequiredMode.REQUIRED, minLength = 1) diff --git a/application/src/main/java/run/halo/app/search/IndicesServiceImpl.java b/application/src/main/java/run/halo/app/search/IndicesServiceImpl.java index 9c52f60395b..cfb51a8a64b 100644 --- a/application/src/main/java/run/halo/app/search/IndicesServiceImpl.java +++ b/application/src/main/java/run/halo/app/search/IndicesServiceImpl.java @@ -40,7 +40,8 @@ public Mono rebuildPostIndices() { private Mono rebuildPostIndices(PostSearchService searchService) { return postFinder.listAll() - .filter(post -> Post.isPublished(post.getMetadata())) + .filter( + post -> Post.isPublished(post.getMetadata()) && Post.isVisible(post.getSpec())) .flatMap(listedPostVo -> { PostVo postVo = PostVo.from(listedPostVo); return postFinder.content(postVo.getMetadata().getName())