diff --git a/BE/src/main/java/com/codesquad/issuetracker/ragdoll/dto/ListOfIssuesDto.java b/BE/src/main/java/com/codesquad/issuetracker/ragdoll/dto/ListOfIssuesDto.java new file mode 100644 index 0000000..d6ad210 --- /dev/null +++ b/BE/src/main/java/com/codesquad/issuetracker/ragdoll/dto/ListOfIssuesDto.java @@ -0,0 +1,97 @@ +package com.codesquad.issuetracker.ragdoll.dto; + +import com.codesquad.issuetracker.ragdoll.dto.UserVO.UserSummary; +import com.codesquad.issuetracker.ragdoll.dto.issueVO.IssueDetails; +import com.codesquad.issuetracker.ragdoll.dto.labelVO.LabelInformation; +import com.codesquad.issuetracker.ragdoll.dto.milestoneVO.MilestoneInformation; + +import java.util.List; + +public class ListOfIssuesDto { + + private List issues; + + private LabelInformation labelInfo; + + private MilestoneInformation milestoneInfo; + + private List assigneeInfo; + + public ListOfIssuesDto() {} + + private ListOfIssuesDto(List issues, LabelInformation labelInfo, MilestoneInformation milestoneInfo, List assigneeInfo) { + this.issues = issues; + this.labelInfo = labelInfo; + this.milestoneInfo = milestoneInfo; + this.assigneeInfo = assigneeInfo; + } + + public static ListOfIssuesDto create(List issues, LabelInformation labelInfo, MilestoneInformation milestoneInfo, List assigneeInfo) { + return new ListOfIssuesDto(issues, labelInfo, milestoneInfo, assigneeInfo); + } + + public List getIssues() { + return issues; + } + + public void setIssues(List issues) { + this.issues = issues; + } + + public LabelInformation getLabelInfo() { + return labelInfo; + } + + public void setLabelInfo(LabelInformation labelInfo) { + this.labelInfo = labelInfo; + } + + public MilestoneInformation getMilestoneInfo() { + return milestoneInfo; + } + + public void setMilestoneInfo(MilestoneInformation milestoneInfo) { + this.milestoneInfo = milestoneInfo; + } + + public List getAssigneeInfo() { + return assigneeInfo; + } + + public void setAssigneeInfo(List assigneeInfo) { + this.assigneeInfo = assigneeInfo; + } + + public static class Builder { + private List issues; + private LabelInformation labelInfo; + private MilestoneInformation milestoneInfo; + private List assigneeInfo; + + public Builder() {} + + public Builder issues(List issues) { + this.issues = issues; + return this; + } + + public Builder labelInfo(LabelInformation labelInfo) { + this.labelInfo = labelInfo; + return this; + } + + public Builder milestoneInfo(MilestoneInformation milestoneInfo) { + this.milestoneInfo = milestoneInfo; + return this; + } + + public Builder assigneeInfo(List assigneeInfo) { + this.assigneeInfo = assigneeInfo; + return this; + } + + public ListOfIssuesDto build() { + return new ListOfIssuesDto(issues, labelInfo, milestoneInfo, assigneeInfo); + } + } +}