Skip to content

Commit

Permalink
merge: 이벤트 상세 정보 조회에서 태그도 반환하도록 수정
Browse files Browse the repository at this point in the history
fix: 반환할 때 태그도 받도록 수정
  • Loading branch information
hong-sile authored Jul 27, 2023
2 parents 434e4a3 + ff88a20 commit 23a6023
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
package com.emmsale.event.application.dto;

import static java.util.stream.Collectors.toUnmodifiableList;

import com.emmsale.event.domain.Event;
import com.emmsale.event.domain.EventTag;
import com.emmsale.tag.domain.Tag;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.time.LocalDateTime;
import java.util.List;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

Expand All @@ -23,16 +28,23 @@ public class EventDetailResponse {
private final LocalDateTime endDate;
private final String location;
private final String status;
private final List<String> tags;

public static EventDetailResponse from(final Event event) {
final List<String> tagNames = event.getTags().stream()
.map(EventTag::getTag)
.map(Tag::getName)
.collect(toUnmodifiableList());

return new EventDetailResponse(
event.getId(),
event.getName(),
event.getInformationUrl(),
event.getStartDate(),
event.getEndDate(),
event.getLocation(),
calculateStatus(event.getStartDate(), event.getEndDate())
calculateStatus(event.getStartDate(), event.getEndDate()),
tagNames
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public class Event extends BaseEntity {
@Column(nullable = false)
private String informationUrl;
@OneToMany(mappedBy = "event")
private List<EventTag> tags;
private List<EventTag> tags = new ArrayList<>();
@OneToMany(mappedBy = "event")
private List<Comment> comments;
@OneToMany(mappedBy = "event",cascade = CascadeType.ALL)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ void findEvent() throws Exception {
LocalDateTime.of(2023, 8, 15, 12, 0),
LocalDateTime.of(2023, 8, 15, 12, 0),
"코엑스",
"예정"
"예정",
List.of("코틀린", "백엔드", "안드로이드")
);

final ResponseFieldsSnippet responseFields = responseFields(
Expand All @@ -64,7 +65,8 @@ void findEvent() throws Exception {
fieldWithPath("startDate").type(JsonFieldType.STRING).description("시작일자"),
fieldWithPath("endDate").type(JsonFieldType.STRING).description("종료일자"),
fieldWithPath("location").type(JsonFieldType.STRING).description("장소"),
fieldWithPath("status").type(JsonFieldType.STRING).description("진행상태")
fieldWithPath("status").type(JsonFieldType.STRING).description("진행상태"),
fieldWithPath("tags[]").type(JsonFieldType.ARRAY).description("태그들")
);

when(eventService.findEvent(eventId)).thenReturn(eventDetailResponse);
Expand Down

0 comments on commit 23a6023

Please sign in to comment.