Skip to content

Commit 54a0026

Browse files
authored
✨ [Feat] 취향 데이터 초기화 API 구현 (#94)
2 parents 6202801 + 09be12b commit 54a0026

File tree

5 files changed

+42
-4
lines changed

5 files changed

+42
-4
lines changed

src/main/java/org/withtime/be/withtimebe/domain/date/preference/controller/DatePreferenceController.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.withtime.be.withtimebe.domain.date.preference.dto.DatePreferenceResponseDTO;
1313
import org.withtime.be.withtimebe.domain.date.preference.entity.enums.PreferenceType;
1414
import org.withtime.be.withtimebe.domain.date.preference.service.command.DatePreferenceTestCommandService;
15+
import org.withtime.be.withtimebe.domain.date.preference.service.command.DatePreferenceTestResultCommandService;
1516
import org.withtime.be.withtimebe.domain.date.preference.service.query.DatePreferenceDescriptionQueryService;
1617
import org.withtime.be.withtimebe.domain.date.preference.service.query.DatePreferenceQuestionQueryService;
1718
import org.withtime.be.withtimebe.domain.date.preference.service.query.DatePreferenceTypeRelationQueryService;
@@ -25,6 +26,7 @@
2526
public class DatePreferenceController {
2627

2728
private final DatePreferenceTestCommandService datePreferenceTestCommandService;
29+
private final DatePreferenceTestResultCommandService datePreferenceTestResultCommandService;
2830
private final DatePreferenceTypeRelationQueryService datePreferenceTypeRelationQueryService;
2931
private final DatePreferenceDescriptionQueryService datePreferenceDescriptionQueryService;
3032
private final DatePreferenceQuestionQueryService datePreferenceQuestionQueryService;
@@ -76,4 +78,11 @@ public DefaultResponse<DatePreferenceResponseDTO.FindRelationType> findRelationT
7678
return DefaultResponse.ok(datePreferenceTypeRelationQueryService.findTypeRelations(type));
7779
}
7880

81+
@Operation(summary = "유형 데이터 초기화 API by 요시", description = "로그인된 사용자의 취향 데이터를 초기화하는 API")
82+
@DeleteMapping
83+
public DefaultResponse<Void> resetDatePreferenceData(@AuthenticatedMember Member member) {
84+
datePreferenceTestResultCommandService.resetDatePreferenceData(member);
85+
return DefaultResponse.noContent();
86+
}
87+
7988
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package org.withtime.be.withtimebe.domain.date.preference.repository;
22

33
import org.withtime.be.withtimebe.domain.date.preference.entity.DatePreferenceTestResult;
4+
import org.withtime.be.withtimebe.domain.member.entity.Member;
45

56
public interface DatePreferenceTestResultRepository {
67
DatePreferenceTestResult save(DatePreferenceTestResult datePreferenceTestResult);
8+
void deleteAllByMember(Member member);
79
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.withtime.be.withtimebe.domain.date.preference.service.command;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import org.springframework.stereotype.Service;
5+
import org.springframework.transaction.annotation.Transactional;
6+
import org.withtime.be.withtimebe.domain.date.preference.repository.DatePreferenceTestResultRepository;
7+
import org.withtime.be.withtimebe.domain.member.entity.Member;
8+
9+
@Service
10+
@Transactional
11+
@RequiredArgsConstructor
12+
public class DatePreferenceTestResultCommandImpl implements DatePreferenceTestResultCommandService {
13+
14+
private final DatePreferenceTestResultRepository datePreferenceTestResultRepository;
15+
16+
@Override
17+
public void resetDatePreferenceData(Member member) {
18+
datePreferenceTestResultRepository.deleteAllByMember(member);
19+
}
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.withtime.be.withtimebe.domain.date.preference.service.command;
2+
3+
import org.withtime.be.withtimebe.domain.member.entity.Member;
4+
5+
public interface DatePreferenceTestResultCommandService {
6+
void resetDatePreferenceData(Member member);
7+
}

src/main/java/org/withtime/be/withtimebe/domain/member/controller/MemberController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class MemberController {
2525
private final MemberCommandService memberCommandService;
2626
private final MemberQueryService memberQueryService;
2727

28-
@Operation(summary = "비밀번호 변경 API", description = "현재 비밀번호가 맞으면 새로운 비밀번호로 변경")
28+
@Operation(summary = "비밀번호 변경 API by 요시", description = "현재 비밀번호가 맞으면 새로운 비밀번호로 변경")
2929
@ApiResponses({
3030
@ApiResponse(responseCode = "204", description = "비밀번호 변경 성공"),
3131
@ApiResponse(
@@ -58,7 +58,7 @@ public DefaultResponse<Void> changePassword(@AuthenticatedMember Member member,
5858
return DefaultResponse.noContent();
5959
}
6060

61-
@Operation(summary = "사용자 정보 변경 API", description = "사용자 정보 변경, 사용자를 쿠키로 인식하여 정보를 변경")
61+
@Operation(summary = "사용자 정보 변경 API by 요시", description = "사용자 정보 변경, 사용자를 쿠키로 인식하여 정보를 변경")
6262
@ApiResponses({
6363
@ApiResponse(responseCode = "200", description = "정보 변경 성공"),
6464
@ApiResponse(
@@ -76,15 +76,15 @@ public DefaultResponse<MemberResponseDTO.ChangeInfo> changeInfo(@AuthenticatedMe
7676
return DefaultResponse.ok(MemberConverter.toChangeInfo(updatedMember));
7777
}
7878

79-
@Operation(summary = "회원 탈퇴하기 API", description = "로그인된 토큰을 이용하여 회원 탈퇴하는 API")
79+
@Operation(summary = "회원 탈퇴하기 API by 요시", description = "로그인된 토큰을 이용하여 회원 탈퇴하는 API")
8080
@ApiResponse(responseCode = "204", description = "회원 탈퇴 성공 (soft delete)")
8181
@DeleteMapping
8282
public DefaultResponse<Void> deleteMember(@AuthenticatedMember Member member) {
8383
memberCommandService.deleteMember(member.getId());
8484
return DefaultResponse.noContent();
8585
}
8686

87-
@Operation(summary = "사용자 정보 가져오는 API", description = "로그인된 사용자 정보 가져오는 API")
87+
@Operation(summary = "사용자 정보 가져오는 API by 요시", description = "로그인된 사용자 정보 가져오는 API")
8888
@ApiResponse(responseCode = "200", description = "사용자 정보를 가져왔습니다.")
8989
@GetMapping("/infos")
9090
public DefaultResponse<MemberResponseDTO.MemberInfo> getMemberInfo(@AuthenticatedMember Member member) {

0 commit comments

Comments
 (0)