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 @@ -48,6 +48,20 @@ public CommonResponse<Void> updateUserRouteStatus(
return CommonResponse.onSuccess(null);
}

@Operation(
summary = "루트 ID로 유저 루트 ID 및 상태 조회",
description = "루트 ID로 사용자가 저장한 루트 ID 및 상태 조회",
security = @SecurityRequirement(name = "bearerAuth")
)
@GetMapping("/{routeId}")
public CommonResponse<UserRouteStatusResponseDto> getUserRoutesByRouteId(
@Parameter(hidden = true) @CurrentUser User user,
@PathVariable Long routeId
) {
UserRouteStatusResponseDto response = userRouteService.getUserRoutesByRouteId(user, routeId);
return CommonResponse.onSuccess(response);
}

@Operation(
summary = "유저 루트 목록 조회",
description = "사용자가 저장한 루트 목록 조회",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.mey.backend.domain.user_route.dto;

import com.mey.backend.domain.user_route.entity.UserRoute;
import com.mey.backend.domain.user_route.entity.UserRouteStatus;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class UserRouteStatusResponseDto {

private Long userRouteId;
private UserRouteStatus status;

public static UserRouteStatusResponseDto from(UserRoute userRoute) {
return UserRouteStatusResponseDto.builder()
.userRouteId(userRoute.getUserRouteId())
.status(userRoute.getUserRouteStatus())
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,7 @@ public interface UserRouteRepository extends JpaRepository<UserRoute, Long> {
Optional<UserRoute> findByUserRouteIdAndUser(Long userRouteId, User user);

boolean existsByUserAndRoute(User user, Route route);

Optional<UserRoute> findByUserAndRoute_Id(User user, Long routeId);

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@
import com.mey.backend.domain.route.entity.Route;
import com.mey.backend.domain.route.repository.RouteRepository;
import com.mey.backend.domain.user.entity.User;
import com.mey.backend.domain.user_route.dto.UserRouteListResponseDto;
import com.mey.backend.domain.user_route.dto.UserRouteSaveRequestDto;
import com.mey.backend.domain.user_route.dto.UserRouteSaveResponseDto;
import com.mey.backend.domain.user_route.dto.UserRouteUpdateRequestDto;
import com.mey.backend.domain.user_route.dto.*;
import com.mey.backend.domain.user_route.entity.UserRoute;
import com.mey.backend.domain.user_route.entity.UserRouteStatus;
import com.mey.backend.domain.user_route.repository.UserRouteRepository;
Expand Down Expand Up @@ -59,6 +56,14 @@ public UserRouteSaveResponseDto saveUserRoute(User user, UserRouteSaveRequestDto
.build();
}

public UserRouteStatusResponseDto getUserRoutesByRouteId(User user, Long routeId) {

UserRoute userRoute = userRouteRepository.findByUserAndRoute_Id(user, routeId)
.orElseThrow(() -> new UserRouteException(ErrorStatus.USER_ROUTE_NOT_FOUND));

return UserRouteStatusResponseDto.from(userRoute);
}

public UserRouteListResponseDto getUserRoutes(User user, UserRouteStatus status) {
List<UserRoute> userRoutes;

Expand Down