-
Notifications
You must be signed in to change notification settings - Fork 2
[FEAT] 자가진단표 api 구현 #37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| } | ||
|
|
||
| //특정 자가진단표의 증상 목록 조회 | ||
| @GetMapping("/get-symptoms/{diagnosisId}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/{dignosisId}/symptoms 가 좋을 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다
| } | ||
|
|
||
| //(자가진단표)id로 자가진단표 조회 | ||
| @GetMapping("/{diagnosisId}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
유저 정보를 파싱하는 식으로 하시지 않으셨는데, 특정 유저가 자기의 특정 자가진단을 보는 것을 의도하셨으면 밑처럼 @AuthenticationPrincipal 통해 유저 정보를 받아와야 합니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다
src/main/java/com/onebridge/ouch/controller/selfDiagnosis/SelfDiagnosisController.java
Outdated
Show resolved
Hide resolved
| public ResponseEntity<ApiResponse<Void>> deleteDiagnosis(@PathVariable Long diagnosisId) { | ||
| selfDiagnosisService.deleteDiagnosis(diagnosisId); | ||
| return ResponseEntity.ok(ApiResponse.successWithNoData()); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
자기 자가진단만 삭제할 수 있도록 유저 정보를 파싱해서 받아야 합니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다
| @RequestBody @Valid AddSymptomsToDiagnosisRequest request) { | ||
| selfDiagnosisService.addSymptomsToSelfDiagnosis(diagnosisId, request); | ||
| return ResponseEntity.ok(ApiResponse.successWithNoData()); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이것도 유저 정보를 받는 식으로 하셔야 합니다. 그래야 보안상으로 안전합니다.
URI도 /{diagnosisId}/symptoms으로 바꾸시면 좋을 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다
| @Component | ||
| public class SelfDiagnosisConverter { | ||
|
|
||
| public static DiagnosisUpdateResponse diagnosis2DiagnosisUpdateResponse(SelfDiagnosis updatedDiagnosis) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
혹시 static으로 하신 이유가 있으실까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
잘못 구현한 것 같습니다. 수정했습니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dto <-> 엔티티 양방향 변환을 의도하신 걸로 보이는데, 전반적으로 메소드명을 2를 붙여서 구분하기 보단 좀 더 직관적으로 바꾸시면 좋을 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기도 2보단 의미가 정확하게 전달될 수 있도록 하는 메소드명을 사용해 주세요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다
| //dto 로 받은 selfSymptom(리스트)의 각 요소가 Symptom table 에 존재하는지 확인 | ||
| for (String symptom : request.getSymptoms()) { //(단순 문자열로 된) 리스트를 돌면서 | ||
|
|
||
| Symptom foundSymptom = symptomRepository.findByName(symptom) //증상이 Symptom table 에 존재하면 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
루프 안에서 매번 DB 조회가 일어나서 n+1 문제가 나타날 수도 있을 것 같습니다. 한 번 알아보시면 좋을 것 같아요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다
| //자가진단표 수정 | ||
| //SelfDiagnosis entity 클래스에 update 메서드를 추가하는 방식으로 바꿀까요? | ||
| @Transactional | ||
| public DiagnosisUpdateResponse updateDiagnosis(Long diagnosisId, Long userId, DiagnosisUpdateRequest request) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
기존 증상을 없에면서 다른 증상을 추가 업데이트를 하는 경우도 반영해야 할 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
controller 에 보면 PUT 메서드라 이미 가능합니다.!
| SYMPTOM_NOT_FOUND(HttpStatus.NOT_FOUND, "DIAGNOSIS401", "Symptom not found."), | ||
| DIAGNOSIS_NOT_FOUND(HttpStatus.NOT_FOUND, "DIAGNOSIS402", "Diagnosis not found."), | ||
| SYMPTOM_ALREADY_ADDED(HttpStatus.BAD_REQUEST, "DIAGNOSIS403", "Symptom already added."), | ||
| ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
설명 한글로 바꿔주세요. 그리고 USER_NOT_FOUND는 CommonErrorCode 파일에 이미 있으므로 거기서 가져와서 쓰면 좋을 것 같습니다. 유저 관련은 CommonErrorCode로 다른 코드 다 바꿔주세요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다:)
| public enum UserErrorCode implements ErrorCode { | ||
|
|
||
| USER_NOT_FOUND(HttpStatus.NOT_FOUND, "USER400", "User not found."), | ||
| ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UserErrorCode 파일은 일단 없에주세요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다:)
| ) { | ||
| DiagnosisCreateResponseDetailed response = selfDiagnosisService.createDiagnosis(request, userId); | ||
| return ResponseEntity.ok(ApiResponse.created(response)); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Post하는 데 응답이 필요 없어서 DiagnosisCreateResponseDetailed 파일 지워주시고, ResponseEntity.ok(ApiResponse.successWithNoData()); 리턴하시면 될 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다:)
| ) { | ||
| DiagnosisUpdateResponse response = selfDiagnosisService.updateDiagnosis(diagnosisId, userId, request); | ||
| return ResponseEntity.ok(ApiResponse.success(response)); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기도 응답 없에주세요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다:)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
없에셔도 됩니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다:)
| userDetails.getAuthorities(), | ||
| ((OuchUserDetails)userDetails).getDatabaseId()); | ||
| ((OuchUserDetails)userDetails).getDatabaseId() | ||
| ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
관련내용을 따로 머지해놓았으니 메인에서 머지해주세요. 그리고 수정하는 부분 내용마다 커밋을 따로 날려주셔야 제가 보기가 편합니다. 통째로 수정되어 있으면 보기가 어려워요ㅜㅜ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
메인에서 머지하라는 말씀이 제 브랜치에 메인을 머지하라는 말씀이 맞을까요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네 다음부터 그렇게 하겠습니다:)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
메인에서 머지하라는 말씀이 제 브랜치에 메인을 머지하라는 말씀이 맞을까요??
네 맞습니다!
| public DiagnosisCreateResponseDetailed createDiagnosis(DiagnosisCreateRequest request, Long userId) { | ||
|
|
||
| User user = userRepository.findById(userId) | ||
| .orElseThrow(() -> new OuchException(DiagnosisErrorCode.USER_NOT_FOUND)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CommanErrorCode 이용 부탁드립니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다:)
| User user = userRepository.findById(id).orElseThrow(() -> new RuntimeException("User not found")); | ||
| User user = userRepository.findById(id).orElseThrow(() -> new OuchException(UserErrorCode.USER_NOT_FOUND)); | ||
|
|
||
| return userConverter.convertToUserInfoResponse(user); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기도 CommomErrorCode로 부탁드립니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다:)
| @Transactional(readOnly = true) | ||
| public UserInfoResponse getUserInfo(Long id) { | ||
| User user = userRepository.findById(id).orElseThrow(() -> new RuntimeException("User not found")); | ||
| User user = userRepository.findById(id).orElseThrow(() -> new OuchException(UserErrorCode.USER_NOT_FOUND)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기도 CommomErrorCode로 부탁드립니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
음 유저 부분들은 일단 서비스든 컨트롤러든 다 일단 냅두시죠
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다:)
| null, | ||
| userDetails.getAuthorities(), | ||
| ((OuchUserDetails)userDetails).getDatabaseId()); | ||
| ((OuchUserDetails)userDetails).getDatabaseId() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이런 부분은 pr과 관련 없기도 하고 제가 임시로 해결하기 위해 요청드린 부분들이라 커밋하시면 안됩니다. 그리고 이 부분이 아니더라도 수정하는 내용마다 따로 커밋해주셔야 제가 보기 수월해집니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
일단 다음 내용들이 기존 오류에 영향을 주지 않아서 메인에서 머지 부탁드립니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
반영했습니다:)
SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 파일 쓰는 곳 없는 것 같아서 삭제 부탁드립니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기에 2로 붙어있는 메소드가 많은데 직관적으로 이해할 수 있도록 메소드명을 바꿔야할 것 같습니다.
| @Transactional | ||
| public List<GetSymptomResponse> getSymptomsList() { | ||
| List<Symptom> symptoms = symptomRepository.findAll(); | ||
| return symptomConverter.symptoms2GetSymptomsResponse(symptoms); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
메소드명에 2가 들어가서 정확히 어떤 메소든지 잘 모르겠습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
모두 반영하였습니다:)
1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제
…테이션에서 자동 적용되므로 삭제
* [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 <[email protected]> * [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 <[email protected]> * [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 <[email protected]>
* [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 <[email protected]> * [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 <[email protected]> * [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 <[email protected]>
* [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 <[email protected]> * [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 <[email protected]> * [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 <[email protected]> * [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 <[email protected]>
…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 <[email protected]> * [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 <[email protected]> * [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 <[email protected]> * [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 <[email protected]> * [FEAT] 사용자 언어 설정 및 조회 API 구현, 회원가입 시 언어, 국적 코드로 입력 받도록 수정 (#21) * [FEAT] 유저 언어 설정, 조회 컨트롤러 작성 * [FEAT] 데이터베이스 내 모든 언어 조회 API 구현 * [FEAT] 데이터베이스 내 모든 국가 조회 API 구현 * [FEAT] 유저 언어 설정 변경 및 조희 API 구현 * [FEAT] 유저 국적 설정 및 조회 API 구현 * [REFACT] 회원가입 시 국적, 언어 ID가 아닌 Code로 가입하도록 수정 * [CHORE] 국가, 언어 필드 유니크 제약조건 추가, 회원가입 스웨거 기본값(국적, 언어) 수정 * [CHORE] 불필요한 언어 dto 삭제 --------- Co-authored-by: doyonkim <[email protected]>
* [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 <[email protected]> * [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 <[email protected]> * [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 <[email protected]> * [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 <[email protected]> * [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 <[email protected]>
📌 관련 이슈
✨ PR 세부 내용
자가진단표 생성
자가진단표 조회
특정 사용자의 모든 자가진단표 조회
자가진단표 삭제
특정 자가진단표의 증상 목록 조회
자가진단표 수정
자가진단표에 증상 추가
증상 목록 조회
& 유저 api 수정(피드백 반영)
💬 리뷰 요청 사항