Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* test: TestContainer 적용 (#27) * test: TestContainer 적용 * test: TestContainer MySQL 버전 5.7로 변경 * test: RestAssured port 선언조건 추가 * feat: POST /user/login API 구현 (#50) * feat: User Entity 추가 * test: /user/login 인수테스트 작성 * feat: 로그인 뼈대코드 구성 * feat: testcontainer 도입 * test: TestContainer 적용 * test: TestContainer MySQL 버전 5.7로 변경 * test: RestAssured port 선언조건 추가 * feat: 사용자 로그인 구현 * feat: 사용자 마지막 로그인한 날짜 추가 * test: ActiveProfiles 설정 추가 * build: 토큰 값 minute 주석 추가 * refactor: refreshToken 만료일자 14일로 수정 * build: 불필요한 설정파일 제거 * refactor: 예외처리부 추가 * test: 학교 메일로 테스트케이스 수정 * refactor: 반환값 accessToken임을 명시 * feat: 상점 메뉴 조회 API 구현 (#112) * refactor: 전체 패키지 구조 변경 (#114) * refactor: 패키지 구조 변경 * refactor: DTO 레코드로 변경 * refactor: 상점 도메인 패키지 구조 변경 * refactor: 패키지 표현 변경 * feat: GET /lands API 구현 (#148) * feat : 도메인 생성 * faet : controller 구현 * feat : response DTO 생성 * feat : 전체 조회 service 구현 * feat : 전체 조회 repository 생성 * feat : Domain 생성 * test : 인수 테스트 작성 * refactor : 하위 패키지 중 domain을 model로 수정 * refactor : DTO 클래스에 JsonNaming 어노테이션 사용 * refactor : Column 어노테이션 안에 필요없는 내용 제거 * refactor : 복덕방 리스트 조회 메서드에 Transaction(readOnly=true)가 적용되도록 수정 * refactor : 리스트 원소로 사용하던 LandResponse의 이름을 LandListItemResponse로 수정 * feat: 사용자 인증 구현 (#149) * feat: 사용자 인증 구현 * refactor: ArgumentResolver 이름 변경 * refactor: CustomException 적용 * refactor: 예외상황 명시하도록 순서 변경 * refactor: 상수추출 * refactor: 미사용 생성자 제거 * chore: 패키지 변경 * refactor: 미사용 어노테이션 제거 * refactor: 오타수정 * refactor: 오류메시지 구체화 * refactor: 미사용 메서드 제거 * �feat: GET /dept, GET /depts 구현 (#147) * refactor: 패키지 구조 변경 * refactor: DTO 레코드로 변경 * refactor: 상점 도메인 패키지 구조 변경 * feat: 학과 조회 관련 틀 작성 * feat: 학과명 열거형 추가 * feat: 학과 조회 초안 작성 * feat: 학과 조회 정상 동작 * refactor: 열거형 제거 최대한 도입해보려 시도했으나 `@Enumerated(EnumType.STRING)`으로는 불가능한 구조인 것으로 판단하여 제거 (DB에 한글로 저장되어 있어서 enum과 매핑하려면 한글 열거형이 필요해보임) ERROR DETAIL: "No enum constant in.koreatech.koin.domain.dept.domain.DeptType.기계공학부" * rename: 정적 팩토리 메서드 네이밍 수정 * test: 인수 테스트 추가 * fix: 정상 동작하도록 수정 (복합키 매핑 이전) * refactor: 복합키 매핑 * remove: 미사용 코드 제거 * feat: GET /depts 구현 * test: GET /depts 테스트 작성 * rename: 도메인명 수정 Dept -> DeptInfo * fix: DeptInfoRepository Key 수정 * refactor: service 코드 간소화 * fix: GET /dept 응답 메시지 자료형 수정 * refactor: 트랜잭션 적용 * rename: 변수명 수정 * refactor: 응답 객체 자료형 수정 * refactor: 개행 컨벤션 준수 * rename: DTO 네이밍 수정 * refactor: 개행 컨벤션 준수 * refactor: 메서드 네이밍 수정 * test: 테스트 인자 상수화 * test: 코드 간소화 * fix: Repository ID 제네릭 수정 * refactor: Static Import로 변경 Response 클래스들에 붙은 SnakeCaseStrategy.class를 static import하여 가독성 향상 * test: GET /depts 테스트 코드 수정 1. 기존에 연관관계를 테스트하지 않던 코드 수정 2. 반복문을 제거하고 일일이 매핑하도록 수정 * refactor: DB에서 enum으로 구조 변경 cc. #152 * rename: 메서드명 컨벤션 준수 * rename: 컨트롤러 메서드명 컨벤션 준수 * refactor: 존재하지 않을 시 응답 코드 변경 * style: enum 개행 조정 * remove: DB 미사용으로 인한 불필요 코드 제거 --------- Co-authored-by: Invidam <[email protected]> * feat: logout 구현 (#154) * feat: accessToken 재발급 (#155) * feat: logout 구현 * feat: accessToken 재발급 구현 * fix: 응답 수정 및 테스트 수정 * refactor: 사용자 인증 요구사항 제거 * refactor: 리프레시토큰 userId 구분 * �feat: 게시글 목록 조회 구현 (#158) * feat: 골격 작성 * feat: 엔티티 작성 * feat: repository 작성 * feat: service 작성 * feat: response 작성 * feat: DB 조회 로직 작성 * feat: Jsoup 의존성 추가 * feat: 응답 내용 추가 1. article.is_notice 2. article.contentSummary 3. board.is_notice 4. board.children (must null) * feat: 예외처리 작성 * refactor: 페이징 관련 정보 클래스 분리 * fix: soft delete된 게시판 or 게시글은 조회 안되도록 수정 * fix: 1페이지 조회 안되는 버그 수정 * fix: 누락된 응답 추가 (summary) * fix: 최신글부터 조회하도록 수정 * test: 테스트 코드 작성 * move: ErrorResponseWrapper 위치 변경 * refactor: 코딩 컨벤션 준수 * refactor: 문자열 파싱 메서드 리팩토링 * test: 예외상황 테스트 추가 * feat: 메뉴 카테고리 목록 조회 (#153) * feat: 메뉴 카테고리 조회 기능 구현 * refactor: 응답 DTO 생성 로직 수정 * refactor: cascade 처리 방식 변경 refactor: cascade 처리 방식 변경 * test: 테스트 문맥 변경 * feat: 복덕방 단일 조회 (#156) * feat : controller 구현 * feat : repository에 id로 조회 기능 생성 * feat : service에 조회 기능 구현 * feat : 응답 DTO 구현 * refactor : domain 필드 자료형 변경 * refactor : stream 라인 변경 * refactor : 코드 축약 * test : 단일 조회 테스트 작성 * refactor : 에러 메시지 구체적으로 수정 * refactor : 기존 응답 구조와 동일하도록 수정 * test : 테스트에 이미지 추가 * refactor:� findByXXX -> getByXXX (#164) * refactor: default method 활용한 getByXXX 메소드 추가 * style: 공벡 제거 * refactor: 복덕방에도 적용 * refactor: DataNotFoundException으로 묶어서 관리 * feat: 게시글 단일 조회 (#173) * feat: 골격 작성 * feat: Repository 메서드 추가 * feat: 응답 객체 작성 * feat: Comment 도메인 엔티티 작성 * feat: 초안 완성 * fix: 로그인된 사용자 정보 습득 절차 수정 1. 비로그인 유저의 요청도 받도록 수정 2. 올바르지 않은 토큰 입력 시 권한 없음으로 진행되도록 수정 * rename: 응답 객체 변수명 수정 * refactor: 내용 요약 정보 최신화 시기 변경 기존: getter 호출 시마다 로직 수행하여 추출 변경: jpa 엔티티 로드 후 1회 로직 수행 * refactor: 유저 인증 정보 전달 방식 수정 기존: 컨트롤러단에서 @RequestHeader로 받아 전달 변경: 서비스단에서 RequestContextHolder로 습득 * feat: 게시글 조회 기록 저장 및 조회수 변동 구현 유저의 게시글 조회가 조회수 증가로 이어지는 간격을 1시간으로 설정 * fix: 게시글 조회 관련 버그 수정 기존에 게시글 조회 이력이 남아있는데 만료 시간이 지난 경우, 기존 내역을 업데이트해줘야 하나 새로 저장을 시도하여 구문 에러가 발생함. 위 상황에는 기존 내역을 업데이트하는 로직을 추가함으로써 문제 해결 * fix: 게시글 목록 조회 버그 수정 문제: 최대 페이지 초과 시 404 에러가 발생하지 않음. 원인: 예외처리 로직을 별도 함수로 분리했으나 기존 함수를 사용중이었음 해결: 예외처리가 적용된 함수로 호출문 변경 * fix: 조회 기록 Builder에 만료시간 기입 * test: 신규 테스트 추가 및 기존 테스트 수정 * other: 학과 조회 자료형 수정 학과 코드: Long -> String * refactor: 코드스타일 개선 * rename: 메서드 네이밍 수정 * refactor: 빈 게시글 목록 조회 예외처리 제거 * refactor: IP 주소 습득 로직 분리 * test: 예외 제거에 따른 테스트 수정 * refactor: 연관관계 방식으로 로직 및 테스트 수정 * refactor: ArticleViewLog의 FK를 연관관계로 매핑 * refactor: Auth 어노테이션 활용하도록 변경 (#175) * refactor: Auth 어노테이션 활용하도록 변경 * refactor: IPAddress Interceptor 추가 * chore: auth global 패키지로 이동 * style: 로깅 디테일 * refactor: 불필요한 UserType 제거 * docs: add swagger config (#176) * refactor: Auth 어노테이션 활용하도록 변경 * refactor: IPAddress Interceptor 추가 * docs: swagger 추가 * chore: auth global 패키지로 이동 * style: 로깅 디테일 * refactor: 불필요한 UserType 제거 * refactor: Parameter Path 수정 * feat: 버전 단일 조회 (#168) * feat: request dto 작성 * feat: 엔티티 작성 * feat: response dto 작성 * feat: 서비스 작성 * feat: 컨트롤러 작성 * feature: 기존 코드 제거 및 테스트 코드 추가 * feat: 리뷰 적용 * feat: VersionType 피드백 적용 및 Exception Test Case 추가 * feat: 공백 컨벤션 수정 & No newline at end of file 적용 * feat: 회원 탈퇴 구현 (#178) * feat: 회원 탈퇴 구현 * refactor: 줄바꿈 * feat: 인기 게시글 목록 조회 (#181) * feat: API 골격 작성 * feat: Redis 접근 기능 구 * feat: 만료 체크 로직 자동화 * feat: 인기 많은 게시글 출력 로직 작성 1. 모든 로그 조회 2. 조회수 내림차순 정렬 3. Limit로 자르기 4. 결과 반환 * refactor: 스케줄러 관심사 분리 * feat: 최근 조회된 게시글 수가 10개 미만이면 최신 게시글과 병합 * fix: 응답 객체 필드명 수정 * test: 테스트 작성 * refactor: 조회수 검증 로직 개선 * docs: 응답 객체 설명 추가 * test: 불필요한 콘솔 출력 제거 * refactor: redis 대신 mysql을 사용하도록 수정 * test: 테스트 수정 * feat: 사장님 정보 조회 (#182) * feat: 도메인 엔티티 생성 * feat: 응답 객체 초안 작성 * feat: 도메인 클래스 작성 * feat: API 작성 1. 경로 수정(다른 API로 착각하고 작업중이었어서 수정) 2. 연관관계 매핑 3. API 로직 작성 * test: 테스트 작성 * refactor: 접근제어자 수정 * docs: 응답 객체 문서 주석 추가 * refactor: 트랜잭션 추가 * refactor: 예외처리 보완 * refactor: 양방향 연관관계 제거 * refactor: 잘못 기입된 Setter 제거 * refactor: 기본생성자 접근제어 추가 * refactor: 소프트딜리트된 대상은 제외 * refactor: 기본생성자 접근제어 추가 * style: 컨벤션 준수 * rename: 메서드명 변경 * feat: 사장님 자신의 모든 상점 조회 (#183) * feat: 도메인 엔티티 생성 * feat: 응답 객체 초안 작성 * feat: 도메인 클래스 작성 * feat: API 작성 1. 경로 수정(다른 API로 착각하고 작업중이었어서 수정) 2. 연관관계 매핑 3. API 로직 작성 * test: 테스트 작성 * feat: API 작성 * test: 테스트 작성 * refactor: 트랜잭션 적용 * docs: 응답 객체 문서 주석 추가 * fix: 버그 수정 * refactor: 읽기 전용 트랜잭션으로 수정 * refactor: 개행 컨벤션 준수 * feat: 사장님 회원가입 인증번호 전송 요청 (#184) * feat : owner controller 구현 * refactor: 기존 url에 맞게 수정 * feat: 이메일 관련 도메인 생성 & 검증 기능 구현 * feat: 중복 이메일인지 검증하는 기능 구현 * feat : AwsSesConfig 작성 * feat : SesMailSender 작성 * feat: 메일폼 작성 & 템플릿 가져오는 기능 구현 * feat: 메일 보내는 기능 구현 * feat: 메일 보낼 수 있는지 검사 * feat: OwnerInVerification 작성 * feat: redis에 저장 * fix: 타임리프 가져오는 에러 해결 * fix: 메일 전송 에러 해결 * refactor: mail form loader 설정 코드 메서드로 분리 * fix: 중복 이메일 검증 오류 해결 * feat: slack에 알림 보내는 기능 구현 * feat: 스웨거 작성 * refactor: 예외처리 수정 * feat: 슬랙 test url 작성 * feat: 레디스에 있는 사장님 정보 조회 구현 * test: 회원가입 인증번호 전송 요청 테스트 작성 * style: 클래스&메서드명 수정 * style: global의 commaon 패키지를 domain 패키지로 수정 * test: 테스트 메서드명 수정 * refactor: 인증번호 랜덤 생성을 따로 구현 * refactor: Aws SES 서울 리전으로 수정 * refactor: 이메일 검증 로직 수정 * fix: AWS SES 기존 Region으로 수정 * refactor: 스프링 이벤트 적용해서 슬랙 알림 전송하도록 수정 * refactor: 메일폼 가져오는 라이브러리 thymeleaf로 변경 * test: 슬래 전송 실패해도 200으로 응답하는 테스트로 수정 * test: 사장님 회원가입 인증번호 전송 요청 이벤트 발생 시 슬랙 전송 이벤트가 발생하는지 확인하는 테스트 * refactor: EmailAddress 객체 정적 팩토리 메서드를 사용하도록 수정 * refactor: OwnerInVerification 팩토리 메서드명 수정 * refactor: noticeEmailVerification()에서 코드 줄임 * refactor: 사용하지 않는 코드 제거 * test: MockBean을 SpyBean으로 수정 * test: MockBean 위치 변경 * test: application test yml에 thymeleaf 경로 설정 추가 * test: test/resources/mail/owner메일폼 추가 * test: test/resources/owner메일폼 제거 * test: MockBean 위치 AcceptanceTest로 변경 * style: record 변수 선언 세로로 위치 변경 * style: OwnerInVerification의 AccessLevel static import로 수정 * style: User 생성자 인수 일정하게 나열 * refactor: User 생성자 private으로 수정 * style: 모든 AccessLevel을 static import로 수정 * style: Owner, OwnerAttachment Doamin 위치 domain 패키지에서 model패키지로 수정 * refactor: aws ses 최신 버전으로 수정 * fix: 버전 매핑 에러 수정 (#191) * fix: 버그 수정 * refactor: 예외 수정 * test: 테스트 분리 * feat: 버전 최신화 메서드 작성 * refactor: 응답 간결화 및 버그 수정 * feat: 이메일 중복 체크 (#194) * feat: 이메일 중복 체크 구현 * feat: 이메일 중복 테스트 구현 * chore: application-test.yml 수정 - datasource 추가 * chore: application-test.yml 수정 - datasource 삭제 * refactor: ModelAttribute 적용 - @RequestParam -> @ModelAttribute * feat: 이메일 중복 테스트 추가 - 이메일을 보내지 않으면 400 - 잘못된 이메일 형식이면 400 * style: 라인 포맷팅 * feat : 강의 목록 조회(학기별) (#192) * feat : Lecture 클래스 생성 * feat : LectureApi 클래스 생성 * feat : LectureController 클래스 생성 * feat : LectureRepository 클래스 생성 * feat : LectureResponse DTO 생성 * feat : LectureService 클래스 생성 * feat : LectureApiTest 테스트 생성 후 통과 * refactor : 리뷰 반영 * refactor : classTime 반환타입 Integer[]로 변경 * refactor : 리뷰 반영 * refactor : Integer[]배열 List<Long>으로 변경 * refactor : TimeTable로 네이밍 변경 * refactor : 리뷰 반영 * feat: 버스 남은 시간 조회 - 셔틀버스, 등하교 버스 (#185) * feat: API 골격 작성 * feat: mongoDB 의존성 추가 * feat: 응답 객체 작성 * feat: 예외 추가 * feat: 엔티티 작성 * feat: 미운행인 버스 필터링 * feat: enum 추가 * feat: 남은 시간 계산 로직 작성 * feat: 가장 최근 버스까지 남은 시간 응답 구현 * feat: 미운행 요일 제외 로직 추가 * feat: 버스 정거장 검증로직 적용 및 중복되는 시간 제외 * refactor: enum 객체를 사용하도록 수정 * refactor: 등하교 방향 기준 탐색에서 정류장 탐색으로 로직 변경 * remove: 미사용 코드 제거 BusCourse.isRunning() * refactor: 테스트 mocking 위해 Clock 사용하도록 수정 * test: 테스트컨테이너 mongoDB 추가 * test: 셔틀 버스 조회 테스트 추가 * docs: API 문서에 파라미터 정보 명시 * remove: 불필요 주석 제거 * refactor: 누락된 Transactional 추가 * fix: mocking 변수 선언부 이동 * remove: 불필요 주석 제거 * refactor: 도착 시각 패턴 불일치 시 예외처리 * refactor: 반복문을 stream으로 변환 * refactor: 엔티티 필드로 List 사용 시 미리 초기화 * refactor: String 비교 시 NPE 예방 * refactor: 불필요한 매핑 메서드 제거 * refactor: 변수 분리 * rename: 변수명 수정 * refactor: Builder 생성자 접근제어자 수정 * refactor: enum 필드 간소화 * fix: 미사용 예외 사용하도록 수정 * feat: 출발지와 도착지가 일치할 경우 예외 처리 * refactor: IllegalArgumentException 예외 응답 수정 * feat : 학기 조회(전학기) (#196) * feat : Semester get API 구현 완료 * chore : 리뷰 반영 코드 위치 수정 / 패키지 이름 변경 * style : 라인 포매팅 및 클래스 삭제 * test : 테스트 코드 수정 * feat : 사장님 식당 생성, 특정 상점 조회 API구현 (#199) * feat: 상점 생성 기능 추가 * feat: 상점등록을 하기 위해 연관된 model정의 * feat: shop과 관련된 repository, exception작성 * feat: 1차 테스트 완료 * feat: 사장님 상점 생성 기능 구현 * feat: 특정상점조회 API구현 * refactor: 특정상점조회 테스트코드 수정 * chore: import경로 오류 수정 * chore: pull충돌 해결 * refactor: saveAll제거 * feat: 스웨거 설명 추가 * refactor: Builder생성자 접근제어 변경 * refactor: ShopResponse 적팩메이름 of로 변경 * refactor: ShopResponse 적팩메이름 of로 변경 * feat: 닉네임 중복 체크 (#189) * refactor: 회원 탈퇴 반환타입 수정 * feat: 중복 데이터 예외 처리 추가 * feat: 닉네임 중복 예외 처리 추가 * feat: 닉네임 중복 체크 구현 * feat: 닉네임 중복 테스트 * refactor: 예외 처리 수정 * refactor: 닉네임 중복 로직 수정 * feat: 닉네임 중복 중복아닐때, 제약조건위반시 테스트 추가 * refactor: 파라미터 valid 적용 * refactor: 전역 데이터 중복 예외 제거(이미 전에 누가 만들었음) * feat: 충돌 해결 * refactor: 코멘트 반영 수정 * feat : 식단 Api 구현 (#193) * feat : 충돌 해결 * chore : VersionException 제거 * chore : SnakeCaseStrategy import static 수정 * refactor : 엔티티 id int -> Long 수정 * feat : 사장님 식당 생성, 특정 상점 조회 API구현 (#199) * feat: 상점 생성 기능 추가 * feat: 상점등록을 하기 위해 연관된 model정의 * feat: shop과 관련된 repository, exception작성 * feat: 1차 테스트 완료 * feat: 사장님 상점 생성 기능 구현 * feat: 특정상점조회 API구현 * refactor: 특정상점조회 테스트코드 수정 * chore: import경로 오류 수정 * chore: pull충돌 해결 * refactor: saveAll제거 * feat: 스웨거 설명 추가 * refactor: Builder생성자 접근제어 변경 * refactor: ShopResponse 적팩메이름 of로 변경 * refactor: ShopResponse 적팩메이름 of로 변경 * feat : 커스텀 예외처리 추가 * chore : 충돌 해결 * chore : 테스트 정보 수정 * chore : 파라미터 설명 추가 * refactor : menu String -> List 수정 * fix : 테이블명 수정 * refactor : 현재시간에 대한 테스트를 위해 clock 모킹 추가 * remove : 사용하지 않는 예외 삭제 * chore : 테스트코드 public 제외, 불필요한 공백 삭제 --------- Co-authored-by: Hyeonsu Lee <[email protected]> * feat : 특정상점 전체메뉴조회 api작성 (#208) * feat: 특정 상점 모든 메뉴조회 api 작성 * feat: 특정 상점 모든 메뉴조회 api 테스트코드 작성 * feat: 코드리뷰사항 반영 1 차 * feat: 코드 리뷰사항 반영 2차 * feat : BCSD Lab 활동 api구현 (#207) * feat: bcsd lab 활동 가져오기 1차 테스트 통과 * refactor: 반환 값을 리스트에서 맵으로 변경 * refactor: activitiy api 반환값 맵으로 변경 * refactor: controller가 ActivityApi를 구현하게 변경 * chore: 불필요한 문자 제거 * style: 서비스 로직 최적화 * chore: 불필요한 코드 삭제 * chore: 충돌 해결 * chore: 불필요한 문자 제거 * chore: 1차 코드 리뷰 피드백 적용 * chore: 테스트 정보 주정 * style: 테스트에 param 적용 * chore: 줄 바꿈 수정 * style: 반환 타입 을 dto로 변경 * style: 컨트롤러 변수의 반환타입을 명시적으로 변경 * chore: 피드백 반영 * chore: 테스트 코드 내용 추가 * chore: ActivitiesResponseList Dto이름 변경 * feat: Presigned URL 구현 (#210) * feat: Enum Converter 추가 * style: 변수명 변경 * style: 불필요한 주석 제거 * refactor: Controller 테스트 제거 * refactor: 예외 수정 * chore: 패키지 구분 * refactor: 외부 API로 구분 * style: 공백제거 * test: 테스트 수정 * refactor: 변수명 변경 * refactor: fileName 포함하도록 수정 * refactor: request dto swagger 설명 추가 * refactor: passwordEncoder 활용하도록 수정 (#211) * fix: 특정 상점 전체메뉴조회 응답 객체 미스매치 수정 (#214) * feat: 특정 상점 모든 메뉴조회 api 작성 * feat: 특정 상점 모든 메뉴조회 api 테스트코드 작성 * feat: 코드리뷰사항 반영 1 차 * feat: 코드 리뷰사항 반영 2차 * fix: menus응답 수정 * chore: 충돌 해결 * chore: 충돌 해결 * chore: 응답 필드 이름 수정 * chore: 응답 필드 이름 수정 * feat: 시간표 기능 구현 (#212) * feat: 시간표 조회 기능 추가 * feat: 시간표 생성 기능 추가 * feat: 시간표 수정/삭제 기능 추가 * fix: 시간표 수정 변경 * refactor: 리뷰 반영 1차 * refactor: 리뷰 반영 2차 * refactor: 리뷰 반영 3차 * refactor: UpdateTimeTableRequest 이름 수정 UpdateTimeTableRequest -> TimeTableUpdateRequest * refactor: 리뷰 반영 5차 * refactor: 리뷰 반영 6차 * feat: 파일 단건 업로드 구현 (#227) * feat: 파일 단건 업로드 구현 * refactor: swagger 문서 추가 * refactor: swagger 설명 추가 * refactor: 미사용 변수 제거 * refactor: 파일 최대크기 설정 변경 * refactor: 필드주입방싱을 생성자주입 방식으로 변경 * feat: 파일 다중 업로드 구현 (#229) * feat: 파일 다중 업로드 구현 * docs: swagger 수정 * feat: 영양사 권한 추가 (#231) * feat: 영양사 권한 추가 * fix: 후행쉼표 추가 * fix: 복덕방 전제 조회 응답 객체 미스매치 수정 (#215) * chore: LandListItemResponse dto이름 LandsResponse로 변경 * fix: 반환값 list에서 key value형태로 변경 * fix: UploadServiceTest 수정 * style: 라인 포맷팅 * chore: ActivityResponse 예시 수정 * style: dto를 일반 클래스에서 record클래스로 수정 * style: ActivitiesResponse dto를 일반 클래스에서 record클래스로 수정 * feat: FCM 설정 (#232) * refactor: 상점 Entity 연관관계 설정 (#237) * feat: shop연관관계 수정 * refactor: 서비스레이어 dto변환 로직 제거 * feat: 상점사장님이 특정 상점을 조회하는 api작성 (#240) * feat: 상점조회 api작성 * chore: 라인포맷팅 * chore: 권한이 없는 사장님이 특정 상점 조회 테스트 코드 분리 --------- Co-authored-by: HyeonsuLee <[email protected]> * feat : 영양사 품절 정보 입력 (#238) * feat : Dining 클래스에 soldOut 컬럼 추가 * feat : DiningResponse DTO에 soldOut 컬럼 추가 * feat : flyway DB에 sold_out 컬럼 추가 * feat : SoldOutRequest DTO 클래스 추가(메뉴아이디, 품절여부) * feat : CoopDiningController, CoopDiningApi 클래스 추 * feat : CoopDiningService 클래스 추가 * feat : DiningRepository 품절여부 변경 메서드 추가, 테스트용 메서드 추 * feat : 영양사 품절 요청 테스트, 권한 확인 테스트 추 * feat : 기존 테스트 동작하도록 수정 * feat : 리뷰 반 * feat : 리뷰 반영, 테스트 방식 변 * feat : coop 패키지 분 * feat : setSoldOut() 메서드 추 * feat : update 방식을 조회 후 set해주는 방식으로 변 * feat : 사용하지 않는 메서드 삭 * feat : 패키지 변경으로 인한 테스트 변경 * feat : 인가 테스트로 변경 * feat : getById()로 수정 * feat : 개행 추가 * feat : 메뉴가 없는 경우 예외 추가 * refactor: 컨벤션 반영 * refactor: snakecase로 변경 * feat : 영양사 코너별 식단 사진 업로드 (#241) * feat : 충돌 해결 * chore : VersionException 제거 * chore : SnakeCaseStrategy import static 수정 * refactor : 엔티티 id int -> Long 수정 * feat : 사장님 식당 생성, 특정 상점 조회 API구현 (#199) * feat: 상점 생성 기능 추가 * feat: 상점등록을 하기 위해 연관된 model정의 * feat: shop과 관련된 repository, exception작성 * feat: 1차 테스트 완료 * feat: 사장님 상점 생성 기능 구현 * feat: 특정상점조회 API구현 * refactor: 특정상점조회 테스트코드 수정 * chore: import경로 오류 수정 * chore: pull충돌 해결 * refactor: saveAll제거 * feat: 스웨거 설명 추가 * refactor: Builder생성자 접근제어 변경 * refactor: ShopResponse 적팩메이름 of로 변경 * refactor: ShopResponse 적팩메이름 of로 변경 * feat : 커스텀 예외처리 추가 * chore : 충돌 해결 * chore : 테스트 정보 수정 * chore : 파라미터 설명 추가 * refactor : menu String -> List 수정 * fix : 테이블명 수정 * refactor : 현재시간에 대한 테스트를 위해 clock 모킹 추가 * remove : 사용하지 않는 예외 삭제 * chore : 테스트코드 public 제외, 불필요한 공백 삭제 * feat : 영양사 컨트롤러, 서비스 구현 * feat : 식단 이미지 변수 추가 * feat : 영양사 권한 및 영양사 도메인 enum 추가 * feat : image 컬럼 추가 * feat : Image 업로드 요청 DTO 생성 * feat : 영양사님의 사진 업로드 테스트 추가 * feat : 특정 식단의 이미지 업데이트 쿼리 추가 * feat : 쿼리문 수정 * chore : log 제거 * refactor : coop Api 분리 * refactor : image_url로 변수명 수정 * refactor : image_url로 변수명 수정 * chore : menuId로 변수명 구체화 * chore : V$ -> V3 버전 수정 * remove : repository 계층 트랜잭션 제거(service 계층 처리) * feat : 허용되지 않은 권한에 대한 테스트 추가 * refactor : update 수정(setter 이용) * refactor : 테스트 - 허용되지않은 권한 수정 * refactor : getById() 추가 * chore : Optional 검증을 위해 findById() -> getById() 수정 * remove() : DynamicUpdate 제거 * chore : 충돌 해결 * chore : 파일 위치 수정 --------- Co-authored-by: Hyeonsu Lee <[email protected]> * feat: 사장님 회원가입 (#244) * feat: 사장님 회원가입 및 슬랙 알림발송 구현 * refactor: slack 알림발송 로직 수정 * refactor: 사장님 회원가입 로직 구성 * test: 미사용 테스트 제거 * style: 코드 포맷팅 * test: 테스트 수정 * refactor: update flyway * feature: 상점 사장님 관련 모든 GET API를 작성했습니다. (#245) * feat: 상점조회 api작성 * chore: 라인포맷팅 * feat: 점주전용 상점관련 조회 api작성 * feat: 사장님 상점 조회 api get 모두 작성 * chore: 리뷰사항 반영 --------- Co-authored-by: HyeonsuLee <[email protected]> * fix: 게시판 공지사항 판단 로직 수정 (#246) * fix: 공지사항 판단 로직 수정 * fix: 공지사항 판단 로직 재수정 * refactor: 게시판 태그 enum으로 분리 * feat: 사장님 인증코드 검증 (#248) * feat: 사장님 인증번호 인증 구현 * refactor: 로직 수정 및 인증이 완료된 값에 대해 레디스 제거 * test: 테스트 추가 * build: 테이블 복원 * refactor: 인증방식 수정, 사용자 인증없이 사용자 id만 필요한 경우 `@UserId`를 사용하도록 수정 * test: MySQL 테스트 컨테이너 버전 8.0.29로 수정 * refactor: ArgumentResolver Webconfig 등록 * refactor: 파일업로드 임시 토큰에 대한 허용 * test: 테스트 수정 * refactor: 변수 사용 * fix: 전공별 커리큘럼 링크 수정, 새로운 과 추가 (#251) * fix: 전공별 커리큘럼 링크 수정, 새로운 과 추가 * fix: 전공별 커리큘럼 링크 다시 수정 * chore: DeptListItemResponse이름을 DeptsResponse로 변경 * style: 와일드 카드 사용하지 않는 것으로 다시 원래대로 복구 * chore: 주석 설명 변경 * style: 열거형 사용해서 필터 하게 변경 * feat: 사장님 비밀번호 재발급 구현 (#253) * feat: 사장님 인증번호 인증 구현 * refactor: 로직 수정 및 인증이 완료된 값에 대해 레디스 제거 * test: 테스트 추가 * build: 테이블 복원 * refactor: 인증방식 수정, 사용자 인증없이 사용자 id만 필요한 경우 `@UserId`를 사용하도록 수정 * test: MySQL 테스트 컨테이너 버전 8.0.29로 수정 * refactor: ArgumentResolver Webconfig 등록 * refactor: 파일업로드 임시 토큰에 대한 허용 * test: 테스트 수정 * feat: 사장님 비밀번호 찾기 API 구현 * refactor: 이메일 형식 수정 * refactor: 인증 제거 * feat : 회원 정보 수정 (#236) * feat : DTO 추가 * feat : 유저 수정 추가 * test : log.all() 삭제 및 422번 오류 삭제 * chore : update 수정 및 사용하지 않는 Request 객체 삭제 * refactor : update 이름 수정 * refactor : DTO major 라인 포맷팅 * chore : bulider() 미사용 및 update 로직 수 * chore : 리뷰 반영 및 학부/학번 404 -> 400번 오류로 수정 * chore : ApiResponse 수정 * chore : 리뷰 반영 * chore : withDetail 수정 * chore : 리뷰 반영(코드 스타일 및 메소드 분리) * chore : Local 내 회원 정보 조회 오류 확인 추가 * chore : 삼항 연산자 제거 * chore : Response department null 처리 추가 * chore : 변수 수정 및 Gender null 처리 추가 * chore : 변수 수정 및 department null 처리 추가 * chore : DB 학과 한글 저장 * chore : DB 저장 체크(Enumerated 삭제) * chore : DB 저장 체크(Enumerated 삭제 및 model 이름 수정) * chore : ENUM 사용하도록 재수정 * fix : ENUM -> STRING 사용 * chore : 검증 ENUM으로 이동 * chore : ENUM 영어 변수로 수정 * chore : ENUM 후행 쉼표 추가 * fix: 학기 최신 순으로 반환 (#268) * feat : 알림 구독 Api 구현 (#269) * feat : 충돌 해결 * chore : VersionException 제거 * chore : SnakeCaseStrategy import static 수정 * refactor : 엔티티 id int -> Long 수정 * feat : 사장님 식당 생성, 특정 상점 조회 API구현 (#199) * feat: 상점 생성 기능 추가 * feat: 상점등록을 하기 위해 연관된 model정의 * feat: shop과 관련된 repository, exception작성 * feat: 1차 테스트 완료 * feat: 사장님 상점 생성 기능 구현 * feat: 특정상점조회 API구현 * refactor: 특정상점조회 테스트코드 수정 * chore: import경로 오류 수정 * chore: pull충돌 해결 * refactor: saveAll제거 * feat: 스웨거 설명 추가 * refactor: Builder생성자 접근제어 변경 * refactor: ShopResponse 적팩메이름 of로 변경 * refactor: ShopResponse 적팩메이름 of로 변경 * feat : 커스텀 예외처리 추가 * chore : 충돌 해결 * chore : 테스트 정보 수정 * chore : 파라미터 설명 추가 * refactor : menu String -> List 수정 * fix : 테이블명 수정 * refactor : 현재시간에 대한 테스트를 위해 clock 모킹 추가 * remove : 사용하지 않는 예외 삭제 * chore : 테스트코드 public 제외, 불필요한 공백 삭제 * feat : 영양사 컨트롤러, 서비스 구현 * feat : 식단 이미지 변수 추가 * feat : 영양사 권한 및 영양사 도메인 enum 추가 * feat : image 컬럼 추가 * feat : Image 업로드 요청 DTO 생성 * feat : 영양사님의 사진 업로드 테스트 추가 * feat : 특정 식단의 이미지 업데이트 쿼리 추가 * feat : 쿼리문 수정 * chore : log 제거 * refactor : coop Api 분리 * refactor : image_url로 변수명 수정 * refactor : image_url로 변수명 수정 * chore : menuId로 변수명 구체화 * chore : V$ -> V3 버전 수정 * remove : repository 계층 트랜잭션 제거(service 계층 처리) * feat : 허용되지 않은 권한에 대한 테스트 추가 * refactor : update 수정(setter 이용) * refactor : 테스트 - 허용되지않은 권한 수정 * refactor : getById() 추가 * chore : Optional 검증을 위해 findById() -> getById() 수정 * remove() : DynamicUpdate 제거 * chore : 충돌 해결 * chore : 파일 위치 수정 * feat : 알림 구독 엔티티 생성 * feat: flyway 테이블 추가 * feat: API 형태 추가 * feat: 알림구독 추가, 삭제 컨트롤러 작성 * feat: 레포지토리 추가중.. * feat : delete api 수정 * feat: post 수정 중 .. * feat: GET 요청 반환값 만들기 * feat: 안정화 * feat: notification 팩토리 추가 * feat: getNotification 테스트코드 작성중 * test: 테스트 작성 중.. * feat: getNotification 테스트코드 작성완료 * feat: 스네이크케이스로 변경 후 디바이스토큰 추가 테스트코드 작성 * feat: post반환값 수정 * feat : deleteNotification 테스트 코드 추가 * feat : NotificationApiTest 완성 * remove : 알림 구독 관련 테스트 제거 * fix: 상속 받는 예외 클래스 수정 * fix: BIGINT -> UNSIGNED INT 수정 * test: koinAppUrl 추가 * style: 라인포맷팅 * test: .log().all() 제거 --------- Co-authored-by: Hyeonsu Lee <[email protected]> Co-authored-by: songsunkook <[email protected]> Co-authored-by: HyeonsuLee <[email protected]> Co-authored-by: 최준호 <[email protected]> * feat: 메뉴 변경 여부 추가 (#250) * feat: 메뉴 변경 확인 추가 * refactor: 테스트 수정 * feat: flyway 컬럼 추가 * refactor: V4에서 V5로 변경 * rename: V5에서 V6으로 변경 * Revert "feat: 메뉴 변경 여부 추가 (#250)" (#273) This reverts commit f8458cce0f1b7fdbb05089d15d59619c39b0c6f5. * refactor: 메뉴 변경 여부 컬럼명 통일 (#274) * feat: 메뉴 변경 확인 추가 * refactor: 테스트 수정 * feat: flyway 컬럼 추가 * refactor: V4에서 V5로 변경 * rename: V5에서 V6으로 변경 * refactor: 필드명 변경 * refactor: 필드명 변경 * feat: 버스 남은 시간 조회 - 시내버스 (#239) * feat: API 골격 작성 * feat: mongoDB 의존성 추가 * feat: 응답 객체 작성 * feat: 예외 추가 * feat: 엔티티 작성 * feat: 미운행인 버스 필터링 * feat: enum 추가 * feat: 남은 시간 계산 로직 작성 * feat: 가장 최근 버스까지 남은 시간 응답 구현 * feat: 미운행 요일 제외 로직 추가 * feat: 버스 정거장 검증로직 적용 및 중복되는 시간 제외 * refactor: enum 객체를 사용하도록 수정 * refactor: 등하교 방향 기준 탐색에서 정류장 탐색으로 로직 변경 * remove: 미사용 코드 제거 BusCourse.isRunning() * refactor: 테스트 mocking 위해 Clock 사용하도록 수정 * test: 테스트컨테이너 mongoDB 추가 * test: 셔틀 버스 조회 테스트 추가 * feat: 시내버스 Open API 호출 로직 작성 * feat: 방향 판단 로직 추가 * fix: 호출 예외 수정 * feat: json 파싱 로직 작성 1. json 파싱 로직 작성 2. 결과 코드 검증 3. 예외 추가 (500 반환) * feat: API 골격 작성 * feat: mongoDB 의존성 추가 * feat: 응답 객체 작성 * feat: 예외 추가 * feat: 엔티티 작성 * feat: 미운행인 버스 필터링 * feat: enum 추가 * feat: 남은 시간 계산 로직 작성 * feat: 가장 최근 버스까지 남은 시간 응답 구현 * feat: 미운행 요일 제외 로직 추가 * feat: 버스 정거장 검증로직 적용 및 중복되는 시간 제외 * refactor: enum 객체를 사용하도록 수정 * refactor: 등하교 방향 기준 탐색에서 정류장 탐색으로 로직 변경 * remove: 미사용 코드 제거 BusCourse.isRunning() * refactor: 테스트 mocking 위해 Clock 사용하도록 수정 * test: 테스트컨테이너 mongoDB 추가 * test: 셔틀 버스 조회 테스트 추가 * docs: API 문서에 파라미터 정보 명시 * remove: 불필요 주석 제거 * refactor: 누락된 Transactional 추가 * fix: mocking 변수 선언부 이동 * remove: 불필요 주석 제거 * refactor: 도착 시각 패턴 불일치 시 예외처리 * refactor: 반복문을 stream으로 변환 * refactor: 엔티티 필드로 List 사용 시 미리 초기화 * refactor: String 비교 시 NPE 예방 * refactor: 불필요한 매핑 메서드 제거 * refactor: 변수 분리 * rename: 변수명 수정 * fix: 충돌 해결 * refactor: Builder 생성자 접근제어자 수정 * refactor: enum 필드 간소화 * fix: 충돌 해결 * feat: 버스번호 필터링 * feat: 시내버스 조회 정보를 레디스 캐시로 저장 * feat: 버전 최신화 메서드 작성 * refactor: Pair를 사용하지 않도록 수정 * feat: ApiType 추가 - BusType과 BusOpenApiRequester 타입 맵핑을 위함 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 주석 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: record로 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 시내버스 캐시 저장 정보 변경 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * feat: 시내버스 버스 번호 반환 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * feat: 버스 타입별 로직 분기 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 캐싱 정보 추가 - 남은 시간만 캐싱 -> 버스 도착 정보 통째로 캐싱 - api url 수정 - 버전 정보 저장 - forEach -> for Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 시내버스 남은 시간 계산 로직 추가 - 버스 캐싱 정보 수정 - 시내버스 남은 시간 계산 로직 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 응답 객체 수정 - 기존: "now_bus": {"bus_number": null, ...} - 수정: "now_bus": null Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 주석 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 응답 객체 null 체크 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * feat: test 작성 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 빈 배열 반환하도록 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 도착시간순 정렬 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 시간 차 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: null 필터링 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: updated_at 변경 로직 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: .log().all() 삭제 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: switch문 if문으로 변경 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 복붙 문제 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * style: 컨벤션 적용 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * rename: BusInfoCache -> BusCache 이름 변경 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 주석 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * style: 컨벤션 적용 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: .log().all() 삭제 Co-authored-by: dradnats1012 <[email protected]> * refactor: 패키지 분리 Co-authored-by: dradnats1012 <[email protected]> * refactor: 상수, 검증 로직 분리 Co-authored-by: dradnats1012 <[email protected]> * refactor: 파일 이름 수정 Co-authored-by: dradnats1012 <[email protected]> * refactor: Bus.java 삭제와 구조 변경 Co-authored-by: dradnats1012 <[email protected]> * refactor: 시내버스 남은 시간 - Redis 테스트 수정 Co-authored-by: dradnats1012 <[email protected]> * refactor: 시내버스 남은 시간 - OpenApi 테스트 중간 작성 Co-authored-by: dradnats1012 <[email protected]> * refactor: 변수명 변경 Co-authored-by: dradnats1012 <[email protected]> * feat: 시내버스 남은 시간 - OpenApi 테스트 추 Co-authored-by: dradnats1012 <[email protected]> * refactor: 시내버스 테스트 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: Constant 클래스 enum으로 변경 * refactor: 캐시 만료 시간 분리 * Revert "refactor: Constant 클래스 enum으로 변" This reverts commit 5dcbf975cccbbd276dfa5e8dbbb52864eca6c209. * Revert "Revert "refactor: Constant 클래스 enum으로 변"" This reverts commit f321b7eb60f0d5426a1fef4d839c4861a08198a2. * refactor: Constant 클래스 네이밍 변경 * feat: 버스 번호 필터링 추가 - 400, 402, 405 Co-authored-by: dradnats1012 <[email protected]> * chore: 충돌 해결 Co-authored-by: dradnats1012 <[email protected]> * style: 줄바꿈 Co-authored-by: dradnats1012 <[email protected]> * refactor: 중괄호 제거 Co-authored-by: dradnats1012 <[email protected]> * test: OPEN_API_KEY 추가 * refactor: 리뷰 반영 * refactor: 디버그 코드 삭제 --------- Co-authored-by: songsunkook <[email protected]> Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * feature: 상점 사장님 관련 추가, 수정, 삭제 / 일반유저 모든 상점 조회 api작성 (#270) * feat: delete Api 구현 * feat: 테스트코드 작성 * feat: 메뉴생성요청 dto작성 * feat: 상점 사장님 추가, 수정 / 일반 유저 모든상점조회 api 작성 * feat: 라인 포맷팅 * feat: 테스트코드 로그 제거 * feat: 피드백 반영 1차 * chore: 디버깅용 출력 제거 * chore: 리뷰반영 2 --------- Co-authored-by: HyeonsuLee <[email protected]> * feat: spring actuator 추가 (#276) Co-authored-by: Jang Jun Young <[email protected]> * fix: 상점 생성 서버에러(@Valid 추가) (#281) Co-authored-by: HyeonsuLee <[email protected]> * refactor: 조회 방식 수정 (#284) * feat: 상점 모든 카테고리 조회 api작성 (#282) * feat: delete Api 구현 * feat: 테스트코드 작성 * feat: 메뉴생성요청 dto작성 * feat: 상점 사장님 추가, 수정 / 일반 유저 모든상점조회 api 작성 * feat: 라인 포맷팅 * feat: 테스트코드 로그 제거 * feat: 피드백 반영 1차 * chore: 디버깅용 출력 제거 * chore: 리뷰반영 2 * feat: 모든 상점 카테고리 조회 api작성 * chore: 충돌해결 * chore: 충돌해결 --------- Co-authored-by: HyeonsuLee <[email protected]> * �fix: student Entity 필드 수정 (#286) * refactor: #283 작업 revert * refactor: UserIdentity Ordinal로 수정 * refactor: 로그아웃, 탈퇴에 대한 권한 수정 (#288) * refactor: 이메일 인증 요청 dto 값 수정 (#290) * refactor: dto 네이밍 수정 * refactor: 사용자 성별 반환값 ordinal로 수정 * feat: lecture blank error (#293) * fix: 공백 문자 처리 * chore: log 제거 * style: 코드 효율적으로 전환 * fix: timetables 반환값 수정 (#294) * refactor: 반환값 형태 수정 * test: 테스트 값 수정 * test: 주석 제거 * refactor: trim -> strip 으로 변경 * test: 로그 제거 * fix/291 get lecture blank error reopen (#296) * fix: 공백 문자 처리 * chore: log 제거 * style: 코드 효율적으로 전환 * fix: 완전 비어 있는 리스트 처리 * chore: 우선 복구 * feat: 가게 이벤트 정보 조회 (#298) * feat: stage logback 적용 (#300) * feat: 로깅 추가 * feat: dev profile에만 추가되도록 구성 * feat: slack 알림발송 로직 추가 * refactor: 테스트용 코드 제거 * feat: slack 알림 메시지 수정 (#306) * feat: slack 알림 메시지 수정 * feat: 피드백 반영 * feat: 피드백 반영2 --------- Co-authored-by: Jang Jun Young <[email protected]> * fix : userGender null 값 처리 추가 (#304) * feat: get member (#311) * feat: Get /members 구현 * feat: 사용자 단건조회 구현 * test: 테스트 구성 * fix: 없는 상점 조회 시 예외 발생 (#313) * fix: 없는 상점 조회시 예외 던지기 * chore: 개행 삭제 * chore: 라인포맷팅 --------- Co-authored-by: HyeonsuLee <[email protected]> * fix: 연관관계 수정 (#315) Co-authored-by: HyeonsuLee <[email protected]> * fix: 상점 사장님 회원가입 에러 수정 (#316) * fix: 연관관계 수정 * fix: 연관관계 수정 --------- Co-authored-by: HyeonsuLee <[email protected]> * Fix: bearerToken 추출 오류 수정 (#309) * refactor: 강의시간 문자열 분리 수정 * refactor: BEARER_TYPE 수정 * refactor: 수정 * feat: is_event값 추가 (#302) * test: add JsonAssertions * feat: isEvent 값 추가 * test: 인자 변수로 수정 * test: 테스트 수정 * feat: 시외버스 API 구현 (#317) * feat: API 골격 작성 * feat: mongoDB 의존성 추가 * feat: 응답 객체 작성 * feat: 예외 추가 * feat: 엔티티 작성 * feat: 미운행인 버스 필터링 * feat: enum 추가 * feat: 남은 시간 계산 로직 작성 * feat: 가장 최근 버스까지 남은 시간 응답 구현 * feat: 미운행 요일 제외 로직 추가 * feat: 버스 정거장 검증로직 적용 및 중복되는 시간 제외 * refactor: enum 객체를 사용하도록 수정 * refactor: 등하교 방향 기준 탐색에서 정류장 탐색으로 로직 변경 * remove: 미사용 코드 제거 BusCourse.isRunning() * refactor: 테스트 mocking 위해 Clock 사용하도록 수정 * test: 테스트컨테이너 mongoDB 추가 * test: 셔틀 버스 조회 테스트 추가 * feat: 시내버스 Open API 호출 로직 작성 * feat: 방향 판단 로직 추가 * fix: 호출 예외 수정 * feat: json 파싱 로직 작성 1. json 파싱 로직 작성 2. 결과 코드 검증 3. 예외 추가 (500 반환) * feat: API 골격 작성 * feat: mongoDB 의존성 추가 * feat: 응답 객체 작성 * feat: 예외 추가 * feat: 엔티티 작성 * feat: 미운행인 버스 필터링 * feat: enum 추가 * feat: 남은 시간 계산 로직 작성 * feat: 가장 최근 버스까지 남은 시간 응답 구현 * feat: 미운행 요일 제외 로직 추가 * feat: 버스 정거장 검증로직 적용 및 중복되는 시간 제외 * refactor: enum 객체를 사용하도록 수정 * refactor: 등하교 방향 기준 탐색에서 정류장 탐색으로 로직 변경 * remove: 미사용 코드 제거 BusCourse.isRunning() * refactor: 테스트 mocking 위해 Clock 사용하도록 수정 * test: 테스트컨테이너 mongoDB 추가 * test: 셔틀 버스 조회 테스트 추가 * docs: API 문서에 파라미터 정보 명시 * remove: 불필요 주석 제거 * refactor: 누락된 Transactional 추가 * fix: mocking 변수 선언부 이동 * remove: 불필요 주석 제거 * refactor: 도착 시각 패턴 불일치 시 예외처리 * refactor: 반복문을 stream으로 변환 * refactor: 엔티티 필드로 List 사용 시 미리 초기화 * refactor: String 비교 시 NPE 예방 * refactor: 불필요한 매핑 메서드 제거 * refactor: 변수 분리 * rename: 변수명 수정 * fix: 충돌 해결 * refactor: Builder 생성자 접근제어자 수정 * refactor: enum 필드 간소화 * fix: 충돌 해결 * feat: 버스번호 필터링 * feat: 시내버스 조회 정보를 레디스 캐시로 저장 * feat: 버전 최신화 메서드 작성 * refactor: Pair를 사용하지 않도록 수정 * feat: ApiType 추가 - BusType과 BusOpenApiRequester 타입 맵핑을 위함 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 주석 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: record로 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 시내버스 캐시 저장 정보 변경 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * feat: 시내버스 버스 번호 반환 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * feat: 버스 타입별 로직 분기 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 캐싱 정보 추가 - 남은 시간만 캐싱 -> 버스 도착 정보 통째로 캐싱 - api url 수정 - 버전 정보 저장 - forEach -> for Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 시내버스 남은 시간 계산 로직 추가 - 버스 캐싱 정보 수정 - 시내버스 남은 시간 계산 로직 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 응답 객체 수정 - 기존: "now_bus": {"bus_number": null, ...} - 수정: "now_bus": null Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 주석 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 응답 객체 null 체크 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * feat: test 작성 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 빈 배열 반환하도록 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 도착시간순 정렬 추가 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 시간 차 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: null 필터링 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: updated_at 변경 로직 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: .log().all() 삭제 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: switch문 if문으로 변경 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 복붙 문제 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * style: 컨벤션 적용 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * rename: BusInfoCache -> BusCache 이름 변경 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: 주석 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * style: 컨벤션 적용 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: .log().all() 삭제 Co-authored-by: dradnats1012 <[email protected]> * refactor: 패키지 분리 Co-authored-by: dradnats1012 <[email protected]> * refactor: 상수, 검증 로직 분리 Co-authored-by: dradnats1012 <[email protected]> * refactor: 파일 이름 수정 Co-authored-by: dradnats1012 <[email protected]> * refactor: Bus.java 삭제와 구조 변경 Co-authored-by: dradnats1012 <[email protected]> * refactor: 시내버스 남은 시간 - Redis 테스트 수정 Co-authored-by: dradnats1012 <[email protected]> * refactor: 시내버스 남은 시간 - OpenApi 테스트 중간 작성 Co-authored-by: dradnats1012 <[email protected]> * refactor: 변수명 변경 Co-authored-by: dradnats1012 <[email protected]> * feat: 시내버스 남은 시간 - OpenApi 테스트 추 Co-authored-by: dradnats1012 <[email protected]> * refactor: 시내버스 테스트 수정 Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * refactor: Constant 클래스 enum으로 변경 * refactor: 캐시 만료 시간 분리 * Revert "refactor: Constant 클래스 enum으로 변" This reverts commit 5dcbf975cccbbd276dfa5e8dbbb52864eca6c209. * Revert "Revert "refactor: Constant 클래스 enum으로 변"" This reverts commit f321b7eb60f0d5426a1fef4d839c4861a08198a2. * refactor: Constant 클래스 네이밍 변경 * feat: 버스 번호 필터링 추가 - 400, 402, 405 Co-authored-by: dradnats1012 <[email protected]> * chore: 충돌 해결 Co-authored-by: dradnats1012 <[email protected]> * style: 줄바꿈 Co-authored-by: dradnats1012 <[email protected]> * refactor: 중괄호 제거 Co-authored-by: dradnats1012 <[email protected]> * test: OPEN_API_KEY 추가 * refactor: 리뷰 반영 * feat : 인수인계용 커밋 * feat: 시외버스기능구현 Co-authored-by: dradnats1012 <[email protected]>, Choon0414 <[email protected]> * feat: 시외버스 리팩터링 Co-authored-by: dradnats1012 <[email protected]>, Choon0414 <[email protected]> * test: 테스트 수정 Co-authored-by: dradnats1012 <[email protected]>, Choon0414 <[email protected]> * test: 테스트 수정 Co-authored-by: dradnats1012 <[email protected]>, Choon0414 <[email protected]> * test: 테스트 수정 Co-authored-by: dradnats1012 <[email protected]>, Choon0414 <[email protected]> * test: 테스트 제거 * refactor: 미사용 메소드 제거 * refactor: 네이밍 수정 * refactor: 네이밍 수정 * refactor: 네이밍 수정 * refactor: ttl 선언방식 수정 * refactor: 불필요한 추상화 제거 * refactor: 네이밍 수정 * style: 공백제거 * style: 코드 포맷팅 * style: 미사용 메소드 제거 * style: 미사용 클래스 제거 * refactor: API 사용 수정 * refactor: 클래스명 수정 --------- Co-authored-by: songsunkook <[email protected]> Co-authored-by: 박성빈 <[email protected]> Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> * fix: 사장님 가게정보 수정 오류 (#319) * refactor: cascade 옵션 수정 * refactor: flush 추가 * fix: menu 정보 수정 시에도 flush 추가 (#320) * refactor: cascade 옵션 수정 * refactor: flush 추가 * refactor: flush 추가 * refactor: 식단 품절, 변경 여부 (Boolean -> 시간)으로 변경 (#310) * refactor: flyway 추가 Co-authored-by: dradnats1012 <[email protected]> * refactor: Boolean에서 LocalDateTime으로 변경 Co-authored-by: dradnats1012 <[email protected]> * test: Boolean에서 LocalDateTime으로 수정 Co-authored-by: dradnats1012 <[email protected]> * test: DisplayName 수정 Co-authored-by: dradnats1012 <[email protected]> * refactor: 품절 취소로직 추가 Co-authored-by: dradnats1012 <[email protected]> * refactor: DTO NotNull Valid 추가 Co-authored-by: dradnats1012 <[email protected]> --------- Co-authored-by: dradnats1012 <[email protected]> * feat: 유저 권한 조회 API 작성 (#322) * feat: 유저 권한 조회 API 작성 * test: 테스트 작성 * refactor: 식단 조회 API DTO 필드명 변경 (#324) * fix: @Param추가 (#327) Co-authored-by: HyeonsuLee <[email protected]> * feat: 학생 회원가입 (#271) * feat: 에외 추가 * feat: 이메일 폼 추가 * feat: 골격 추가 * feat: 서비스 로직 구현 * feat: 인증 완료 폼 * feat: 회원 등록 폼 타임리프 설정 * feat: 이메일 인증 실패 폼 * feat: Controller 추가 * feat: 인증 완료시 isAuthed true 변경 * feat: 학번 학부 인증 및 UserIdentity->ordinal로 변경 * feat: 학생 회원가입 dto * feat: Service 구현 * feat: 토큰으로 부터 찾는 메서드 Repository에 추가 * feat: authToken 암호화 Util * feat: koreatehc.ac.kr 도메인 검증 * feat: 학번과 학부 검증 * feat: 슬랙 알림 * feat: 학생 이메일 요청, 가입 이벤트 * feat: 토큰 유효기간 설정 DateUtil * feat: 잘못된 학번 형식 예외 * feat: 이메일 인증 검증 dto * feat: 회원가입 이메일 인증 폼 데이터 * refactor: contorller 메서드 수정 * feat: 테스트 작성 * refactor: 컨벤션 맞게 수정 * refactor: log().all() 제거 * refactor: 컨벤션에 맞게 수정 * refactor: authToken passwordEncoder를 통해 암호화 * refactor: 학번 검증 수정 * refactor: 학번 검증 수정 * refactor: 메서드 네이밍수정 * refactor: 필드 controller->service 이동 * refactor: 유효하지 않은 데이터 400으로 반환 * refactor: 라인포맷팅 * refactor: 라인포맷팅 * feat: 에러코드반환수정 및 학번검증 테스트 추가 * refactor: 오류 해결 * refactor: 폼 반환 로직 수정 * refactor: 라인포맷팅 * refactor: 날짜 관련 로직 수정 * refactor: 호스트주소 추출 어노테이션으로 변경 * refactor: 학부,학번 검증 로직 변경 * refactor: 비밀번호 example 중복 제거 * refactor: 폼 반환 service 로직 수정 * refactor: 호스트 주소 어노테이션 적용 * refactor: 머지 형식에 맞게 수정 * refactor: 최신 전공 형식에 맞게 수정 * refactor: InvalidDataException -> IllegalException 변경 * refactor: 개행 수정 * refactor: camelCase로 수정 * refactor: 테스트명 수정 * refactor: expiredAt clock인자 받게 수정 * refactor: authToken UUID로 수정 * refactor: LocalTimeStringConverter 이름을 LocalTimeToHHmmStringConverter로 변경 * refactor: User객체 날짜 관련 속성LocalTimeToHHmmStringConverter 이용 * refactor: 학번 검증 수정 * refactor: host어노테이션 이름 변경 * refactor: LocalDate관련 수정 * refactor: 라인포맷팅 * refactor: LocalDate관련 클래스이름 수정 * refactor: URL얻어오는 코드 수정 * refactor: AuthResult orElse -> orElseGet * refactor: LocalTimeAttributeConverter 원래대로 수정 * refactor: 라인포맷팅 * refactor: orElseGet 수정 * feat: 신규상점 생성시 기본 카테고리 추가 (#331) * fix: @Param추가 * feat: 신규 상점 생성 시 기본 메뉴 카테고리 추가 * chore: 라인포맷팅 --------- Co-authored-by: HyeonsuLee <[email protected]> * fix: AttributeConverter 오류 수정 (#335) * feat: FCM 발송방식 수정 (#333) * docs: github workflow 설정 추가 * refactor: 알림 발송형태 수정 * refactor: 컬럼명 수정 * feat: isEvent 추가 (#337) * fix: shopId null일때 처리하기 (#341) * feat: 비밀번호 변경 로직 구현 (#342) * feat : 수정을 위한 1차 커밋 * feat : mailForm 생성 및 DTO, mail html 추가 * feat: controller 작성 * feat: webConfig 추가 * feat: resetToken전달하도록 수정 * feat: 이메일 전송 * feat: 버튼 누를 때 기능 * chore : 권한 static import * chore : LocalDateTime 형식으로 수정 및 미사용 파일 삭제 * feat: 비밀번호 초기화 구현 * docs: hidden 추가 * style: 개행제거 --------- Co-authored-by: duehee <[email protected]> Co-authored-by: daheeParkk <[email protected]> * fix : JsonProperty 삭제 (#345) * fix : Mixed Content 헤더 추가 (#347) * fix: attributeConverter milli second 길이가 두개인 경우도 반영 (#348) * fix: mili second 길이가 두개인 경우도 반영 * fix: authExpiredAt 시간 변경 * chore: datetimeformatter 변수명 변경 * Fix: attribute converter 오류 수정 (#349) * refactor: 회원가입 인증 토큰 만료기간 수정 * fix: AttributeConverter 오류 수정 * fix : 삭제된 userGender null 로직 추가 (#357) * feat: 이벤트 추가, 수정, 삭제, 베너조회 api 작성 (#350) * fix: @Param추가 * feat: 신규 상점 생성 시 기본 메뉴 카테고리 추가 * chore: 라인포맷팅 * feat: 이벤트 추가 api 자것ㅇ * feat: 이벤트 수정 컨트롤러 생성 * feat: 이벤트 수정, 삭제 api작성 * feat: 이벤트 추가 테스트코드 작성중 * feat: 이벤트 수정, 삭제, 베너 조회 테스트 코드 작성 * fix: 특정 상점 이벤트 조회 테스트코드 수정 * refactor: log().all()삭제 * refactor: 진행중인 이벤트 검색 repository메소드명 변겅 --------- Co-authored-by: HyeonsuLee <[email protected]> * fix: isAuthed 검증 추가 (#355) * fix: isAuthed 검증 추가 * refactor: 권한별 인증 세부 구분 추가 * refactor: 문구수정 * refactor: 문구수정 * test: 테스트 수정 * test: 테스트 수정 * Fix: 회원탈퇴 Hard Delete & 슬랙 알림 발송 (#352) * fix: Hard Delete로 수정 * feat: 회원탈퇴시 슬랙 알람 발송 * refactor: 변수명 수정 * refactor: 유저 삭제시 fk 엔티티 삭제 * refactor: 탈퇴 로직 수정 * refactor: 테스트 수정 * refactor: 테스트 수정 * refactor: 로직 수정 * refactor: 로직 수정 * feat: 회원 탈퇴시 유저타입 추가 (#360) * fix: soft delete메뉴 조회시 서버에러 해결 (#366) * fix: @Param추가 * refactor: 연관관계 수정 * fix: menu를 통해 조회 * fix: lastUpdatedAt을 정적메소드를 통해 min선언 * chore: 라인 포맷팅 --------- Co-authored-by: HyeonsuLee <[email protected]> * feat : 버스 코스 조회 구현 (#358) * test : 버스 course 조회 controller 추가 * feat : 버스 course 조회 service 추가 * test : 버스 course 조회 test 추가 * chore : 줄바꿈 수정 * chore : 버스 course 조회 테스트 수정 * chore : 버스 course 조회 테스트 수정 * chore : 버스 course 조회 테스트 수정 * fix : snake case 수정 * feat: 버스 검색 구현 (#353) * feat: 버스 검색 구현 * feat: 포맷 추가 * refactor: 메서드 위 변경 * feat: 버스 검색 테스트 작성 * refactor: 탑승까지 남은시간 반환 수정 - 기존: 하차까지 남은 시간 반환 * refactor: departure -> depart * refactor: 리뷰 반영 * refactor: /bus 수정 * test: 버스 테스트 수정 * fix: 버스 노드 도착 시간이 시간이 아닌 경우 처리 (#328) * refactor: 예외형태 수정 (#374) * refactor: 예외형태 수정 * refactor: time 제거 * refactor: handleExceptionInternal 반환값 수정 * fix: 메뉴 삭제 시 연관 데이터 삭제 수정 (#368) * fix: @Param추가 * refactor: 연관관계 수정 * fix: menu를 통해 조회 * fix: lastUpdatedAt을 정적메소드를 통해 min선언 * chore: 라인 포맷팅 * fix: orphanRemoval설정 끄기 * fix: list.clear시 entityManager에 반영 안되는 현상 수정 --------- Co-authored-by: HyeonsuLee <[email protected]> * fix: jpa, schema 정합성 (#367) * refactor: activity id Integer로 변경 * refactor: timestamp 명시 * refactor: LocalDateTimeAttributeConverter 개선 * refactor: id bigint로 변경 * Revert "refactor: activity id Integer로 변경" This reverts commit bea44bb4c28c7e26b7494fcface5f8e95269f9cb. * refactor: LocalDateTime 컬럼에 대해 columnDefinition 추가 * refactor: id 수정 flyway 제거 * refactor: Activity id Long -> Integer 수정 * refactor: Article id Long -> Integer 수정 * refactor: User id Long -> Integer 수정 * refactor: Article content, hit 수정 * refactor: Board id Long -> Integer 수정 * refactor: Board articleCount Long -> Integer 수정 * refactor: Board parentId, seq Long -> Integer 수정 * refactor: Comment id, content 수정 * refactor: Dining id, date 수정 * refactor: Dining soldOut, isChanged 수정 * refactor: EventArticle id, content 수정 * refactor: Shop, Menu Entity validate 맞게 수정 * refactor: Land validate 맞게 수정 * refactor: Lecture id Long -> Integer 수정 * refactor: Member, Track, Board Notification validate 조건에 맞게 수정 * refactor: Notification 수정 * refactor: OwnerAttachment 수정 * refactor: Owner boolean 처리 * refactor: Semester id Long -> Integer 수정 * refactor: ShopCategory id Long -> Integer 수정 * refactor: ShopCategoryMap id Long -> Integer 수정 * refactor: ShopImage id Long -> Integer 수정 * refactor: MenuOption id Long -> Integer 수정 * refactor: MenuImage, ShopOpen id Long -> Integer 수정 * refactor: Boolean 값 primitive로 수정 * refactor: Shop 필드값 수정 * refactor: Student identity 수정 * refactor: TechStack imageUrl 수정 * refactor: User 정보 수정 * refactor: Repository 정보 수정 * test: 테스트 수정 * fix: Repository 수정 (#377) * fix: 매개변수 자료형 fix (#381) * feat: CORS 설정 추가 (#382) * refactor: 비밀번호가 틀렸을 때 반환하는 메시지 간략화 (#383) * refactor: 스웨거에 400에러 표시 (#385) * feat: 버스 시간표 불러오기 (#369) * feat : 인수인계용 커밋 * feat : ExpressBusTimeTable record 삭제 * feat : ExpressBusTimetable 클래스 생성 * feat : ExpressBusOpenApiClient 클래스 완성 * feat : ExpressBusCache busInfos 생성자 다시 추가 * feat : busType.Lowercase 추가 * feat : 미사용 쿼리 제거, getBy로 변경 * feat : 테스트 추가 * feat : 리뷰 반영 * fix: flush 추가 및 unique 설정 (#386) * fix: flush 추가 * feat: 연관관계 Unique 제약 추가 * refactor: flyway 구문 수정 * refactor: unique 제약조건 구성 * test: 테스트 수정 * �feat: 상점 이벤트 생성, 조회 기능 구현 (#387) * refactor: 이벤트 get shop_id추가 및 이미지리스트 반환으로 dto변경 * refactor: 이벤트 조회관련 dto에 shopName, eventId 추가 * refactor: softdelete관련 이슈로 인한 shop -> eventArticle조회 * feat: 테스트코드 작성 중... * refactor: 테스트 통과하도록 수정 * refactor: 메소드명 수정 * refactor: clock 주입 * refactor: flush 추가 * refactor: 코드 포맷팅 * test: 시간 조정 * refactor: api path 복수로 수정 --------- Co-authored-by: HyeonsuLee <[email protected]> * feat: 사장님 가게 생성 시 알림 발송하도록 추가 (#389) * feat: 사장님 가게 생성 시 알림 발송하도록 추가 * refactor: notification nullable * fix: 자료형 수정 (#393) * fix: 사장님 이벤트 날짜조건 제거한 DTO 추가 (#395) * fix: 로그인에 권한 확인 로직 추가 (#397) * Fix: 사장님 회원탈퇴 오류 (#380) * fix: Column 'owner_id' cannot be null 해결 * refactor: 라인포맷팅 * refactor: 머지충돌 * refactor: 머지충돌 * refactor: 사장님 회원 탈퇴 수정 * refactor: shop 삭제 삭제 * feat : PUT user/student/me 현재 사용 닉네임 처리 로직 추가 (#391) * feat : 사용 중인 본인 닉네임 검증 로직 추가 * chore : 오타 수정 * chore : nickname null 누락 사항 추가 * chore : 리뷰 반영 완료 * feat : depart json 네이밍 변경 (#402) * feat : json 네이밍 변경 * feat : json 네이밍 변경 * fix: POST/user/refresh 반환코드 수정 (#399) * fix: 반환코드 수정 * fix: 테스트 수정 * fix: 건축, 기계, 메카 커리큘럼 링크 수정 (#404) * feat: 영양사 정보 조회 (#407) * feat: 영양사 정보 조회 기능 구현 * test: 올바른 영양사 계정인지 확인하는 테스트 작성 * refactor: 메뉴, 메뉴카테고리 Soft Delete로 변경 (#417) * feat: flyway is_delete컬럼 삭제 쿼리 작성 * feat: flyway is_delete컬럼 삭제 쿼리 작성 * feat: flyway is_delete컬럼 삭제 쿼리 롤백 * refactor: 메서드 이름 변경 --------- Co-authored-by: HyeonsuLee <[email protected]> * docs: 스웨거 DTO 예시 수정 (#415) * fix: 코인 인증 메일 폼 만료 시간 수정 (#414) * chore: dto 예시 및 설명 추가 (#419) Co-authored-by: HyeonsuLee <[email protected]> * feat : 품절 알림 발송 구현 (#372) * feat : FCM 일괄 push 구현 * feat : Factory 품절 메시지 추가 * feat : repository 타입으로 찾기 추가 * feat : coop 품절 알림 관련 수정 * refactor : 서비스 호출 -> 이벤트 발생 수정 * feat : coop 이벤트 리스너 추가 * refactor : 멀티캐스팅 -> 반복 발송 수정 * test : coop 품절 이벤트 발송 테스트 * chore : 사용하지 않는 의존성 제거 * test : @MockBean 주입 AcceptanceTest로 이동 * refactor : push 메서드 분리 * chore : 충돌 해결 * chore : 생성자 -> builder 수정 * chore : builder 수정 * chore : 주석 제거 * refactor : 클래스 별 기능 재분류 * chore : 생성자 -> builder 수정 * chore : soldOutRequest 빌더 -> 생성자 선언으로 수정 * refactor: 특정 알림 구독 인자 수정 및 예외처리 (#416) * refactor: 입력 파라미터 수정 및 알림 미구독 예외처리 * fix: 인자명 복구 및 테스트 수정 * feat: 이벤트메뉴 -> 추천메뉴, 대표메뉴 -> 메인 메뉴 update flyway 추가 (#424) Co-authored-by: HyeonsuLee <[email protected]> * docs: Swagger 필수인자 명시 (#425) * dosc: swagger 3.1 로 설정 * dosc: Activity 필수 여부 추가 * dosc: bus 응답 추가 * dosc: article 응답 추가 * docs: Dept, Dining Dto 설명 추가 * docs: land * docs: land dto 보완 * docs: Member Dto 구체화 * docs: Owner DTO 구체화 * docs: OwnerShop DTO 구체화 * chore: record 명 변경 * chore: shop record 수정 * chore: timetable record 수정 * chore: user dto 개선 * chore: version dto 개선 * chore: bus dto 개선 * test: 테스트 설정파일 위치 변경 * fix : 품절 알림 문구 수정 (#427) * fix : 품절 알림 문구 수정 * fix : 품절 알림 문구 수정 * feat: ClientAbortException handle (#430) * feature: 리프레시 토큰 만료 기한을 14일에서 20초로 변경 (#431) * feature: 리프레시 토큰 만료 기한 14일로 원상 복구 (#432) * fix: 사장님 이메일 중복요청시 재요청 시간제한 (#434) * refactor: 사장님 이메일 인증번호 만료시간 2시간 * feat: 사장님 이메일 발송 시 제한시간 추가 * test: stage 환경과 DB 버전 맞춤 * test: redis, mongo 초기화 로직 추가 * refactor: 만료시간 final 제거 및 로직 수정 * test: 이메일 중복가입요청 테스트 * refactor: 이름 변경 * test: 버스 테스트 수정 * fix: 상점 이벤트 알림을 구독한 유저에게만 알림을 보내도록 코드 변경 (#443) Co-authored-by: HyeonsuLee <[email protected]> * chore: 상점 설명 NotBlank에서 NotNull로 변경 (#436) * chore: 상점 설명 NotBlank에서 NotNul로 변견 * chore: 상점 조회할 때 설명이 Blank일 시 "-"를 기본값으로 반환하게 변경(안드로이드 대응 이슈) --------- Co-authored-by: HyeonsuLee <[email protected]> * feat: GET /admin/lands 기능 구현 (#438) * feat: GET /admin/lands 기능 구현 * chore: /admin/lands Response 수정 * chore: AdminLandRepository 개행 추가 * chore: Criteria 및 관련 코드 자료형 변경 * chore: count() 반환형 Integer로 변경 * chore: @Transactional(readOnly = true)를 전역으로 선언하도록 수정 * fix: 상점 이미지, 카테고리id중복되는 요소 입력 시 발생하는 에러 핸들링 (#448) * feat: imageUrl과 카테고리id에 중복된 요소가 있는지 하는 어노테이션 작성 * feat: 중복 데이터 검즘 stream사용 --------- Co-authored-by: HyeonsuLee <[email protected]> * feat: 시간표 총 학점 조회 (#440) * feat: 시간표 총 학점 조회 * refactor: 용어 변경 * refactor: 학점조회 테스트 코드 추가 * refactor: 용어 변경 * Fix : 버스 남은시간 수정, 캐시만료로직 수정 (#454) * feat : UnSupportedOperation ExceptionHandler 추 * feat : 남은시간 반환형식 변경 * feat : 레디스키 존재여부 메서드 추가 * feat : 캐시만료확인 로직 변경 * feat : 외부API가 빈배열이 아닐경우에만 저장 * refactor : 중괄호 추가 * feat : 버스 버저닝 V2 updated_at 추가 (#446) * feat : 버스 timetable v2 추가 * feat : 버스 버저닝 timetable/v2 서비스 구현 * test : 버스 시간표 조회 v2 테스트 추가 * chore : 버스 v2 테스트 수정 * chore : 사용하지 않는 import 제거 * chore : log() 제거 * chore : 스웨거 설명 추가 * fix: 시외버스 시간표 캐시확인로직 변경 (#457) * feat: 도커파일 추가 (#445) * feat: 도커파일 추가 * feat: 도커파일 리뷰반영 * feat: 도커파일 리뷰반영2 * feat: 도커파일 테스트 * feat: 도커파일 테스트2 * feat: 도커파일 arm호환성 추가 * feat: 도커파일 arm호환성 추가2 * feat: 피드백 수정 --------- Co-authored-by: Jang Jun Young <[email protected]> * test: 테스트 리팩터링 (#458) * test: 시간 제어 구성 및 Activity Fixture 추가 * test: 로그인 테스트 최적화 * test: bus API 테스트 수정 * test: community 테스트 수정 * test: dept 테스트 수정 * test: dining test 수정 * test: land test 수정 * test: member test 수정 * test: notification test 수정 * test: owner test 수정 * test: ownerShop test 수정 * test: shop test 수정 * test: lecture test 수정 * test: track test 수정 * test: version test 수정 * test: log 제거 * test: SuppressWarnings 추가 * test: 라인 포맷팅 * test: ExtractableResponse var로 대체 * test: objectMapper static으로 변경 * chore: admin 패키지 위치 수정 * test: log 제거 * test: 불필요한 설정 제거 * feat: 네이버 문자인증 구성 (#463) * feat: 불필요한 설정 제거 * feat: 문자인증 api작성 * feat: 문자인증 API 구체화 * test: 테스트 수정 --------- Co-authored-by: 최준호 <[email protected]> Co-authored-by: HyeonsuLee <[email protected]> * refactor: dto 수정 (#464) Co-authored-by: HyeonsuLee <[email protected]> * fix: String -> Double (#466) * refactor: 사용자에게는 기본 메시지만 보이도록 예외 수정 (#460) * refactor: 사용자에게는 기본 메시지만 보이도록 예외 수정 * refactor: 예외 메시지와 global exception handler 구조 변경 * chore: withDetail에 static 적용 누락 수정 * feat: 상점 사장님 문자인증 발송 시 slack알림 발송 (#473) * fix: DB의 상점 설명이 null인 경우 예외처리 (#476) * fix: shop description null일 경우 예외처리 * chore: 사장님 회원가입 의미 없는 코드 삭제 --------- Co-authored-by: HyeonsuLee <[email protected]> * feat : 회원 정보 수정에 비밀번호 수정 추가 (#477) * feat : 회원 정보 수정에 비밀번호 수정 추가 * chore : 라인 포맷팅 * fix : kcal, menu nullable 여부 수정 (#480) * fix : kcal -> NOT_REQUIRED, menu -> REQUIRED 수정 * fix : 식단 response, price와 kcal이 null이면 0 반환 * fix: 천안역에서 출발할 경우 Exception 발생 버그 수정 (#475) * feat: 상점 운영중 기준으로 정렬 및 is_event 필드 추가 (#479) * fix: shop description null일 경우 예외처리 * chore: 사장님 회원가입 의미 없는 코드 삭제 * feat: 응답에 영업중 여부 포함 및 영업중으로 정렬 * feat: 테스트코드 수정 * chore: 테스트코드 로깅용 출력 제거 * chore: now에 clock주입 * chore: 리뷰 반영 * chore: getShops에서 일시 한번만 호출 * feat: 정렬 방식 변경 * chore: 변수명 변경 --------- Co-authored-by: HyeonsuLee <[email protected]> * fix: 상점 수정시 배달금액 언더플로우 해결 (#482) * fix: shop description null일 경우 예외처리 * chore: 사장님 회원가입 의미 없는 코드 삭제 * feat: 응답에 영업중 여부 포함 및 영업중으로 정렬 * feat: 테스트코드 수정 * chore: 테스트코드 로깅용 출력 제거 * fix: 상점, 메뉴 수정 추가 dto의 금액 필드에 0원 이상 오도록 설정 * feat: 리뷰 반영 * chore: now에 clock주입 * chore: 리뷰 반영 * chore: getShops에서 일시 한번만 호출 * feat: 정렬 방식 변경 * chore: 변수명 변경 * chore: Entity금액 관련 필드 @PositiveOrZero추가 --------- Co-authored-by: HyeonsuLee <[email protected]> * feat: 비밀번호 검증 api 작성 (#478) * feature: 패스워드 체크 controller, service dto 추가 * chore: 컨트롤러 반환값 수정 * chore: 반환값 정확하게 수정 * fix: 영양사님도 허용 되게 swagger 변경 * test: 테스트 코드 작성 * chore: swagger에 표시되는 문구 변경 * style: boolean이 아닌 상태를 반환하는 것으로 변경 * test: 테스트 코드 변경 및 추가 작성 * chore: 오타 수정 * chore: 피드백 반영 * fix: 조건문 수정 * chore: 함수에 넣은 값 수정 * feat: 카카오 챗봇 API 구현 (#485) * feat: 카카오 챗봇 식단 API 구성 * refactor: adapter 형태로 수정 * feat: bus 남은시간 API 구현 * feat: bus 경로 API 구현 * refactor: 로깅용 코드 제거 * refactor: KoinException 구체화 * refactor: Exception 정리 구체화 * refactor: getFullMessage로 변경 * refactor: slack 알림 dev 이외에도 포함되도록 수정 * test: 테스트 수정 * refactor: 미사용 변수 제거 * refactor: 메뉴 검증 추가 * fix: 오타수정 * refactor: magicNumber 상수 추출 * refactor: 페이코로 변경 * refactor: 표준예외, 커스텀예외 구분 * style: 라인 포맷팅 * fix: 결과 joiner 참조 수정 * style: 순서 변경 * refactor: from 활용 * refactor: Enum 활용하도록 수정 * refactor: 변수명 수정 * refactor: 자바 기본 예외 래핑 * refactor: 제약조건 수정 * fix: handler 추가 및 IAE 변경 (#489) * refactor: 모든 상점 조회 api 성능개선 (#487) * feat: is_open여부를 결정 할 때 쿼리문에서 로직으로 변경 * refactor: ShopOpen Boolean -> boolean * refactor: 시간 처리 로직 개선 * style: 라인 포맷팅 --------- Co-authored-by: HyeonsuLee <[email protected]> Co-authored-by: 최준호 <[email protected]> * fix: 17~2시인경우 확인 안되는문제 해결 (#490) Co-authored-by: HyeonsuLee <[email protected]> * refactor: 라인포맷팅 (#492) Co-authored-by: HyeonsuLee <[email protected]> --------- Co-authored-by: Hansu Park <[email protected]> Co-authored-by: daheeParkk <[email protected]> Co-authored-by: 송선권 <[email protected]> Co-authored-by: tongil <[email protected]> Co-authored-by: Park Sungbin <[email protected]> Co-authored-by: 허준기 <[email protected]> Co-authored-by: duehee <[email protected]> Co-authored-by: Hyeonsu Lee <[email protected]> Co-authored-by: 김원경 <[email protected]> Co-authored-by: 황현식 <[email protected]> Co-authored-by: 김성재 <[email protected]> Co-authored-by: HyeonsuLee <[email protected]> Co-authored-by: dradnats1012 <[email protected]> Co-authored-by: Choon0414 <[email protected]> Co-authored-by: Jang-JunYoung <[email protected]> Co-authored-by: Jang Jun Young <[email protected]> Co-authored-by: 박성빈 <[email protected]> Co-authored-by: daheeParkk <[email protected]> Co-authored-by: YunYongWoon <[email protected]>
- Loading branch information