Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.codiary.backend.global.apiPayload.ApiResponse;
import com.codiary.backend.global.apiPayload.code.status.SuccessStatus;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import java.util.List;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -157,4 +158,14 @@ public ApiResponse<String> deleteTeamBannerImage(
String response = teamService.deleteTeamBannerImage(teamId, memberId);
return ApiResponse.onSuccess(SuccessStatus.TEAM_OK, response);
}


@GetMapping("/list")
@Operation(summary = "팀 리스트 조회 API", description = "팀 설정을 위한 팀 전체 리스트를 조회합니다.")
public ApiResponse<TeamResponseDTO.TeamPreviewListDTO> findTeams(){
List<Team> teams = teamService.getTeams();
return ApiResponse.onSuccess(SuccessStatus.TEAM_OK, TeamConverter.toTeamPreviewListDTO(teams));
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.codiary.backend.domain.team.entity.TeamProfileImage;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class TeamConverter {
public static TeamResponseDTO.TeamDTO toTeamResponseDto(Team team) {
Expand Down Expand Up @@ -96,4 +97,21 @@ public static TeamResponseDTO.TeamImageDTO toTeamImageResponseDTO(TeamBannerImag
.url(bannerImage.getImageUrl())
.build();
}

public static TeamResponseDTO.TeamPreviewDTO toTeamPreviewDTO(Team team) {
return TeamResponseDTO.TeamPreviewDTO.builder()
.teamId(team.getTeamId())
.teamName(team.getName())
.build();
}

public static TeamResponseDTO.TeamPreviewListDTO toTeamPreviewListDTO(List<Team> teamList) {
List<TeamResponseDTO.TeamPreviewDTO> teamPreviewDTOList = IntStream.range(0, teamList.size())
.mapToObj(i->toTeamPreviewDTO(teamList.get(i)))
.collect(Collectors.toList());
return TeamResponseDTO.TeamPreviewListDTO.builder()
.teams(teamPreviewDTOList)
.build();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
import java.util.List;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

public class TeamResponseDTO {

Expand Down Expand Up @@ -88,4 +91,20 @@ public record TeamMemberDTO(
public record TeamImageDTO(
String url) {
}


@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
@Builder
public record TeamPreviewDTO (
Long teamId,
String teamName
){}

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
@Builder
public record TeamPreviewListDTO (
List<TeamResponseDTO.TeamPreviewDTO> teams
){}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import com.codiary.backend.global.common.uuid.UuidRepository;
import com.codiary.backend.global.s3.AmazonS3Manager;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
Expand Down Expand Up @@ -250,4 +251,9 @@ public String deleteTeamBannerImage(Long teamId, Long memberId) {
// response: 성공을 반환
return "성공적으로 삭제되었습니다!";
}

public List<Team> getTeams() {
return teamRepository.findAllByOrderByTeamIdDesc();
}

}
Loading