Skip to content
This repository has been archived by the owner on Nov 27, 2024. It is now read-only.

Commit

Permalink
Merge pull request #6 from daemawiki/article
Browse files Browse the repository at this point in the history
update
  • Loading branch information
ori0o0p authored Apr 23, 2024
2 parents 6cf2a4a + 661348c commit 89f15ac
Show file tree
Hide file tree
Showing 7 changed files with 11 additions and 72 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -90,28 +90,24 @@ public Flux<DocumentSearchResult> searchDocumentContent(
return getDocumentUsecase.searchDocumentContent(text, PagingInfo.of(sortBy, sortDirection, page, size));
}

@GetMapping("/most-revision/top-10")
public Flux<SimpleDocumentResponse> getDocumentsOrderByVersionTop10() {
return getDocumentUsecase.getDocumentMostRevisionTop10();
}

@GetMapping("/most-revision")
public Flux<SimpleDocumentResponse> getDocumentsOrderByVersion(
@RequestBody PagingInfo pagingInfo
@RequestParam(defaultValue = "dateTime.created") String sortBy,
@RequestParam(defaultValue = "1") Integer sortDirection,
@RequestParam(defaultValue = "0") Integer page,
@RequestParam(defaultValue = "10") Integer size
) {
return getDocumentUsecase.getDocumentsMostRevision(pagingInfo);
return getDocumentUsecase.getDocumentsMostRevision(PagingInfo.of(sortBy, sortDirection, page, size));
}

@GetMapping("/most-view")
public Flux<GetMostViewDocumentResponse> getDocumentsOrderByView(
@RequestBody PagingInfo pagingInfo
@RequestParam(defaultValue = "dateTime.created") String sortBy,
@RequestParam(defaultValue = "1") Integer sortDirection,
@RequestParam(defaultValue = "0") Integer page,
@RequestParam(defaultValue = "10") Integer size
) {
return getDocumentUsecase.getDocumentOrderByView(pagingInfo);
}

@GetMapping("/most-view/top-10")
public Flux<GetMostViewDocumentResponse> getDocumentsOrderByViewTop10() {
return getDocumentUsecase.getDocumentOrderByViewTop10();
return getDocumentUsecase.getDocumentOrderByView(PagingInfo.of(sortBy, sortDirection, page, size));
}

@DeleteMapping("/{documentId}")
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
package org.daemawiki.domain.article.model;

import lombok.Getter;
import org.daemawiki.domain.article.comment.model.Comment;
import org.daemawiki.domain.user.model.Writer;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.time.LocalDateTime;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

@Getter
@Document
Expand All @@ -24,7 +21,6 @@ public class Article {
private LocalDateTime createdAt;
private Long recommend = 0L;
private Long view = 0L;
private List<Comment> comments = new CopyOnWriteArrayList<>();

public void increaseView() {
view++;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ public interface FindDocumentPort {
Flux<DocumentSearchResult> searchDocument(String text, PagingInfo pagingInfo);
Flux<DefaultDocument> searchDocumentTitle(String text, PagingInfo pagingInfo);
Flux<DocumentSearchResult> searchDocumentContent(String text, PagingInfo pagingInfo);
Flux<DefaultDocument> getDocumentTop10();
Flux<DefaultDocument> getDocumentMostRevision(PagingInfo pagingInfo);
Flux<DefaultDocument> getDocumentOrderByView(PagingInfo pagingInfo);
Flux<DefaultDocument> getDocumentOrderByViewTop10();

}
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,6 @@ public Flux<DocumentSearchResult> searchDocumentContent(String text, PagingInfo
return documentRepository.findByContentTextContaining(text, pagingInfo.sortBy(), pagingInfo.sortDirection(), pagingInfo.page() * pagingInfo.size(), pagingInfo.size());
}

@Override
public Flux<DefaultDocument> getDocumentTop10() {
return documentRepository.findTop10ByOrderByVersionDesc();
}

public Flux<DefaultDocument> getDocumentMostRevision(PagingInfo pagingInfo) {
return documentRepository.findAllByOrderByVersion(pagingInfo.sortDirection(), pagingInfo.page() * pagingInfo.size(), pagingInfo.size());
}
Expand All @@ -60,11 +55,6 @@ public Flux<DefaultDocument> getDocumentOrderByView(PagingInfo pagingInfo) {
return documentRepository.findAllByOrderByView(pagingInfo.sortDirection(), pagingInfo.page() * pagingInfo.size(), pagingInfo.size());
}

@Override
public Flux<DefaultDocument> getDocumentOrderByViewTop10() {
return documentRepository.findTop10ByOrderByViewDesc();
}

@Override
public Mono<DefaultDocument> save(DefaultDocument document) {
return documentRepository.save(document);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,6 @@ public interface DocumentRepository extends ReactiveMongoRepository<DefaultDocum
@Aggregation("{ $sample: {'size': 1} }")
Mono<DefaultDocument> findRandomDocument();

Flux<DefaultDocument> findTop10ByOrderByVersionDesc();

@Aggregation(pipeline = {
"{ $sort: { 'view': ?0 } }",
"{ $skip: ?1 }",
Expand All @@ -56,8 +54,6 @@ public interface DocumentRepository extends ReactiveMongoRepository<DefaultDocum
})
Flux<DefaultDocument> findAllByOrderByVersion(Integer sortDirection, Integer skip, Integer limit);

Flux<DefaultDocument> findTop10ByOrderByViewDesc();

default Mono<DefaultDocument> increaseView(DefaultDocument document) {
return Mono.justOrEmpty(document)
.doOnNext(DefaultDocument::increaseView)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public Mono<Void> create(SaveDocumentRequest request) {
.switchIfEmpty(Mono.defer(() -> Mono.error(NoEditPermissionUserException.EXCEPTION)))
.flatMap(user -> createDocumentFacade.create(request, user))
.flatMap(this::saveDocumentAndCreateRevision)
.onErrorMap(e -> ExecuteFailedException.EXCEPTION);
.onErrorMap(e -> e instanceof NoEditPermissionUserException ? e : ExecuteFailedException.EXCEPTION);
}

private Mono<Void> saveDocumentAndCreateRevision(DefaultDocument document) {
Expand Down

0 comments on commit 89f15ac

Please sign in to comment.