Skip to content

Commit

Permalink
Merge pull request #196 from softeerbootcamp4th/docs/#191-RequestDto-…
Browse files Browse the repository at this point in the history
…swagger

docs/#191-RequestDto-swagger
  • Loading branch information
k000927 authored Aug 21, 2024
2 parents c0ae510 + c8f365e commit 0635d16
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
package JGS.CasperEvent.domain.event.dto.RequestDto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.*;

@Getter
@Builder
@EqualsAndHashCode
@Schema(description = "관리자 계정 생성 요청을 위한 데이터입니다.")
public class AdminRequestDto {

@NotNull
@Schema(description = "관리자 아이디", example = "adminId", required = true)
private String adminId;

@NotNull
@Schema(description = "관리자 인증을 위한 비밀번호", example = "password", required = true)
private String password;

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package JGS.CasperEvent.domain.event.dto.RequestDto.lotteryEventDto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
Expand All @@ -10,37 +11,46 @@
@Getter
@Builder
@EqualsAndHashCode
@Schema(description = "캐스퍼 봇 생성 요청을 위한 데이터입니다.")
public class CasperBotRequestDto {

@NotNull(message = "눈 모양 값은 필수 필드입니다.")
@Min(value = 0, message = "눈 모양 값이 부적절합니다.")
@Max(value = 7, message = "눈 모양 값이 부적절합니다.")
@Schema(description = "눈 모양 값", example = "1", required = true)
private Integer eyeShape;

@NotNull(message = "눈 위치 값은 필수 필드입니다.")
@Min(value = 0, message = "눈 위치 값이 부적절합니다.")
@Max(value = 2, message = "눈 위치 값이 부적절합니다.")
@Schema(description = "눈 위치 값", example = "1", required = true)
private Integer eyePosition;

@NotNull(message = "입 모양 값은 필수 필드입니다.")
@Min(value = 0, message = "입 모양 값이 부적절합니다.")
@Max(value = 4, message = "입 모양 값이 부적절합니다.")
@Schema(description = "입 모양 값", example = "2", required = true)
private Integer mouthShape;

@NotNull(message = "색깔 값은 필수 필드입니다.")
@Min(value = 0, message = "색깔 값이 부적절합니다.")
@Max(value = 17, message = "색깔 값이 부적절합니다.")
@Schema(description = "색깔 값", example = "8", required = true)
private Integer color;

@NotNull(message = "스티커 값은 필수 필드입니다.")
@Min(value = 0, message = "스티커 값이 부적절합니다.")
@Max(value = 4, message = "스티커 값이 부적절합니다.")
@Schema(description = "스티커 값", example = "1", required = true)
private Integer sticker;

@NotNull(message = "이름은 필수 필드입니다. ")
@NotNull(message = "이름은 필수 필드입니다.")
@Schema(description = "캐스퍼 봇의 이름", example = "MyCasperBot", required = true)
private String name;

@Schema(description = "기대평", example = "캐스퍼 정말 기대되요!")
private String expectation;

@Schema(description = "추천인 ID", example = "referralId")
private String referralId = "";
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package JGS.CasperEvent.domain.event.dto.RequestDto.lotteryEventDto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Builder;
import lombok.EqualsAndHashCode;
Expand All @@ -11,20 +12,26 @@
@Getter
@Builder
@EqualsAndHashCode
@Schema(description = "추첨 이벤트를 생성하기 위한 요청 데이터입니다.")
public class LotteryEventRequestDto {

@NotNull(message = "이벤트 시작 날짜를 지정하세요.")
@Schema(description = "이벤트의 시작 날짜", example = "2024-09-01", required = true)
private LocalDate startDate;

@NotNull(message = "이벤트 시작 시간을 지정하세요.")
@Schema(description = "이벤트의 시작 시간", example = "14:00:00", required = true)
private LocalTime startTime;

@NotNull(message = "이벤트 종료 날짜를 지정하세요.")
@Schema(description = "이벤트의 종료 날짜", example = "2024-09-30", required = true)
private LocalDate endDate;

@NotNull(message = "이벤트 시작 시간을 지정하세요.")
@NotNull(message = "이벤트 종료 시간을 지정하세요.")
@Schema(description = "이벤트의 종료 시간", example = "18:00:00", required = true)
private LocalTime endTime;

@NotNull(message = "당첨인원 수를 지정하세요.")
@Schema(description = "당첨 인원 수", example = "10", required = true)
private int winnerCount;
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,43 @@
package JGS.CasperEvent.domain.event.dto.RequestDto.rushEventDto;

import io.swagger.v3.oas.annotations.media.Schema;
import JGS.CasperEvent.global.enums.Position;
import jakarta.validation.constraints.NotNull;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;

@ToString
@Getter
@Builder
@Schema(description = "선착순 이벤트 선택지를 생성하기 위한 요청 데이터입니다.")
public class RushEventOptionRequestDto {

@Schema(description = "선착순 이벤트 선택지 ID", example = "1")
@NotNull(message = "선착순 이벤트 선택지 ID는 필수 값입니다.")
private Long rushOptionId;

@Schema(description = "선택지의 위치", example = "LEFT", implementation = Position.class)
@NotNull(message = "선택지의 위치는 필수 값입니다.")
private Position position;

@Schema(description = "선택지 메인 텍스트", example = "첫 차는 저렴해야 한다")
@NotNull(message = "선택지 메인 텍스트는 필수 값입니다.")
private String mainText;

@Schema(description = "선택지 서브 텍스트", example = "가성비 좋게 저렴한 차로 시작해서 차근히 업그레이드하고 싶어")
@NotNull(message = "선택지 서브 텍스트는 필수 값입니다.")
private String subText;

@Schema(description = "선택지 결과 메인 텍스트", example = "가성비 좋은 도심형 전기차")
@NotNull(message = "선택지 결과 메인 텍스트는 필수 값입니다.")
private String resultMainText;

@Schema(description = "선택지 결과 서브 텍스트", example = "캐스퍼 일렉트릭은 전기차 평균보다 30% 저렴해요 첫 차로 캐스퍼 일렉트릭 어떤가요?")
@NotNull(message = "선택지 결과 서브 텍스트는 필수 값입니다.")
private String resultSubText;

@Schema(description = "선택지 이미지 URL", example = "https://example.com/image.png")
@NotNull(message = "선택지 이미지 URL은 필수 값입니다.")
private String imageUrl;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package JGS.CasperEvent.domain.event.dto.RequestDto.rushEventDto;

import io.swagger.v3.oas.annotations.media.Schema;
import JGS.CasperEvent.global.enums.CustomErrorCode;
import JGS.CasperEvent.global.enums.Position;
import JGS.CasperEvent.global.error.exception.CustomException;
Expand All @@ -17,29 +18,38 @@
@Getter
@Builder
@EqualsAndHashCode
//todo 검증 항목 추가 필요
@Schema(description = "선착순 이벤트 요청을 위한 데이터입니다.")
public class RushEventRequestDto {

@Schema(description = "선착순 이벤트 ID", example = "1")
@NotNull(message = "선착순 이벤트 아이디는 필수 항목입니다.")
private Long rushEventId;

@Schema(description = "이벤트 날짜", example = "2024-08-20")
@NotNull(message = "이벤트 시작 날짜는 필수 항목입니다.")
private LocalDate eventDate;

@Schema(description = "이벤트 시작 시간", example = "14:00:00")
@NotNull(message = "이벤트 시작 시간은 필수 항목입니다.")
private LocalTime startTime;

@NotNull(message = "이벤트 종료 시간 필수 항목입니다.")
@Schema(description = "이벤트 종료 시간", example = "16:00:00")
@NotNull(message = "이벤트 종료 시간은 필수 항목입니다.")
private LocalTime endTime;

@Schema(description = "당첨자 수", example = "3")
@NotNull(message = "당첨자 수는 필수 항목입니다.")
private int winnerCount;

@Schema(description = "상품 사진 URL", example = "https://example.com/image.png")
@NotNull(message = "상품 사진은 필수 항목입니다.")
private String prizeImageUrl;

@Schema(description = "상품 상세 설명", example = "올리브영 1만원권")
@NotNull(message = "상품 상세 정보는 필수 항목입니다.")
private String prizeDescription;

@Schema(description = "선택지 목록")
private Set<RushEventOptionRequestDto> options;

public RushEventOptionRequestDto getLeftOptionRequestDto() {
Expand Down

0 comments on commit 0635d16

Please sign in to comment.