From 23021663fe30c402e1639070c6744bf7b3fef0ae Mon Sep 17 00:00:00 2001 From: DrRivaski <48974215+DrRivaski@users.noreply.github.com> Date: Sat, 17 Aug 2024 22:38:52 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[Refactor]=20=EC=B6=94=EC=B2=A8=20=EC=84=9C?= =?UTF-8?q?=EB=B9=84=EC=8A=A4=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81=202?= =?UTF-8?q?=20(#148)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Feature] static text를 관리하는 enum 구현 (#71) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 --------- Co-authored-by: hyeokson * [Refactor] MainPageController 클래스명 변경 (#72) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 --------- Co-authored-by: hyeokson * [Feature] 메인 페이지 GET API 구현하기 (#73) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 * feat: 메인페이지 자동차 정적 정보 응답 dto 구현 * feat: 메인페이지 이벤트 정적 정보 응답 dto 구현 * refactor: 클래스 및 변수명 변경 * refactor: 클래스명 변경 * refactor: 클래스명 변경 * refactor: round 변수 삭제 * feat: 인증검사를 하지 않는 url 추가 * feat: 메인 페이지 컨트롤러 구현 * feat: 메인 페이지 service 클래스 구현 * feat: 정적자원util 클래스 초기화 메서드 구현 * refactor: enum 변수명 수정 * refactor: Fcfs 당첨자 수 수정 로직 변경 --------- Co-authored-by: hyeokson * [Feature] 어드민 회원가입 기능 구현 (#75) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 --------- Co-authored-by: hyeokson * [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 사용자 생성 시 추첨 참여 정보, 공유 링크 정보, 공유 정보 생성 (#78) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * feat: 유저 생성 시 공유 정보 생성하도록 수정 * feat: 유저 생성 시 추첨 이벤트 참여 정보 생성되도록 수정 * refactor: ShareUrlInfo에 빌더 어노테이션 추가 * feat: List형태로 공유 url 가져오는 메서드 추가 * feat: 중복되지 않는 공유 url 생성 후 DB에 저장하는 로직 추가 * refactor: NoArgsConstructor, AllArgsConstructor 추가 * refactor: GeneratedValue 어노테이션 삭제 * refactor: readOnly false로 변경 * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Feature] static text를 관리하는 enum 구현 (#71) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 --------- Co-authored-by: hyeokson * [Refactor] MainPageController 클래스명 변경 (#72) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 --------- Co-authored-by: hyeokson * [Feature] 메인 페이지 GET API 구현하기 (#73) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 * feat: 메인페이지 자동차 정적 정보 응답 dto 구현 * feat: 메인페이지 이벤트 정적 정보 응답 dto 구현 * refactor: 클래스 및 변수명 변경 * refactor: 클래스명 변경 * refactor: 클래스명 변경 * refactor: round 변수 삭제 * feat: 인증검사를 하지 않는 url 추가 * feat: 메인 페이지 컨트롤러 구현 * feat: 메인 페이지 service 클래스 구현 * feat: 정적자원util 클래스 초기화 메서드 구현 * refactor: enum 변수명 수정 * refactor: Fcfs 당첨자 수 수정 로직 변경 --------- Co-authored-by: hyeokson * [Feature] 어드민 회원가입 기능 구현 (#75) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 --------- Co-authored-by: hyeokson * [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 사용자 생성 시 추첨 참여 정보, 공유 링크 정보, 공유 정보 생성 (#78) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * feat: 유저 생성 시 공유 정보 생성하도록 수정 * feat: 유저 생성 시 추첨 이벤트 참여 정보 생성되도록 수정 * refactor: ShareUrlInfo에 빌더 어노테이션 추가 * feat: List형태로 공유 url 가져오는 메서드 추가 * feat: 중복되지 않는 공유 url 생성 후 DB에 저장하는 로직 추가 * refactor: NoArgsConstructor, AllArgsConstructor 추가 * refactor: GeneratedValue 어노테이션 삭제 * refactor: readOnly false로 변경 * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Feature] static text를 관리하는 enum 구현 (#71) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 --------- Co-authored-by: hyeokson * [Refactor] MainPageController 클래스명 변경 (#72) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 --------- Co-authored-by: hyeokson * [Feature] 메인 페이지 GET API 구현하기 (#73) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 * feat: 메인페이지 자동차 정적 정보 응답 dto 구현 * feat: 메인페이지 이벤트 정적 정보 응답 dto 구현 * refactor: 클래스 및 변수명 변경 * refactor: 클래스명 변경 * refactor: 클래스명 변경 * refactor: round 변수 삭제 * feat: 인증검사를 하지 않는 url 추가 * feat: 메인 페이지 컨트롤러 구현 * feat: 메인 페이지 service 클래스 구현 * feat: 정적자원util 클래스 초기화 메서드 구현 * refactor: enum 변수명 수정 * refactor: Fcfs 당첨자 수 수정 로직 변경 --------- Co-authored-by: hyeokson * [Feature] 어드민 회원가입 기능 구현 (#75) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 --------- Co-authored-by: hyeokson * [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] MainPageCarResponseDto 필드 변경 (#79) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 * refactor: CarVideoInfo 내부클래스 삭제 * refactor: CarVideoInfo를 사용하지 않도록 변경 * refactor: TODO 삭제 --------- Co-authored-by: hyeokson * refactor: 당첨 모달 dto 생성 * refactor: 새로 생성한 당첨 모달 사용하도록 수정 * refactor: 새로 생성한 당첨 모달 사용하도록 수정 * refactor: 7일 연속 참여 모달 제거, WinModal과 통합해서 generate하도록 수정 * refactor: 생성한 WinModal 사용하도록 수정 * chore: 사용하지 않는 import문 제거 * chore: 사용하지 않는 주석 삭제 --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson --- .../main/DrawMainFullAttendResponseDto.java | 16 +--- .../fo_domain/draw/dto/modal/WinModal.java | 13 +++ .../participate/DrawWinModalResponseDto.java | 16 +--- .../result/DrawHistoryWinnerResponseDto.java | 16 +--- .../draw/util/DrawModalGenerateUtil.java | 81 +++++-------------- .../draw/util/DrawResponseGenerateUtil.java | 4 +- 6 files changed, 43 insertions(+), 103 deletions(-) create mode 100644 src/main/java/com/softeer/backend/fo_domain/draw/dto/modal/WinModal.java diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/dto/main/DrawMainFullAttendResponseDto.java b/src/main/java/com/softeer/backend/fo_domain/draw/dto/main/DrawMainFullAttendResponseDto.java index 8fc3b772..c1b31325 100644 --- a/src/main/java/com/softeer/backend/fo_domain/draw/dto/main/DrawMainFullAttendResponseDto.java +++ b/src/main/java/com/softeer/backend/fo_domain/draw/dto/main/DrawMainFullAttendResponseDto.java @@ -1,23 +1,11 @@ package com.softeer.backend.fo_domain.draw.dto.main; -import lombok.AllArgsConstructor; +import com.softeer.backend.fo_domain.draw.dto.modal.WinModal; import lombok.Data; -import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; @Data @SuperBuilder public class DrawMainFullAttendResponseDto extends DrawMainResponseDto { - private DrawMainFullAttendResponseDto.FullAttendModal fullAttendModal; - - @Data - @SuperBuilder - @NoArgsConstructor - @AllArgsConstructor - public static class FullAttendModal { - private String title; // 제목 - private String subtitle; // 부제목 - private String image; // 이미지 URL (S3 URL) - private String description; // 설명 - } + private WinModal fullAttendModal; } diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/dto/modal/WinModal.java b/src/main/java/com/softeer/backend/fo_domain/draw/dto/modal/WinModal.java new file mode 100644 index 00000000..5b7955df --- /dev/null +++ b/src/main/java/com/softeer/backend/fo_domain/draw/dto/modal/WinModal.java @@ -0,0 +1,13 @@ +package com.softeer.backend.fo_domain.draw.dto.modal; + +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class WinModal { + private String title; // 제목 + private String subtitle; // 부제목 + private String img; // 이미지 URL (S3 URL) + private String description; // 설명 +} diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/dto/participate/DrawWinModalResponseDto.java b/src/main/java/com/softeer/backend/fo_domain/draw/dto/participate/DrawWinModalResponseDto.java index 9f6c6d6a..9209ba86 100644 --- a/src/main/java/com/softeer/backend/fo_domain/draw/dto/participate/DrawWinModalResponseDto.java +++ b/src/main/java/com/softeer/backend/fo_domain/draw/dto/participate/DrawWinModalResponseDto.java @@ -1,23 +1,11 @@ package com.softeer.backend.fo_domain.draw.dto.participate; -import lombok.AllArgsConstructor; +import com.softeer.backend.fo_domain.draw.dto.modal.WinModal; import lombok.Data; -import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; @Data @SuperBuilder public class DrawWinModalResponseDto extends DrawModalResponseDto { - private DrawWinModalResponseDto.WinModal winModal; - - @Data - @SuperBuilder - @NoArgsConstructor - @AllArgsConstructor - public static class WinModal { - private String title; // 제목 - private String subtitle; // 부제목 - private String img; // 이미지 URL (S3 URL) - private String description; // 설명 - } + private WinModal winModal; } diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/dto/result/DrawHistoryWinnerResponseDto.java b/src/main/java/com/softeer/backend/fo_domain/draw/dto/result/DrawHistoryWinnerResponseDto.java index eda45649..5d580541 100644 --- a/src/main/java/com/softeer/backend/fo_domain/draw/dto/result/DrawHistoryWinnerResponseDto.java +++ b/src/main/java/com/softeer/backend/fo_domain/draw/dto/result/DrawHistoryWinnerResponseDto.java @@ -1,23 +1,11 @@ package com.softeer.backend.fo_domain.draw.dto.result; -import lombok.AllArgsConstructor; +import com.softeer.backend.fo_domain.draw.dto.modal.WinModal; import lombok.Data; -import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; @Data @SuperBuilder public class DrawHistoryWinnerResponseDto extends DrawHistoryResponseDto { - private DrawHistoryWinnerResponseDto.WinModal winModal; - - @Data - @SuperBuilder - @NoArgsConstructor - @AllArgsConstructor - public static class WinModal { - private String title; // 제목 - private String subtitle; // 부제목 - private String img; // 이미지 URL (S3 URL) - private String description; // 설명 - } + private WinModal winModal; } diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/util/DrawModalGenerateUtil.java b/src/main/java/com/softeer/backend/fo_domain/draw/util/DrawModalGenerateUtil.java index c59da10d..be65c3b7 100644 --- a/src/main/java/com/softeer/backend/fo_domain/draw/util/DrawModalGenerateUtil.java +++ b/src/main/java/com/softeer/backend/fo_domain/draw/util/DrawModalGenerateUtil.java @@ -1,8 +1,6 @@ package com.softeer.backend.fo_domain.draw.util; -import com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto; -import com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto; -import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto; +import com.softeer.backend.fo_domain.draw.dto.modal.WinModal; import com.softeer.backend.global.staticresources.util.StaticResourcesUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; @@ -12,38 +10,26 @@ public class DrawModalGenerateUtil { private final StaticResourcesUtil staticResourcesUtil; - /** - * 7일 연속 출석자 상품 정보 반환 메서드 - * - * @return FullAttendModal 반환 - */ - public DrawMainFullAttendResponseDto.FullAttendModal generateFullAttendModal() { - return DrawMainFullAttendResponseDto.FullAttendModal.builder() - .title(staticResourcesUtil.getData("FULL_ATTEND_MODAL_TITLE")) - .subtitle(staticResourcesUtil.getData("FULL_ATTEND_MODAL_SUBTITLE")) - .image(staticResourcesUtil.getData("attendance_reward_image")) - .description(staticResourcesUtil.getData("FULL_ATTEND_MODAL_DESCRIPTION")) - .build(); - } - /** * @return 등수에 따른 WinModal을 반환 */ - public DrawWinModalResponseDto.WinModal generateWinModal(int ranking) { + public WinModal generateWinModal(int ranking) { if (ranking == 1) { return generateFirstWinModal(); } else if (ranking == 2) { return generateSecondWinModal(); - } else { + } else if (ranking == 3) { return generateThirdWinModal(); + } else { + return generateFullAttendModal(); } } /** * @return 1등 WinModal 반환 */ - private DrawWinModalResponseDto.WinModal generateFirstWinModal() { - return DrawWinModalResponseDto.WinModal.builder() + private WinModal generateFirstWinModal() { + return WinModal.builder() .title(staticResourcesUtil.getData("DRAW_WINNER_MODAL_TITLE")) .subtitle(staticResourcesUtil.getData("DRAW_FIRST_WINNER_MODAL_SUBTITLE")) .img(staticResourcesUtil.getData("draw_reward_image_1")) @@ -54,8 +40,8 @@ private DrawWinModalResponseDto.WinModal generateFirstWinModal() { /** * @return 2등 WinModal 반환 */ - private DrawWinModalResponseDto.WinModal generateSecondWinModal() { - return DrawWinModalResponseDto.WinModal.builder() + private WinModal generateSecondWinModal() { + return WinModal.builder() .title(staticResourcesUtil.getData("DRAW_WINNER_MODAL_TITLE")) .subtitle(staticResourcesUtil.getData("DRAW_SECOND_WINNER_MODAL_SUBTITLE")) .img(staticResourcesUtil.getData("draw_reward_image_2")) @@ -66,8 +52,8 @@ private DrawWinModalResponseDto.WinModal generateSecondWinModal() { /** * @return 3등 WinModal 반환 */ - private DrawWinModalResponseDto.WinModal generateThirdWinModal() { - return DrawWinModalResponseDto.WinModal.builder() + private WinModal generateThirdWinModal() { + return WinModal.builder() .title(staticResourcesUtil.getData("DRAW_WINNER_MODAL_TITLE")) .subtitle(staticResourcesUtil.getData("DRAW_THIRD_WINNER_MODAL_SUBTITLE")) .img(staticResourcesUtil.getData("draw_reward_image_3")) @@ -75,40 +61,17 @@ private DrawWinModalResponseDto.WinModal generateThirdWinModal() { .build(); } - public DrawHistoryWinnerResponseDto.WinModal generateWinModalForHistory(int ranking) { - if (ranking == 1) { - return generateFirstWinModalForHistory(); - } else if (ranking == 2) { - return generateSecondWinModalForHistory(); - } else { - return generateThirdWinModalForHistory(); - } - } - - private DrawHistoryWinnerResponseDto.WinModal generateFirstWinModalForHistory() { - return DrawHistoryWinnerResponseDto.WinModal.builder() - .title(staticResourcesUtil.getData("DRAW_WINNER_MODAL_TITLE")) - .subtitle(staticResourcesUtil.getData("DRAW_FIRST_WINNER_MODAL_SUBTITLE")) - .img(staticResourcesUtil.getData("draw_reward_image_1")) - .description(staticResourcesUtil.getData("DRAW_WINNER_MODAL_DESCRIPTION")) - .build(); - } - - private DrawHistoryWinnerResponseDto.WinModal generateSecondWinModalForHistory() { - return DrawHistoryWinnerResponseDto.WinModal.builder() - .title(staticResourcesUtil.getData("DRAW_WINNER_MODAL_TITLE")) - .subtitle(staticResourcesUtil.getData("DRAW_SECOND_WINNER_MODAL_SUBTITLE")) - .img(staticResourcesUtil.getData("draw_reward_image_2")) - .description(staticResourcesUtil.getData("DRAW_WINNER_MODAL_DESCRIPTION")) - .build(); - } - - private DrawHistoryWinnerResponseDto.WinModal generateThirdWinModalForHistory() { - return DrawHistoryWinnerResponseDto.WinModal.builder() - .title(staticResourcesUtil.getData("DRAW_WINNER_MODAL_TITLE")) - .subtitle(staticResourcesUtil.getData("DRAW_THIRD_WINNER_MODAL_SUBTITLE")) - .img(staticResourcesUtil.getData("draw_reward_image_3")) - .description(staticResourcesUtil.getData("DRAW_WINNER_MODAL_DESCRIPTION")) + /** + * 7일 연속 출석자 상품 정보 반환 메서드 + * + * @return FullAttendModal 반환 + */ + public WinModal generateFullAttendModal() { + return WinModal.builder() + .title(staticResourcesUtil.getData("FULL_ATTEND_MODAL_TITLE")) + .subtitle(staticResourcesUtil.getData("FULL_ATTEND_MODAL_SUBTITLE")) + .img(staticResourcesUtil.getData("attendance_reward_image")) + .description(staticResourcesUtil.getData("FULL_ATTEND_MODAL_DESCRIPTION")) .build(); } } diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/util/DrawResponseGenerateUtil.java b/src/main/java/com/softeer/backend/fo_domain/draw/util/DrawResponseGenerateUtil.java index 23bbb2ad..d9c2e222 100644 --- a/src/main/java/com/softeer/backend/fo_domain/draw/util/DrawResponseGenerateUtil.java +++ b/src/main/java/com/softeer/backend/fo_domain/draw/util/DrawResponseGenerateUtil.java @@ -34,7 +34,7 @@ public DrawMainFullAttendResponseDto generateMainFullAttendResponse(int invitedN .invitedNum(invitedNum) .remainDrawCount(remainDrawCount) .drawParticipationCount(drawParticipationCount) - .fullAttendModal(drawModalGenerateUtil.generateFullAttendModal()) + .fullAttendModal(drawModalGenerateUtil.generateWinModal(7)) .build(); } @@ -89,7 +89,7 @@ public DrawWinModalResponseDto generateDrawWinnerResponse(int ranking) { public DrawHistoryWinnerResponseDto generateDrawHistoryWinnerResponse(int ranking) { return DrawHistoryWinnerResponseDto.builder() .isDrawWin(true) - .winModal(drawModalGenerateUtil.generateWinModalForHistory(ranking)) + .winModal(drawModalGenerateUtil.generateWinModal(ranking)) .build(); } From e221c00fa6b3f8e0c3e7c0e88a6f8a030b9553f7 Mon Sep 17 00:00:00 2001 From: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Date: Sun, 18 Aug 2024 00:07:33 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EA=B8=B0=EB=8C=80=ED=8F=89=EC=9D=84=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=ED=95=A0=20=EB=95=8C=20=EC=B5=9C=EC=8B=A0=20?= =?UTF-8?q?=EB=8C=93=EA=B8=80=EC=9D=B4=20=EB=A8=BC=EC=A0=80=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=EB=90=98=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20(#149)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Infra] CI/CD test (#42) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * infra: zip file 만들기 추가, AWS credentials 추가 * infra: 환경변수 이름 변경 - ARN -> AWS_ARN * infra: s3 bucket에 업로드 추가 * infra: code deploy 추가 * infra: code deploy 수정 * infra: code deploy 수정 * infra: appspec.yml 작성 * infra: application.yml 생성 경로 변경 * infra: application.yml 확인 스크립트 삭제 * infra: application.yml 생성 스크립트 수정 * infra: application-prod.yml 추가 * infra: appspec.yml 수정, 배포를 위한 sh파일 추가 * infra: deploy.yml 이름 변경 - test_deploy -> deploy * infra: body = null 설정 * infra: develop에 머지되었을 때만 발동하도록 수정 * feat: draw_rank column 이름 수정 * Infra: environment 삭제 * [Infra] CI CD test 3 (#45) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * infra: zip file 만들기 추가, AWS credentials 추가 * infra: 환경변수 이름 변경 - ARN -> AWS_ARN * infra: s3 bucket에 업로드 추가 * infra: code deploy 추가 * infra: code deploy 수정 * infra: code deploy 수정 * infra: appspec.yml 작성 * infra: application.yml 생성 경로 변경 * infra: application.yml 확인 스크립트 삭제 * infra: application.yml 생성 스크립트 수정 * infra: application-prod.yml 추가 * infra: appspec.yml 수정, 배포를 위한 sh파일 추가 * infra: deploy.yml 이름 변경 - test_deploy -> deploy * infra: body = null 설정 * infra: develop에 머지되었을 때만 발동하도록 수정 * feat: draw_rank column 이름 수정 * Infra: environment 삭제 * Infra: environment 삭제 * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: id를 기준으로 내림차순으로 가져오도록 변경 * feat: 반환된 기대평 list를 역순으로 정렬 --------- Co-authored-by: DrRivaski <48974215+DrRivaski@users.noreply.github.com> Co-authored-by: hyeokson --- .../fo_domain/comment/repository/CommentRepository.java | 2 +- .../backend/fo_domain/comment/service/CommentService.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/softeer/backend/fo_domain/comment/repository/CommentRepository.java b/src/main/java/com/softeer/backend/fo_domain/comment/repository/CommentRepository.java index 5319dcc8..3e560181 100644 --- a/src/main/java/com/softeer/backend/fo_domain/comment/repository/CommentRepository.java +++ b/src/main/java/com/softeer/backend/fo_domain/comment/repository/CommentRepository.java @@ -9,5 +9,5 @@ @Repository public interface CommentRepository extends JpaRepository { - Page findAllByIdLessThanOrderById(Integer id, Pageable pageable); + Page findAllByIdLessThanOrderByIdDesc(Integer id, Pageable pageable); } diff --git a/src/main/java/com/softeer/backend/fo_domain/comment/service/CommentService.java b/src/main/java/com/softeer/backend/fo_domain/comment/service/CommentService.java index 6c10603b..d20688e7 100644 --- a/src/main/java/com/softeer/backend/fo_domain/comment/service/CommentService.java +++ b/src/main/java/com/softeer/backend/fo_domain/comment/service/CommentService.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Collections; import java.util.List; @Service @@ -29,8 +30,9 @@ public class CommentService { public CommentsResponseDto getComments(Integer userId, Integer cursor) { PageRequest pageRequest = PageRequest.of(0, SCROLL_SIZE + 1); - Page page = commentRepository.findAllByIdLessThanOrderById(cursor, pageRequest); + Page page = commentRepository.findAllByIdLessThanOrderByIdDesc(cursor, pageRequest); List comments = page.getContent(); + Collections.reverse(comments); ScrollPaginationUtil commentCursor = ScrollPaginationUtil.of(comments, SCROLL_SIZE); return CommentsResponseDto.of(commentCursor, userId); From f0640316db4a1794a596e6a24619e6c137222dc0 Mon Sep 17 00:00:00 2001 From: DrRivaski <48974215+DrRivaski@users.noreply.github.com> Date: Sun, 18 Aug 2024 01:50:49 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[Feat]=20=EC=B6=94=EC=B2=A8=20=EC=B0=B8?= =?UTF-8?q?=EA=B0=80=20=EC=8B=9C=20=EC=8B=9C=EA=B0=84=20=EC=B2=B4=ED=81=AC?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?(#150)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Feature] static text를 관리하는 enum 구현 (#71) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 --------- Co-authored-by: hyeokson * [Refactor] MainPageController 클래스명 변경 (#72) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 --------- Co-authored-by: hyeokson * [Feature] 메인 페이지 GET API 구현하기 (#73) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 * feat: 메인페이지 자동차 정적 정보 응답 dto 구현 * feat: 메인페이지 이벤트 정적 정보 응답 dto 구현 * refactor: 클래스 및 변수명 변경 * refactor: 클래스명 변경 * refactor: 클래스명 변경 * refactor: round 변수 삭제 * feat: 인증검사를 하지 않는 url 추가 * feat: 메인 페이지 컨트롤러 구현 * feat: 메인 페이지 service 클래스 구현 * feat: 정적자원util 클래스 초기화 메서드 구현 * refactor: enum 변수명 수정 * refactor: Fcfs 당첨자 수 수정 로직 변경 --------- Co-authored-by: hyeokson * [Feature] 어드민 회원가입 기능 구현 (#75) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 --------- Co-authored-by: hyeokson * [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 사용자 생성 시 추첨 참여 정보, 공유 링크 정보, 공유 정보 생성 (#78) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * feat: 유저 생성 시 공유 정보 생성하도록 수정 * feat: 유저 생성 시 추첨 이벤트 참여 정보 생성되도록 수정 * refactor: ShareUrlInfo에 빌더 어노테이션 추가 * feat: List형태로 공유 url 가져오는 메서드 추가 * feat: 중복되지 않는 공유 url 생성 후 DB에 저장하는 로직 추가 * refactor: NoArgsConstructor, AllArgsConstructor 추가 * refactor: GeneratedValue 어노테이션 삭제 * refactor: readOnly false로 변경 * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Feature] static text를 관리하는 enum 구현 (#71) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 --------- Co-authored-by: hyeokson * [Refactor] MainPageController 클래스명 변경 (#72) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 --------- Co-authored-by: hyeokson * [Feature] 메인 페이지 GET API 구현하기 (#73) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 * feat: 메인페이지 자동차 정적 정보 응답 dto 구현 * feat: 메인페이지 이벤트 정적 정보 응답 dto 구현 * refactor: 클래스 및 변수명 변경 * refactor: 클래스명 변경 * refactor: 클래스명 변경 * refactor: round 변수 삭제 * feat: 인증검사를 하지 않는 url 추가 * feat: 메인 페이지 컨트롤러 구현 * feat: 메인 페이지 service 클래스 구현 * feat: 정적자원util 클래스 초기화 메서드 구현 * refactor: enum 변수명 수정 * refactor: Fcfs 당첨자 수 수정 로직 변경 --------- Co-authored-by: hyeokson * [Feature] 어드민 회원가입 기능 구현 (#75) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 --------- Co-authored-by: hyeokson * [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 사용자 생성 시 추첨 참여 정보, 공유 링크 정보, 공유 정보 생성 (#78) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * feat: 유저 생성 시 공유 정보 생성하도록 수정 * feat: 유저 생성 시 추첨 이벤트 참여 정보 생성되도록 수정 * refactor: ShareUrlInfo에 빌더 어노테이션 추가 * feat: List형태로 공유 url 가져오는 메서드 추가 * feat: 중복되지 않는 공유 url 생성 후 DB에 저장하는 로직 추가 * refactor: NoArgsConstructor, AllArgsConstructor 추가 * refactor: GeneratedValue 어노테이션 삭제 * refactor: readOnly false로 변경 * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Feature] static text를 관리하는 enum 구현 (#71) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 --------- Co-authored-by: hyeokson * [Refactor] MainPageController 클래스명 변경 (#72) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 --------- Co-authored-by: hyeokson * [Feature] 메인 페이지 GET API 구현하기 (#73) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 * feat: 메인페이지 자동차 정적 정보 응답 dto 구현 * feat: 메인페이지 이벤트 정적 정보 응답 dto 구현 * refactor: 클래스 및 변수명 변경 * refactor: 클래스명 변경 * refactor: 클래스명 변경 * refactor: round 변수 삭제 * feat: 인증검사를 하지 않는 url 추가 * feat: 메인 페이지 컨트롤러 구현 * feat: 메인 페이지 service 클래스 구현 * feat: 정적자원util 클래스 초기화 메서드 구현 * refactor: enum 변수명 수정 * refactor: Fcfs 당첨자 수 수정 로직 변경 --------- Co-authored-by: hyeokson * [Feature] 어드민 회원가입 기능 구현 (#75) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 --------- Co-authored-by: hyeokson * [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] MainPageCarResponseDto 필드 변경 (#79) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 * refactor: CarVideoInfo 내부클래스 삭제 * refactor: CarVideoInfo를 사용하지 않도록 변경 * refactor: TODO 삭제 --------- Co-authored-by: hyeokson * refactor: DrawRedisUtil 사용하여 추첨 관련 레디스 작업하도록 수정 * feat: 현재시간을 기준으로 이벤트 참여 가능한 시간인지 판단하는 메서드 작성 * feat: 참여 시각 체크하는 메서드의 매개변수 제거 * feat: 참여 시각 체크하는 인터셉터 추가 * feat: 참여 시각 체크하는 로직 추가 * feat: 참여 시각 체크하는 로직 인터셉터로 이동 * feat: WebMvcConfig에 DrawTimeCheckInterceptor 추가 * feat: 추첨 참여시간 검사 통과하지 못하면 에러 상태메시지 반환하도록 수정 * chore: 주석 추가 --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson --- .../interceptor/DrawTimeCheckInterceptor.java | 67 +++++++++++++++++++ .../draw/service/DrawSettingManager.java | 22 ++++-- .../global/config/web/WebMvcConfig.java | 5 ++ 3 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/softeer/backend/fo_domain/draw/interceptor/DrawTimeCheckInterceptor.java diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/interceptor/DrawTimeCheckInterceptor.java b/src/main/java/com/softeer/backend/fo_domain/draw/interceptor/DrawTimeCheckInterceptor.java new file mode 100644 index 00000000..a6b14bbf --- /dev/null +++ b/src/main/java/com/softeer/backend/fo_domain/draw/interceptor/DrawTimeCheckInterceptor.java @@ -0,0 +1,67 @@ +package com.softeer.backend.fo_domain.draw.interceptor; + +import com.softeer.backend.fo_domain.draw.exception.DrawException; +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager; +import com.softeer.backend.global.common.code.status.ErrorStatus; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.web.cors.CorsUtils; +import org.springframework.web.servlet.HandlerInterceptor; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Component +@RequiredArgsConstructor +public class DrawTimeCheckInterceptor implements HandlerInterceptor { + private final DrawSettingManager drawSettingManager; + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + if (CorsUtils.isPreFlightRequest(request)) + return true; + + if (!isAvailableTime()) { + throw new DrawException(ErrorStatus._BAD_REQUEST); + } + + return true; + } + + /** + * 참가 가능한 시간인지 확인 + * @return 참가 가능하면 true, 불가능하면 false 반환 + */ + private boolean isAvailableTime() { + LocalDateTime now = LocalDateTime.now(); + + return compareDate(now) && compareTime(now); + } + + /** + * 날짜 비교 + * @param now 현재시각 + * @return 참가 가능한 날짜이면 true, 불가능하면 false 반환 + */ + private boolean compareDate(LocalDateTime now) { + LocalDateTime startDateTime = drawSettingManager.getStartDate().atStartOfDay(); + LocalDateTime endDateTime = drawSettingManager.getEndDate().atStartOfDay(); + + return now.isAfter(startDateTime) && now.isBefore(endDateTime); + } + + /** + * 시간 비교 + * @param now 현재 시각 + * @return 참가 가능한 시간이면 true, 불가능하면 false 반환 + */ + private boolean compareTime(LocalDateTime now) { + LocalDate nowDate = now.toLocalDate(); + LocalDateTime startTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getStartTime()); + LocalDateTime endTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getEndTime()); + + return (now.isAfter(startTimeAsDateTime) && now.isBefore(endTimeAsDateTime)); + } +} diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/service/DrawSettingManager.java b/src/main/java/com/softeer/backend/fo_domain/draw/service/DrawSettingManager.java index bc0573a1..41c83147 100644 --- a/src/main/java/com/softeer/backend/fo_domain/draw/service/DrawSettingManager.java +++ b/src/main/java/com/softeer/backend/fo_domain/draw/service/DrawSettingManager.java @@ -10,6 +10,7 @@ import com.softeer.backend.fo_domain.user.repository.UserRepository; import com.softeer.backend.global.common.code.status.ErrorStatus; import com.softeer.backend.global.common.constant.RedisKeyPrefix; +import com.softeer.backend.global.util.DrawRedisUtil; import com.softeer.backend.global.util.EventLockRedisUtil; import jakarta.annotation.PostConstruct; import lombok.Getter; @@ -31,6 +32,7 @@ public class DrawSettingManager { private final DrawSettingRepository drawSettingRepository; private final ThreadPoolTaskScheduler taskScheduler; private final EventLockRedisUtil eventLockRedisUtil; + private final DrawRedisUtil drawRedisUtil; private final UserRepository userRepository; private LocalDate startDate; @@ -60,23 +62,29 @@ public void initializeDrawSettingManager() { // 매일 01:00:00에 redis 당첨자 목록 데이터베이스에 저장 taskScheduler.schedule(this::addWinnerToDatabase, new CronTrigger("0 0 1 * * *")); - // 매일 01:00:00에 redis 임시 당첨자 목록 삭제하기 - taskScheduler.schedule(this::deleteTempWinnerSetFromRedis, new CronTrigger("0 0 1 * * *")); + // 매일 01:00:00에 redis 당첨자 목록 삭제하기 + taskScheduler.schedule(this::deleteWinnerSetFromRedis, new CronTrigger("0 0 1 * * *")); } - private void deleteTempWinnerSetFromRedis() { - String drawTempKey; + /** + * 당첨자 목록 모두 삭제 + */ + private void deleteWinnerSetFromRedis() { + String drawWinnerKey; for (int ranking = 1; ranking < 4; ranking++) { - drawTempKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking; - eventLockRedisUtil.deleteTempWinnerList(drawTempKey); + drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking; + drawRedisUtil.deleteAllSetData(drawWinnerKey); } } + /** + * 당첨자 목록 모두 데이터베이스에 저장 + */ private void addWinnerToDatabase() { String drawWinnerKey; for (int ranking = 1; ranking < 4; ranking++) { drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking; - Set winnerSet = eventLockRedisUtil.getAllDataAsSet(drawWinnerKey); + Set winnerSet = drawRedisUtil.getAllDataAsSet(drawWinnerKey); LocalDateTime winningDate = LocalDateTime.now().minusHours(2); // 하루 전 날 오후 11시로 설정 diff --git a/src/main/java/com/softeer/backend/global/config/web/WebMvcConfig.java b/src/main/java/com/softeer/backend/global/config/web/WebMvcConfig.java index ca089431..887813b2 100644 --- a/src/main/java/com/softeer/backend/global/config/web/WebMvcConfig.java +++ b/src/main/java/com/softeer/backend/global/config/web/WebMvcConfig.java @@ -1,6 +1,7 @@ package com.softeer.backend.global.config.web; import com.fasterxml.jackson.databind.ObjectMapper; +import com.softeer.backend.fo_domain.draw.interceptor.DrawTimeCheckInterceptor; import com.softeer.backend.fo_domain.fcfs.interceptor.FcfsTimeCheckInterceptor; import com.softeer.backend.global.annotation.argumentresolver.AuthInfoArgumentResolver; import com.softeer.backend.global.config.properties.JwtProperties; @@ -33,6 +34,7 @@ public class WebMvcConfig implements WebMvcConfigurer { private final JwtProperties jwtProperties; private final FcfsTimeCheckInterceptor fcfsTimeCheckInterceptor; + private final DrawTimeCheckInterceptor drawTimeCheckInterceptor; /** * AuthInfo 애노테이션에 대한 Argument Resolver 등록 @@ -47,6 +49,9 @@ public void addArgumentResolvers(List resolvers) public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(fcfsTimeCheckInterceptor) .addPathPatterns("/fcfs"); + + registry.addInterceptor(drawTimeCheckInterceptor) + .addPathPatterns("/event/draw"); } /** From 60af7457e417ff95fdf0eb25994b1476809935d9 Mon Sep 17 00:00:00 2001 From: DrRivaski <48974215+DrRivaski@users.noreply.github.com> Date: Sun, 18 Aug 2024 04:08:02 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[Feat]=20=EC=B6=94=EC=B2=A8=20=EC=9D=B4?= =?UTF-8?q?=EB=B2=A4=ED=8A=B8=20=EC=97=B0=EC=86=8D=20=EC=B6=9C=EC=84=9D=20?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?(#151)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Feature] static text를 관리하는 enum 구현 (#71) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 --------- Co-authored-by: hyeokson * [Refactor] MainPageController 클래스명 변경 (#72) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 --------- Co-authored-by: hyeokson * [Feature] 메인 페이지 GET API 구현하기 (#73) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 * feat: 메인페이지 자동차 정적 정보 응답 dto 구현 * feat: 메인페이지 이벤트 정적 정보 응답 dto 구현 * refactor: 클래스 및 변수명 변경 * refactor: 클래스명 변경 * refactor: 클래스명 변경 * refactor: round 변수 삭제 * feat: 인증검사를 하지 않는 url 추가 * feat: 메인 페이지 컨트롤러 구현 * feat: 메인 페이지 service 클래스 구현 * feat: 정적자원util 클래스 초기화 메서드 구현 * refactor: enum 변수명 수정 * refactor: Fcfs 당첨자 수 수정 로직 변경 --------- Co-authored-by: hyeokson * [Feature] 어드민 회원가입 기능 구현 (#75) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 --------- Co-authored-by: hyeokson * [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 사용자 생성 시 추첨 참여 정보, 공유 링크 정보, 공유 정보 생성 (#78) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * feat: 유저 생성 시 공유 정보 생성하도록 수정 * feat: 유저 생성 시 추첨 이벤트 참여 정보 생성되도록 수정 * refactor: ShareUrlInfo에 빌더 어노테이션 추가 * feat: List형태로 공유 url 가져오는 메서드 추가 * feat: 중복되지 않는 공유 url 생성 후 DB에 저장하는 로직 추가 * refactor: NoArgsConstructor, AllArgsConstructor 추가 * refactor: GeneratedValue 어노테이션 삭제 * refactor: readOnly false로 변경 * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Feature] static text를 관리하는 enum 구현 (#71) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 --------- Co-authored-by: hyeokson * [Refactor] MainPageController 클래스명 변경 (#72) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 --------- Co-authored-by: hyeokson * [Feature] 메인 페이지 GET API 구현하기 (#73) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 * feat: 메인페이지 자동차 정적 정보 응답 dto 구현 * feat: 메인페이지 이벤트 정적 정보 응답 dto 구현 * refactor: 클래스 및 변수명 변경 * refactor: 클래스명 변경 * refactor: 클래스명 변경 * refactor: round 변수 삭제 * feat: 인증검사를 하지 않는 url 추가 * feat: 메인 페이지 컨트롤러 구현 * feat: 메인 페이지 service 클래스 구현 * feat: 정적자원util 클래스 초기화 메서드 구현 * refactor: enum 변수명 수정 * refactor: Fcfs 당첨자 수 수정 로직 변경 --------- Co-authored-by: hyeokson * [Feature] 어드민 회원가입 기능 구현 (#75) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 --------- Co-authored-by: hyeokson * [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] 사용자 생성 시 추첨 참여 정보, 공유 링크 정보, 공유 정보 생성 (#78) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * feat: 유저 생성 시 공유 정보 생성하도록 수정 * feat: 유저 생성 시 추첨 이벤트 참여 정보 생성되도록 수정 * refactor: ShareUrlInfo에 빌더 어노테이션 추가 * feat: List형태로 공유 url 가져오는 메서드 추가 * feat: 중복되지 않는 공유 url 생성 후 DB에 저장하는 로직 추가 * refactor: NoArgsConstructor, AllArgsConstructor 추가 * refactor: GeneratedValue 어노테이션 삭제 * refactor: readOnly false로 변경 * [Refactor] 공유 url 조회하는 api 수정 (#70) * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * feat: draw_rank column 이름 수정 * infra: pull_request시 Github Actions 동작하도록 수정 * cicd test (#54) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test --------- Co-authored-by: hyeokson * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson * cicd test (#58) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * chore: ci/cd를 위한 커밋 --------- Co-authored-by: hyeokson * refactor: 공유 url 조회하는 레포지토리 변경 - ShareInfoRepository -> ShareUrlInfoRepository * refactor: 잘못 작성된 메서드 삭제 - findSharedUrlByUserId 삭제 * refactor: 사용되지 않는 shareInfoRepository 삭제 * refactor: 변수명 변경 - sharedUrl -> shareUrl * [Feat] 성공, 실패 상태 코드 수정하기 (#65) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: cors 도메인 설정 * refactor: 커스텀 코드 형식 수정 및 에러코드 수정 - '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리 - 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경 * refactor: 하나의 성공 코드로 관리하도록 변경 * rebase: 원본 develop 브랜치와 rebase * rebase: 원본 develop 브랜치 rebase * feat: cors 설정에 localhost 추가 * refactor: 함수명 변경 * refactor: 예외 코드 변경 --------- Co-authored-by: hyeokson * [Feat]Admin Api 구현 (#67) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: Admin entity 클래스 생성 * feat: Admin exception 클래스 생성 * feat: Admin 로그인 컨트롤러 구현 * feat: Admin 로그인 요청 dto 구현 * feat: Admin 로그인 서비스 클래스 구현 * feat: Admin repository 구현 * feat: 추첨 이벤트 시간 설정 요청 dto 구현 * feat: 추첨 시간 검증 클래스 구현 * feat: 추첨 당첨자 응답 dto 구현 * feat: 추첨 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 응답 dto 구현 * feat: 이벤트 페이지 컨트롤러 구현 * feat: 이벤트 페이지 service 클래스 구현 * feat: 선착순 날짜 검증 클래스 구현 * feat: 선착순 날짜 등록 요청 dto 구현 * feat: 선착순 시간 검증 클래스 구현 * feat: 선착순 당첨자 응답 dto 구현 * feat: 선착순 당첨자 수 수정 요청 dto 구현 * feat: 이벤트 지표 컨트롤러 클래스 구현 * feat: 이벤트 지표 service 클래스 구현 * feat: 메인 페이지 관련 컨트롤러 클래스 구현 * feat: 메인 페이지 응답 dto 구현 * feat: 메인 페이지 service 클래스 구현 * feat: password encoder 구현 * feat: 확률값을 %형태로 바꿔주는 serializer 구현 * feat: 전화번호에 '-'를 붙여주는 serializer 구현 * feat: 추첨 시간 검증 애노테이션 구현 * feat: 선착순 날짜 검증 애노테이션 구현 * feat: 선착순 시간 검증 애노테이션 구현 * feat: 당첨 관리 페이지 컨트롤러 클래스 구현 * feat: 당첨 관리 페이지 service 클래스 구현 * config: Bcrypt 의존성 설정 * refactor: winningDate 변수의 자료형 변경 * feat: Draw, User를 조회하는 메서드 구현 * refactor: 변수명 변경 * feat: Transactional 애노테이션 추가 * refactor: 자료형 변경 및 시간 관련 변수 분리 * refactor: 자료형 변경 * feat: eventDate 변수 추가 * feat: EventParticipation 조회 메서드 구현 * feat: round값으로 Fcfs 조회하는 메서드 구현 * feat: @setter 애노테이션 추가 * docs: TODO 추가 * refactor: 클래스명 변경 * refactor: 패키지 변경 * refactor: 패키지 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 및 변수명 변경 * refactor: 클래스명 변경 * refactor: Refresh Token을 삭제하는 메서드 구현 * refactor: 커스텀 코드값 변경 * refactor: 검증 관련 상수 추가 * style: 코드 형식 맞추기 --------- Co-authored-by: hyeokson * infra: 레디스 설정 추가 * [Feat] 기대평 기능 구현 (#57) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * cicd test (#47) * config: jwt 속성을 yml에 설정 * config: git cache 초기화 * feat: Jwt 속성 관리 클래스 생성 * feat: 로그인 컨트롤러 클래스 생성 * feat: 로그인 요청 dto 클래스 생성 * feat: 로그인 service 클래스 생성 * feat: 메서드 추가 - 전화번호에 해당하는 유저가 있는지 확인하는 메서드 - 전화번호로 유저 객체를 반환하는 메서드 * feat: 필드 추가 및 전화번호 인덱싱 설정 * feat: 로그인 성공 상태 코드 추가 * feat: 로그인 실패 상태 코드 추가 * style: 엔터한 공간 줄이기 * chore: ci/cd test --------- Co-authored-by: hyeokson * chore: ci/cd test * chore: ci/cd test * chore: ci/cd test * config: gradle 의존성 설정 * refactor: BaseEntity 삭제 * feat: if문 추가 - 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경 * feat: 댓글 예외 상태 코드 추가 * feat: Comment 엔티티 클래스 생성 * feat: Comment 컨트롤러 생성 및 구현 - 기대평 조회 및 저장 로직 구현 * feat: Comment 예외 클래스 생성 * feat: 기대평 닉네임을 관리하는 Enum 클래스 생성 * feat: Comment repository 생성 및 구현 * feat: Comment service 생성 및 구현 - SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현 - 기대평을 저장하는 메서드 구현 * feat: Comment 조회 응답 클래스 생성 * feat: 기대평을 관리하는 Enum 클래스 생성 * feat: 컨버터 클래스 생성 - 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성 * feat: Util 클래스 생성 - 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성 * refactor: jsonformat 패턴 변경 * feat: 기대평 성공 상태 코드 추가 * refactor: enum 값 변경 * refactor: 호출하는 메서드 명 변경 * refactor: 자료형 변경 * refactor: 애노테이션 변경 * refactor: claim의 id값 자료형 변경 * feat: 변수 및 메서드 추가 - Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현 * feat: 자동으로 생성 시간 저장하도록 구현 * refactor: 시간값 설정 코드 삭제 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Feature] static text를 관리하는 enum 구현 (#71) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 --------- Co-authored-by: hyeokson * [Refactor] MainPageController 클래스명 변경 (#72) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 --------- Co-authored-by: hyeokson * [Feature] 메인 페이지 GET API 구현하기 (#73) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * refactor: transactional 어노테이션 수정 * refactor: 변수명 변경 * feat: MainPage 컨트롤러 클래스 생성 * feat: MainPage service 클래스 생성 * feat: StaticResources entity 클래스 생성 * feat: StaticResources repository 클래스 생성 * feat: StaticResourcesUtil 클래스 생성 * feat: 정적 text를 관리하는 enum 생성 * refactor: 변수명 변경 * refactor: 검증 애노테이션 추가 * refactor: DayOfWeek 속성 변경 * refactor: 예외 msg를 응답객체 result에 넣도록 변경 * refactor: 변수명 변경 * refactor: DayOfWeek 속성 변경 * refactor: 검증 애노테이션 추가 * refactor: 검증 상수 추가 * refactor: 변수 타입을 래퍼타입으로 변경 * refactor: 클래스명 변경 * refactor: 클래스명 및 변수명 변경 * feat: final 객체 초기화 * feat: 메인페이지 자동차 정적 정보 응답 dto 구현 * feat: 메인페이지 이벤트 정적 정보 응답 dto 구현 * refactor: 클래스 및 변수명 변경 * refactor: 클래스명 변경 * refactor: 클래스명 변경 * refactor: round 변수 삭제 * feat: 인증검사를 하지 않는 url 추가 * feat: 메인 페이지 컨트롤러 구현 * feat: 메인 페이지 service 클래스 구현 * feat: 정적자원util 클래스 초기화 메서드 구현 * refactor: enum 변수명 수정 * refactor: Fcfs 당첨자 수 수정 로직 변경 --------- Co-authored-by: hyeokson * [Feature] 어드민 회원가입 기능 구현 (#75) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 --------- Co-authored-by: hyeokson * [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 --------- Co-authored-by: hyeokson --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson * [Refactor] MainPageCarResponseDto 필드 변경 (#79) * config: jwt 속성을 yml에 설정 * rebase: 원본 develop 브랜치와 병합 * feat: 어드민 회원가입 요청 dto 구현 * feat: swagger controller 구현 * feat: 어드민 회원가입 controller 메서드 구현 * feat: 어드민 로그인 요청 dto 수정 * feat: 어드민 회원가입 기능 구현 * feat: 메서드 추가 - 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현 * feat: swagger, admin url 추가 * feat: swagger 서버 주소 변경 * feat: cors 설정 * feat: 특정 url에 대해서 인가 검사 하지 않도록 구현 * refactor: CarVideoInfo 내부클래스 삭제 * refactor: CarVideoInfo를 사용하지 않도록 변경 * refactor: TODO 삭제 --------- Co-authored-by: hyeokson * feat: DB테이블 수정에 따른 수정 - last_participated column 추가 - Builder 어노테이션 클래스 전체에 추가 * feat: 출석일수 1 증가시키는 메서드 추가 * feat: 접속 일자를 계산해 출석일수 1회 증가시키는 로직 추가 * feat: 출석일수 증가시킨 후 반영하여 응답을 반환하는 로직 추가 * feat: 출석일수가 7 이상인 경우 mod 연산을 이용해 7 이하로 고정하도록 로직 수정 * chore: 주석 추가 * chore: 주석 추가 * feat: 연속 출석이 아닐 경우 연속출석일수 1로 초기화하는 메서드 추가 * feat: 연속 출석이 아닐 경우 연속출석일수 1로 초기화하는 로직 추가 * feat: DB column명 변경에 따른 수정 - drawParticipationCount -> drawAttendanceCount * feat: DB column명 변경에 따른 수정 - drawParticipationCount -> drawAttendanceCount * feat: DB column명 변경에 따른 수정 - drawParticipationCount -> drawAttendanceCount * feat: DB column명 변경에 따른 수정 - drawParticipationCount -> drawAttendanceCount * feat: 추첨 이벤트 마지막 접속 시간 설정하는 메서드 추가 * feat: 추첨 이벤트 마지막 접속 시간 설정하는 로직 추가 * chore: 주석 추가 * chore: 주석 추가 * feat: 추첨 이벤트 마지막 접속 시간 설정하는 로직 추 * feat: 메서드명 변경 - isNewParticipateToday -> isContinuousParticipate * feat: 메서드명 변경 - isContinuousParticipate -> isContinuousAttendance * refactor: 변수명 변경 - lastParticipated -> lastAttendance * refactor: 변수명 변경 - drawParticipationCount -> drawAttendanceCount * refactor: 메서드명 변경 - setLastParticipated -> setLastAttendance * refactor: 변수명 변경 - lastParticipated -> lastAttendance * refactor: 변수명 변경 - lastParticipated -> lastAttendance * refactor: 변수명 변경 - lastParticipated -> lastAttendance * refactor: 빌더 어노테이션 수정 * chore: 주석 수정 * feat: 마지막 출석 시간 현재시간으로 설정하도록 수정 * feat: 첫 출석인 경우 출석일수 초기화와 마지막 출석 시간 설정하는 로직 추가 * feat: 첫 출석인 경우 출석일수 초기화와 마지막 출석 시간 설정하는 로직 추가 * feat: 마지막 출석 시간이 오늘인지 판단하는 로직 추가 * refactor: 연속출석일수 계산하는 로직 수정 - 단순히 true, false 반환이 아닌 연속 출석일수 계산한 값 반환 - getDrawMainPageInfo에서 drawAttendanceCount 값 조회할 때 사용하도록 수정 - 사용하지 않는 코드 삭제 - 주석 내용 변경 --------- Co-authored-by: Son Chanhyeok <127181634+hyeokson@users.noreply.github.com> Co-authored-by: hyeokson --- .../draw/domain/DrawParticipationInfo.java | 21 ++--- .../DrawParticipationInfoRepository.java | 16 ++++ .../fo_domain/draw/service/DrawService.java | 89 ++++++++++++++++++- .../fo_domain/user/service/LoginService.java | 2 +- 4 files changed, 111 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/domain/DrawParticipationInfo.java b/src/main/java/com/softeer/backend/fo_domain/draw/domain/DrawParticipationInfo.java index 9dfa8136..40f566ac 100644 --- a/src/main/java/com/softeer/backend/fo_domain/draw/domain/DrawParticipationInfo.java +++ b/src/main/java/com/softeer/backend/fo_domain/draw/domain/DrawParticipationInfo.java @@ -4,13 +4,15 @@ import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; +import lombok.*; + +import java.time.LocalDateTime; @Getter @Entity +@Builder @NoArgsConstructor +@AllArgsConstructor @Table(name = "draw_participation_info") public class DrawParticipationInfo { @Id @@ -23,14 +25,9 @@ public class DrawParticipationInfo { @Column(name = "draw_losing_count") private Integer drawLosingCount; - @Column(name = "draw_participation_count") - private Integer drawParticipationCount; + @Column(name = "draw_attendance_count") + private Integer drawAttendanceCount; - @Builder - public DrawParticipationInfo(Integer userId, Integer drawWinningCount, Integer drawLosingCount, Integer drawParticipationCount) { - this.userId = userId; - this.drawWinningCount = drawWinningCount; - this.drawLosingCount = drawLosingCount; - this.drawParticipationCount = drawParticipationCount; - } + @Column(name = "last_attendance") + private LocalDateTime lastAttendance; } diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/repository/DrawParticipationInfoRepository.java b/src/main/java/com/softeer/backend/fo_domain/draw/repository/DrawParticipationInfoRepository.java index 736e7b40..da2e97a3 100644 --- a/src/main/java/com/softeer/backend/fo_domain/draw/repository/DrawParticipationInfoRepository.java +++ b/src/main/java/com/softeer/backend/fo_domain/draw/repository/DrawParticipationInfoRepository.java @@ -7,6 +7,7 @@ import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.Optional; @Repository @@ -22,4 +23,19 @@ public interface DrawParticipationInfoRepository extends JpaRepository new ShareInfoException(ErrorStatus._NOT_FOUND)); - int drawParticipationCount = drawParticipationInfo.getDrawParticipationCount(); + int drawAttendanceCount = handleAttendanceCount(userId, drawParticipationInfo); int invitedNum = shareInfo.getInvitedNum(); int remainDrawCount = shareInfo.getRemainDrawCount(); - if (drawParticipationCount == 7) { + System.out.println("Draw Attendance = " + drawAttendanceCount); + + if (drawAttendanceCount >= 7) { // 7일 연속 출석자라면 - return drawResponseGenerateUtil.generateMainFullAttendResponse(invitedNum, remainDrawCount, drawParticipationCount); + return drawResponseGenerateUtil.generateMainFullAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount % 8); } else { // 연속 출석자가 아니라면 - return drawResponseGenerateUtil.generateMainNotAttendResponse(invitedNum, remainDrawCount, drawParticipationCount); + return drawResponseGenerateUtil.generateMainNotAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount); + } + } + + /** + * 연속 출석인지 판단 + * 1. 연속 출석이면 연속 출석일수 1 증가하여 DB에 업데이트 + * 2. 연속 출석이 아니면 DB에 연속 출석일수 1로 초기화 + * 3. 현재 출석시각을 마지막 출석시각으로 DB에 업데이트 + * + * @param userId 사용자 아이디 + * @param drawParticipationInfo 참여 정보 + * @return 연속출석 일수 반환 + */ + private int handleAttendanceCount(Integer userId, DrawParticipationInfo drawParticipationInfo) { + LocalDateTime lastAttendance = drawParticipationInfo.getLastAttendance(); + + // 한 번도 접속한 적이 없는 사람이라면 + if (lastAttendance == null) { + // 연속출석일수 1로 초기화 + drawParticipationInfoRepository.setAttendanceCountToOne(userId); + + // lastAttendance를 현재 시각으로 설정 + drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now()); + + return 1; + } + + // 마지막 접속 시간이 오늘이라면 false 반환 + if (isLastAttendanceToday(lastAttendance)) { + // lastAttendance를 현재 시각으로 설정 + drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now()); + + return drawParticipationInfo.getDrawAttendanceCount(); + } + + if (isContinuousAttendance(lastAttendance)) { + // 연속 출석이라면 연속출석일수 1 증가 + drawParticipationInfoRepository.increaseAttendanceCount(userId); + + // lastAttendance를 현재 시각으로 설정 + drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now()); + return drawParticipationInfo.getDrawAttendanceCount() + 1; + } else { + // 연속출석이 아니라면 연속출석일수 1로 초기화 + drawParticipationInfoRepository.setAttendanceCountToOne(userId); + + // lastAttendance를 현재 시각으로 설정 + drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now()); + return 1; } } + /** + * 연속 출석인지 판단 + * + * @param lastAttendance 마지막 출석 날짜 + * @return 연속 출석이면 true, 연속출석이 아니면 false 반환 + */ + private boolean isContinuousAttendance(LocalDateTime lastAttendance) { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime startDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 다음날 자정 + LocalDateTime endDateTime = lastAttendance.plusDays(2).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 2일 후 자정 + + return (now.isAfter(startDateTime) && now.isBefore(endDateTime)); + } + + /** + * 마지막 출석 시간이 오늘인지 판단 + * + * @param lastAttendance 마지막 출석 날짜 + * @return 마지막 출석 시간이 오늘이면 true, 아니면 false 반환 + */ + private boolean isLastAttendanceToday(LocalDateTime lastAttendance) { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime startDateTime = lastAttendance.with(LocalTime.MIDNIGHT); + LocalDateTime endDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT); + + return (now.isAfter(startDateTime) && now.isBefore(endDateTime)); + } + /** * 추첨 이벤트 당첨 로직 작성 * diff --git a/src/main/java/com/softeer/backend/fo_domain/user/service/LoginService.java b/src/main/java/com/softeer/backend/fo_domain/user/service/LoginService.java index 34d2365a..61ce3552 100644 --- a/src/main/java/com/softeer/backend/fo_domain/user/service/LoginService.java +++ b/src/main/java/com/softeer/backend/fo_domain/user/service/LoginService.java @@ -137,7 +137,7 @@ private void createDrawParticipationInfo(Integer userId) { .userId(userId) .drawWinningCount(0) .drawLosingCount(0) - .drawParticipationCount(1) + .drawAttendanceCount(1) .build(); drawParticipationInfoRepository.save(drawParticipationInfo);