|
| 1 | +/** |
| 2 | + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) |
| 3 | + * (7.10.0). https://openapi-generator.tech Do not edit the class manually. |
| 4 | + */ |
| 5 | +package me.bombom.openapi.monthlyreport.api; |
| 6 | + |
| 7 | +import io.swagger.v3.oas.annotations.Operation; |
| 8 | +import io.swagger.v3.oas.annotations.Parameter; |
| 9 | +import io.swagger.v3.oas.annotations.media.ArraySchema; |
| 10 | +import io.swagger.v3.oas.annotations.media.Content; |
| 11 | +import io.swagger.v3.oas.annotations.media.Schema; |
| 12 | +import io.swagger.v3.oas.annotations.responses.ApiResponse; |
| 13 | +import io.swagger.v3.oas.annotations.security.SecurityRequirement; |
| 14 | +import io.swagger.v3.oas.annotations.tags.Tag; |
| 15 | +import jakarta.annotation.Generated; |
| 16 | +import jakarta.validation.Valid; |
| 17 | +import jakarta.validation.constraints.*; |
| 18 | +import java.util.List; |
| 19 | +import me.bombom.api.v1.common.resolver.LoginMember; |
| 20 | +import me.bombom.api.v1.member.domain.Member; |
| 21 | +import me.bombom.openapi.monthlyreport.model.MonthlyReportDashboardRequest; |
| 22 | +import me.bombom.openapi.monthlyreport.model.MonthlyReportRequest; |
| 23 | +import me.bombom.openapi.monthlyreport.model.ReadingCalendarDayResponse; |
| 24 | +import me.bombom.openapi.monthlyreport.model.ReadingDashboardResponse; |
| 25 | +import org.springdoc.core.annotations.ParameterObject; |
| 26 | +import org.springframework.http.HttpStatus; |
| 27 | +import org.springframework.validation.annotation.Validated; |
| 28 | +import org.springframework.web.bind.annotation.*; |
| 29 | + |
| 30 | +@Validated |
| 31 | +@Tag(name = "MonthlyReport", description = "월간 리포트 관련 API") |
| 32 | +@Generated("org.openapitools.codegen.languages.SpringCodegen") |
| 33 | +public interface MonthlyReportApi { |
| 34 | + |
| 35 | + /** |
| 36 | + * GET /api/v1/members/me/reading/calendar : 월간 읽기 캘린더 조회 로그인한 회원의 해당 연·월 일자별 읽기 현황을 조회합니다. |
| 37 | + * |
| 38 | + * @return 읽기 캘린더 조회 성공 (status code 200) or 잘못된 연·월 파라미터 요청 (status code 400) or 인증 실패 (status |
| 39 | + * code 401) |
| 40 | + */ |
| 41 | + @Operation( |
| 42 | + operationId = "getReadingCalendar", |
| 43 | + summary = "월간 읽기 캘린더 조회", |
| 44 | + description = "로그인한 회원의 해당 연·월 일자별 읽기 현황을 조회합니다.", |
| 45 | + tags = {"MonthlyReport"}, |
| 46 | + responses = { |
| 47 | + @ApiResponse( |
| 48 | + responseCode = "200", |
| 49 | + description = "읽기 캘린더 조회 성공", |
| 50 | + content = { |
| 51 | + @Content( |
| 52 | + mediaType = "application/json", |
| 53 | + array = |
| 54 | + @ArraySchema( |
| 55 | + schema = @Schema(implementation = ReadingCalendarDayResponse.class))) |
| 56 | + }), |
| 57 | + @ApiResponse(responseCode = "400", description = "잘못된 연·월 파라미터 요청"), |
| 58 | + @ApiResponse(responseCode = "401", description = "인증 실패") |
| 59 | + }, |
| 60 | + security = {@SecurityRequirement(name = "sessionCookie")}) |
| 61 | + @RequestMapping( |
| 62 | + method = RequestMethod.GET, |
| 63 | + value = "/api/v1/members/me/reading/calendar", |
| 64 | + produces = {"application/json"}) |
| 65 | + @ResponseStatus(HttpStatus.OK) |
| 66 | + List<ReadingCalendarDayResponse> getReadingCalendar( |
| 67 | + @Parameter(hidden = true) @LoginMember Member member, |
| 68 | + @Valid @ModelAttribute @ParameterObject MonthlyReportRequest request |
| 69 | + ); |
| 70 | + |
| 71 | + /** |
| 72 | + * GET /api/v1/members/me/reading/dashboard : 월간 읽기 대시보드 조회 로그인한 회원의 해당 연·월 읽기 통계를 조회합니다. 읽은 아티클 |
| 73 | + * 수(지난 달 대비 증감 포함), 북마크 수, 자주 읽은 뉴스레터를 반환합니다. |
| 74 | + * |
| 75 | + * @return 읽기 대시보드 조회 성공 (status code 200) or 잘못된 연·월 파라미터 요청 (status code 400) or 인증 실패 (status |
| 76 | + * code 401) |
| 77 | + */ |
| 78 | + @Operation( |
| 79 | + operationId = "getReadingDashboard", |
| 80 | + summary = "월간 읽기 대시보드 조회", |
| 81 | + description = |
| 82 | + "로그인한 회원의 해당 연·월 읽기 통계를 조회합니다. 읽은 아티클 수(지난 달 대비 증감 포함), 북마크 수, 자주 읽은 뉴스레터를 반환합니다.", |
| 83 | + tags = {"MonthlyReport"}, |
| 84 | + responses = { |
| 85 | + @ApiResponse( |
| 86 | + responseCode = "200", |
| 87 | + description = "읽기 대시보드 조회 성공", |
| 88 | + content = { |
| 89 | + @Content( |
| 90 | + mediaType = "application/json", |
| 91 | + schema = @Schema(implementation = ReadingDashboardResponse.class)) |
| 92 | + }), |
| 93 | + @ApiResponse(responseCode = "400", description = "잘못된 연·월 파라미터 요청"), |
| 94 | + @ApiResponse(responseCode = "401", description = "인증 실패") |
| 95 | + }, |
| 96 | + security = {@SecurityRequirement(name = "sessionCookie")}) |
| 97 | + @RequestMapping( |
| 98 | + method = RequestMethod.GET, |
| 99 | + value = "/api/v1/members/me/reading/dashboard", |
| 100 | + produces = {"application/json"}) |
| 101 | + @ResponseStatus(HttpStatus.OK) |
| 102 | + ReadingDashboardResponse getReadingDashboard( |
| 103 | + @Parameter(hidden = true) @LoginMember Member member, |
| 104 | + @Valid @ModelAttribute @ParameterObject MonthlyReportDashboardRequest request |
| 105 | + ); |
| 106 | +} |
0 commit comments