1 package usecase.post; 2 3 import lombok.Builder; 4 import lombok.Getter; 5 6 import java.time.Instant; 7 8 @Builder 9 @Getter 10 public class PostSearchForm { 11 public enum SortCriteria {OLDEST, NEWEST, MOSTVOTED}; 12 private final String content; 13 private final String sectionName; 14 private final String authorName; 15 private final Instant postedAfter; 16 private final Instant postedBefore; 17 @Builder.Default private final SortCriteria orderBy = SortCriteria.NEWEST; 18 @Builder.Default private final int page = 1; 19 @Builder.Default private final boolean onlyFollow = false; 20 @Builder.Default private final boolean includeBody = false; 21 }