Skip to content

Commit

Permalink
[BE/#17] Feat : 모든 이슈 리스트 정보를 반환하는 DTO 추가
Browse files Browse the repository at this point in the history
- issues : 각 이슈에 관한 정보 배열
- labelInfo : 등록되어 있는 레이블 갯수와 각 레이블에 대한 상세 정보 필드
- milestoneInfo : 등록 되어 있는 마일스톤의 갯수와 각 마일스톤에 대한 상세 정보 필드
- assigneeInfo : assignee로 지정할 수 있는 유저 리스트
  • Loading branch information
MuseopKim committed Jun 11, 2020
1 parent e6b2367 commit 3f95717
Showing 1 changed file with 97 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -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<IssueDetails> issues;

private LabelInformation labelInfo;

private MilestoneInformation milestoneInfo;

private List<UserSummary> assigneeInfo;

public ListOfIssuesDto() {}

private ListOfIssuesDto(List<IssueDetails> issues, LabelInformation labelInfo, MilestoneInformation milestoneInfo, List<UserSummary> assigneeInfo) {
this.issues = issues;
this.labelInfo = labelInfo;
this.milestoneInfo = milestoneInfo;
this.assigneeInfo = assigneeInfo;
}

public static ListOfIssuesDto create(List<IssueDetails> issues, LabelInformation labelInfo, MilestoneInformation milestoneInfo, List<UserSummary> assigneeInfo) {
return new ListOfIssuesDto(issues, labelInfo, milestoneInfo, assigneeInfo);
}

public List<IssueDetails> getIssues() {
return issues;
}

public void setIssues(List<IssueDetails> 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<UserSummary> getAssigneeInfo() {
return assigneeInfo;
}

public void setAssigneeInfo(List<UserSummary> assigneeInfo) {
this.assigneeInfo = assigneeInfo;
}

public static class Builder {
private List<IssueDetails> issues;
private LabelInformation labelInfo;
private MilestoneInformation milestoneInfo;
private List<UserSummary> assigneeInfo;

public Builder() {}

public Builder issues(List<IssueDetails> 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<UserSummary> assigneeInfo) {
this.assigneeInfo = assigneeInfo;
return this;
}

public ListOfIssuesDto build() {
return new ListOfIssuesDto(issues, labelInfo, milestoneInfo, assigneeInfo);
}
}
}

0 comments on commit 3f95717

Please sign in to comment.