Conversation
There was a problem hiding this comment.
api URI 전부 restful하게 변경해주세요.
/visit-history로 시작했으면 좋겠습니다
There was a problem hiding this comment.
figma 보면 medical record 가 의료기록(백엔드 테이블 이름은 visit history), health status 가 건강상태(백엔드 테이블 이름은 medical history)라 사용자나 프론트 개발자가 봤을 때 매칭되면 좋을 거 같아서 이렇게 했는데 바꾸는게 더 좋을까요??
There was a problem hiding this comment.
도연님 방식으로 바꾸는 거 좋은 것 같습니다. 다만 /create나 이런 건 없에는 게 좋을 것 같아요!
There was a problem hiding this comment.
메소드명에 2를 넣지말고 직관적으로 구분되게 지으면 좋겠습니다.
| @Column(columnDefinition = "TEXT") | ||
| private String contents_summary; | ||
|
|
||
| public void setVisitHistory(VisitHistory visitHistory) { |
There was a problem hiding this comment.
set으로 엔티티 접근하게 두면 안됩니다. 없에주세요
| @JoinColumn(name = "user_id") | ||
| private User user; | ||
|
|
||
| private String visitDate; |
| this.setSummary(summary); | ||
| summary.setVisitHistory(this); | ||
| } | ||
|
|
| @AllArgsConstructor | ||
| public enum VisitHistoryErrorCode implements ErrorCode { | ||
|
|
||
| USER_NOT_FOUND(HttpStatus.NOT_FOUND, "MEDICAL-RECORD400", "User not found."), |
There was a problem hiding this comment.
USER_NOT_FOUND 없에고 commonerrorcode에서 사용해주세요.
There was a problem hiding this comment.
이 pr 뿐만 아니라 에러코드의 예외 문구나, dto의 메시지를 통한 예외 문구를 작성할 때 한글로 작성해주세요. 오류 뜰 시 프론트나 서버에서 어떤 게 문제인지 명확히 인지할 수 있어야합니다.
| // 의료기록 생성 | ||
| @Operation(summary = "의료기록 생성 API", description = "의료기록을 생성 API 입니다.") | ||
| @PostMapping | ||
| public ResponseEntity<ApiResponse<VisitHistoryCreateResponse>> createVisitHistory( |
There was a problem hiding this comment.
Post이므로 응답 Void로 부탁드리고, 관련 dto도 삭제 부탁드립니다.
| //특정 의료기록 수정 | ||
| @Operation(summary = "의료기록 수정 API", description = "의료기록을 수정 API 입니다.") | ||
| @PutMapping("/{medicalRecordId}") | ||
| public ResponseEntity<ApiResponse<VisitHistoryUpdateResponse>> updateVisitHistory( |
There was a problem hiding this comment.
응답 Void로 부탁드리고, 관련 dto도 삭제 부탁드립니다.
|
|
||
| VisitHistory visitHistory = visitHistoryRepository.findById(visitHistoryId) | ||
| .orElseThrow(() -> new OuchException(VisitHistoryErrorCode.VISIT_HISTORY_NOT_FOUND)); | ||
|
|
There was a problem hiding this comment.
user를 존재 여부만 체크하고 따로 의료기록과 연관지어 사용하고 있지 않습니다. 이러면 특정 유저의 의료기록이라고 보장할 수 없습니다.
| VisitHistory visitHistory = visitHistoryRepository.findById(visitHistoryId) | ||
| .orElseThrow( | ||
| () -> new OuchException(VisitHistoryErrorCode.VISIT_HISTORY_NOT_FOUND)); | ||
|
|
There was a problem hiding this comment.
user를 존재 여부만 체크하고 따로 의료기록과 연관지어 사용하고 있지 않습니다. 이러면 특정 유저의 의료기록이라고 보장할 수 없습니다.
There was a problem hiding this comment.
이렇게 하셔도 가능은 한데 visithistory가 애초에 user 정보를 담고 있어서 사진 처럼 하게 되면 쿼리가 2번 생성되고, 불필요한 user객체가 생성됩니다.
visitHistoryRepository.findByIdAndUserId(visitHistoryId, userId) 이런 식으로 커스텀 리포지토리 만드는 게 간단합니다.
Optional findByIdAndUserId(Long id, Long userId); 이렇게 정의하시면 될거에요.
| Long visitHistoryId, Long userId) { | ||
| userRepository.findById(userId) | ||
| .orElseThrow(() -> new OuchException(VisitHistoryErrorCode.USER_NOT_FOUND)); | ||
|
|
|
|
||
| Department department = departmentRepository.findByName(request.getMedicalSubject() | ||
| ).orElseThrow(() -> new OuchException(VisitHistoryErrorCode.DEPARTMENT_NOT_FOUND)); | ||
|
|
There was a problem hiding this comment.
병원, 진료과는 우선 객체 사용하지말고 string 필드 사용 부탁드립니다.
| .symptoms(request.getSymptoms()) | ||
| .summary(summary) | ||
| .build(); | ||
|
|
| @Repository | ||
| public interface HospitalRepository extends JpaRepository<Hospital, Long> { | ||
|
|
||
| Optional<Hospital> findByName(String name); |
| @Repository | ||
| public interface DepartmentRepository extends JpaRepository<Department, Long> { | ||
|
|
||
| Optional<Department> findByName(String name); |
There was a problem hiding this comment.
DepartmentRepository, HospitalRepository 삭제했습니다:)
* [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com>
* [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) * [REFACT] cd_workflow 파일 수정 --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com>
* [CICD] release 배포 (#46) * [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) * [REFACT] cd_workflow 파일 수정 --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com> * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] DockerFile 이미지에 curl 설치 * [REFACT] cd_workflow 파일 헬스체크 시간 확대 * [REFACT] dockerfile 자바 이미지 변경 * [REFACT] SecurityConfig에 인증되지 않은 사용자도 healthcheck에 접근할 수 있또록 수정 * [REFACT] 스웨거도 접속 가능하도록 수정 * [REFACT] CORS 설정 수정 * [REFACT] 도커파일 헬스체크 지연시간 추가 * [REFACT] cd_workflow 헬스체크 시간 추가 * [TEST] 테스트 위해 인증 로직 임시 수정 * [TEST] 테스트 위해 SecurityConfig 임시 수정 (최신 브랜치 기준) * [REFACT] Discord 알림 폴링 시간 100초 -> 150초로 증가 * 배포 prod.yml ddl-auto: create -> update로 수정 * [REFACT] docker HealthCheck 개선 (작동 시간 증가) * [REFACT] 배포 후 빌드 과정에 캐시 사용하지 않도록 수정 * [REFACT] 도커파일 설정에서 어떤 .jar 파일을 빌드할 지 명확히 설정 * [REFACT] cd 배포 파일에서 도커 이미지 정리, 도커 헬스체크 의존성 포함 여부 검증 로직 추가 * [FIX] localhost는 러너 기준으로 문제가 있어 EC2 기준으로 디스코드 배포 알림 URL 수정 * [FIX] Authorization 헤더 노출 가능하도록 수정, 쿠키 자격 증명 비활성화되도록 CORS 수정 * [FIX] SelfDiagnosis 조회 시 createdAt null 방어 처리 및 Update 메소드 리턴 제거 * [REFACT] SpringSecurity 내 basic 인증 사용하지 않도록 설정, 세션 사용하지 않도록 설정 --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com>
…compose 도입 버전 배포 (#49) * [BUG] 배포 상황이 안정된 브랜치로 복구, 도커 설정 관련 수정, Authorization 헤더 노출 CORS 수정 (#47) * [CICD] release 배포 (#46) * [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) * [REFACT] cd_workflow 파일 수정 --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com> * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] DockerFile 이미지에 curl 설치 * [REFACT] cd_workflow 파일 헬스체크 시간 확대 * [REFACT] dockerfile 자바 이미지 변경 * [REFACT] SecurityConfig에 인증되지 않은 사용자도 healthcheck에 접근할 수 있또록 수정 * [REFACT] 스웨거도 접속 가능하도록 수정 * [REFACT] CORS 설정 수정 * [REFACT] 도커파일 헬스체크 지연시간 추가 * [REFACT] cd_workflow 헬스체크 시간 추가 * [TEST] 테스트 위해 인증 로직 임시 수정 * [TEST] 테스트 위해 SecurityConfig 임시 수정 (최신 브랜치 기준) * [REFACT] Discord 알림 폴링 시간 100초 -> 150초로 증가 * 배포 prod.yml ddl-auto: create -> update로 수정 * [REFACT] docker HealthCheck 개선 (작동 시간 증가) * [REFACT] 배포 후 빌드 과정에 캐시 사용하지 않도록 수정 * [REFACT] 도커파일 설정에서 어떤 .jar 파일을 빌드할 지 명확히 설정 * [REFACT] cd 배포 파일에서 도커 이미지 정리, 도커 헬스체크 의존성 포함 여부 검증 로직 추가 * [FIX] localhost는 러너 기준으로 문제가 있어 EC2 기준으로 디스코드 배포 알림 URL 수정 * [FIX] Authorization 헤더 노출 가능하도록 수정, 쿠키 자격 증명 비활성화되도록 CORS 수정 * [FIX] SelfDiagnosis 조회 시 createdAt null 방어 처리 및 Update 메소드 리턴 제거 * [REFACT] SpringSecurity 내 basic 인증 사용하지 않도록 설정, 세션 사용하지 않도록 설정 --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com> * [FEAT] 사용자 언어 설정 및 조회 API 구현, 회원가입 시 언어, 국적 코드로 입력 받도록 수정 (#21) * [FEAT] 유저 언어 설정, 조회 컨트롤러 작성 * [FEAT] 데이터베이스 내 모든 언어 조회 API 구현 * [FEAT] 데이터베이스 내 모든 국가 조회 API 구현 * [FEAT] 유저 언어 설정 변경 및 조희 API 구현 * [FEAT] 유저 국적 설정 및 조회 API 구현 * [REFACT] 회원가입 시 국적, 언어 ID가 아닌 Code로 가입하도록 수정 * [CHORE] 국가, 언어 필드 유니크 제약조건 추가, 회원가입 스웨거 기본값(국적, 언어) 수정 * [CHORE] 불필요한 언어 dto 삭제 --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com>
* [BUG] 배포 상황이 안정된 브랜치로 복구, 도커 설정 관련 수정, Authorization 헤더 노출 CORS 수정 (#47) * [CICD] release 배포 (#46) * [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <yh99cho1@gmail.com> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) * [REFACT] cd_workflow 파일 수정 --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com> * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] DockerFile 이미지에 curl 설치 * [REFACT] cd_workflow 파일 헬스체크 시간 확대 * [REFACT] dockerfile 자바 이미지 변경 * [REFACT] SecurityConfig에 인증되지 않은 사용자도 healthcheck에 접근할 수 있또록 수정 * [REFACT] 스웨거도 접속 가능하도록 수정 * [REFACT] CORS 설정 수정 * [REFACT] 도커파일 헬스체크 지연시간 추가 * [REFACT] cd_workflow 헬스체크 시간 추가 * [TEST] 테스트 위해 인증 로직 임시 수정 * [TEST] 테스트 위해 SecurityConfig 임시 수정 (최신 브랜치 기준) * [REFACT] Discord 알림 폴링 시간 100초 -> 150초로 증가 * 배포 prod.yml ddl-auto: create -> update로 수정 * [REFACT] docker HealthCheck 개선 (작동 시간 증가) * [REFACT] 배포 후 빌드 과정에 캐시 사용하지 않도록 수정 * [REFACT] 도커파일 설정에서 어떤 .jar 파일을 빌드할 지 명확히 설정 * [REFACT] cd 배포 파일에서 도커 이미지 정리, 도커 헬스체크 의존성 포함 여부 검증 로직 추가 * [FIX] localhost는 러너 기준으로 문제가 있어 EC2 기준으로 디스코드 배포 알림 URL 수정 * [FIX] Authorization 헤더 노출 가능하도록 수정, 쿠키 자격 증명 비활성화되도록 CORS 수정 * [FIX] SelfDiagnosis 조회 시 createdAt null 방어 처리 및 Update 메소드 리턴 제거 * [REFACT] SpringSecurity 내 basic 인증 사용하지 않도록 설정, 세션 사용하지 않도록 설정 --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com> * [FEAT] 사용자 언어 설정 및 조회 API 구현, 회원가입 시 언어, 국적 코드로 입력 받도록 수정 (#21) * [FEAT] 유저 언어 설정, 조회 컨트롤러 작성 * [FEAT] 데이터베이스 내 모든 언어 조회 API 구현 * [FEAT] 데이터베이스 내 모든 국가 조회 API 구현 * [FEAT] 유저 언어 설정 변경 및 조희 API 구현 * [FEAT] 유저 국적 설정 및 조회 API 구현 * [REFACT] 회원가입 시 국적, 언어 ID가 아닌 Code로 가입하도록 수정 * [CHORE] 국가, 언어 필드 유니크 제약조건 추가, 회원가입 스웨거 기본값(국적, 언어) 수정 * [CHORE] 불필요한 언어 dto 삭제 * [REFACT] 건강상태 api 수정 (#55) -건강상태 조회, 수정 api 에서 healthStatusId 를 따로 받지 않도록 수정(HealthStatusController) -건강상태 생성(POST) api 삭제 및 SignUpService 에 건강상태 생성 로직 추가 * [REFACT] 자가진단표 생성 api 오류처리 추가 (#54) -자가진단표의 visitType 필드 입력값(enum) 예외 처리 * [FEAT] 마이페이지 api 구현 - profile 만 (#56) * (테스트용 커밋) * [FEAT] MypageController(만) 생성 * [FEAT] 마이페이지 profile 조회, 수정 api 구현 * [CHORE] 불필요한 dto 파일 삭제 * [CHORE] profile 수정 api 수정 -수정 요청시 국가, 언어를 code 로 받도록 dto(MypageProfileUpdateRequest) 수정 * [CHORE] MypageService 예외처리 코드 수정 --------- Co-authored-by: doyonkim <111870376+kdy2224@users.noreply.github.com>

📌 관련 이슈
✨ PR 세부 내용
[의료기록]
💬 리뷰 요청 사항