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
4 changes: 4 additions & 0 deletions src/main/java/org/runimo/runimo/common/response/PageData.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
package org.runimo.runimo.common.response;

import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Schema
@Getter
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class PageData<T> {

@Schema(description = "페이지 데이터 목록")
private List<T> items;
@Schema(description = "페이지 정보")
private PageInfo pagination;

public static <T> PageData<T> of(List<T> items, PageInfo pagination) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
package org.runimo.runimo.common.response;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.runimo.runimo.exceptions.code.CustomResponseCode;

@Schema(description = "성공 페이지 응답 DTO")
@Getter
@NoArgsConstructor(access = lombok.AccessLevel.PROTECTED)
public class SuccessPageResponse<T> extends Response {

@Schema(description = "페이지 데이터")
private PageData<T> payload;

public SuccessPageResponse(boolean success, String message, String code,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import org.runimo.runimo.records.controller.request.RecordUpdateRequest;
import org.runimo.runimo.records.enums.RecordHttpResponse;
import org.runimo.runimo.records.service.dto.RecordSimpleView;
import org.runimo.runimo.records.service.dto.RecordSimpleViewResponse;
import org.runimo.runimo.records.service.dto.WeeklyRecordStatResponse;
import org.runimo.runimo.records.service.dto.WeeklyStatQuery;
import org.runimo.runimo.records.service.usecases.RecordCreateUsecase;
Expand All @@ -30,6 +29,7 @@
import org.runimo.runimo.records.service.usecases.dtos.RecordSaveResponse;
import org.runimo.runimo.user.controller.UserId;
import org.runimo.runimo.user.enums.UserHttpResponseCode;
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
Expand Down Expand Up @@ -146,11 +146,10 @@ public ResponseEntity<SuccessResponse<MonthlyRecordStatResponse>> queryMonthlyRe
}

@Operation(summary = "개인 기록 페이지네이션 전체 조회", description = "개인 기록 페이지네이션 조회")
@ApiResponse(responseCode = "200", description = "기록 조회 성공",
content = @Content(schema = @Schema(implementation = RecordSimpleViewResponse.class)))
@ApiResponse(responseCode = "200", description = "기록 조회 성공")
@GetMapping("/me")
public ResponseEntity<SuccessPageResponse<RecordSimpleView>> getMyRecordList(
@ModelAttribute MyRecordPageRequest request,
@ParameterObject @ModelAttribute MyRecordPageRequest request,
@UserId Long userId
) {
return ResponseEntity.ok(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,33 @@
package org.runimo.runimo.records.controller.request;

import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import java.time.LocalDate;
import lombok.Getter;
import lombok.Setter;
import org.runimo.runimo.records.service.dto.RecordQuery;

@Schema(description = "기록 조회 요청 파라매터")
@Getter
@Setter
public class MyRecordPageRequest {

@Parameter(description = "페이지 번호", example = "0")
@Min(0)
private Integer page = 0;
@Parameter(description = "페이지 당 크기", example = "10")
@Min(1)
@Max(20)
private Integer size = 10;
@Parameter(description = "시작 날짜(기본값 : 요청 시점)", example = "2024-04-04")
private LocalDate startDate = LocalDate.now();
@Parameter(description = "종료 날짜(기본값 : 요청 시점)", example = "2024-04-04")
private LocalDate endDate = LocalDate.now();

public static RecordQuery toQuery(MyRecordPageRequest request, Long userId) {
return new RecordQuery(userId, request.getPage(), request.getSize(),
request.getStartDate(), request.getEndDate());
return new RecordQuery(userId, request.getPage(), request.getSize(), request.getStartDate(),
request.getEndDate());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

@Schema(description = "보유 러니모 목록 조회 응답")
public record GetMyRunimoListResponse(
Long totalDistanceInMeters,
List<RunimoInfo> runimos
) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ public GetMyRunimoListResponse getMyRunimoList(Long userId) {
HatchHttpResponseCode.HATCH_USER_NOT_FOUND));

return new GetMyRunimoListResponse(
user.getTotalDistanceInMeters(),
RunimoSimpleModel.toDtoList(models, user.getMainRunimoId()));
}

Expand Down