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 }