Skip to content

Commit ae3d952

Browse files
authored
Merge pull request #297 from Team-WSS/feat/#295
[FEAT] 약관 동의 조회 API 구현
2 parents 587d651 + a016671 commit ae3d952

File tree

4 files changed

+43
-0
lines changed

4 files changed

+43
-0
lines changed

src/main/java/org/websoso/WSSServer/controller/UserController.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.websoso.WSSServer.dto.user.ProfileGetResponse;
3232
import org.websoso.WSSServer.dto.user.ProfileStatusResponse;
3333
import org.websoso.WSSServer.dto.user.RegisterUserInfoRequest;
34+
import org.websoso.WSSServer.dto.user.TermsSettingGetResponse;
3435
import org.websoso.WSSServer.dto.user.UpdateMyProfileRequest;
3536
import org.websoso.WSSServer.dto.user.UserIdAndNicknameResponse;
3637
import org.websoso.WSSServer.dto.user.UserInfoGetResponse;
@@ -239,4 +240,12 @@ public ResponseEntity<Void> registerPushSetting(Principal principal,
239240
.status(NO_CONTENT)
240241
.build();
241242
}
243+
244+
@GetMapping("/terms-settings")
245+
public ResponseEntity<TermsSettingGetResponse> getTermsSettingValue(Principal principal) {
246+
User user = userService.getUserOrException(Long.valueOf(principal.getName()));
247+
return ResponseEntity
248+
.status(OK)
249+
.body(userService.getTermsSettingValue(user));
250+
}
242251
}

src/main/java/org/websoso/WSSServer/domain/User.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,15 @@ public class User extends BaseEntity {
7777
@Column(columnDefinition = "Boolean default true", nullable = false)
7878
private Boolean isPushEnabled;
7979

80+
@Column(columnDefinition = "Boolean default false", nullable = false)
81+
private Boolean serviceAgreed;
82+
83+
@Column(columnDefinition = "Boolean default false", nullable = false)
84+
private Boolean privacyAgreed;
85+
86+
@Column(columnDefinition = "Boolean default false", nullable = false)
87+
private Boolean marketingAgreed;
88+
8089
@Enumerated(EnumType.STRING)
8190
@Column(nullable = false)
8291
@ColumnDefault("'USER'")
@@ -130,6 +139,9 @@ private User(String socialId, String nickname, String email) {
130139
this.avatarId = 1;
131140
this.isProfilePublic = true;
132141
this.isPushEnabled = true;
142+
this.serviceAgreed = false;
143+
this.privacyAgreed = false;
144+
this.marketingAgreed = false;
133145
this.role = USER;
134146
this.socialId = socialId;
135147
this.nickname = nickname;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.websoso.WSSServer.dto.user;
2+
3+
public record TermsSettingGetResponse(
4+
Boolean serviceAgreed,
5+
Boolean privacyAgreed,
6+
Boolean marketingAgreed
7+
) {
8+
public static TermsSettingGetResponse of(Boolean serviceAgreed, Boolean privacyAgreed, Boolean marketingAgreed) {
9+
return new TermsSettingGetResponse(
10+
serviceAgreed,
11+
privacyAgreed,
12+
marketingAgreed
13+
);
14+
}
15+
}

src/main/java/org/websoso/WSSServer/service/UserService.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.websoso.WSSServer.dto.user.ProfileGetResponse;
3737
import org.websoso.WSSServer.dto.user.ProfileStatusResponse;
3838
import org.websoso.WSSServer.dto.user.RegisterUserInfoRequest;
39+
import org.websoso.WSSServer.dto.user.TermsSettingGetResponse;
3940
import org.websoso.WSSServer.dto.user.UpdateMyProfileRequest;
4041
import org.websoso.WSSServer.dto.user.UserIdAndNicknameResponse;
4142
import org.websoso.WSSServer.dto.user.UserInfoGetResponse;
@@ -277,4 +278,10 @@ public void registerPushSetting(User user, Boolean isPushEnabled) {
277278
public PushSettingGetResponse getPushSettingValue(User user) {
278279
return PushSettingGetResponse.of(user.getIsPushEnabled());
279280
}
281+
282+
@Transactional(readOnly = true)
283+
public TermsSettingGetResponse getTermsSettingValue(User user) {
284+
return TermsSettingGetResponse.of(user.getServiceAgreed(), user.getPrivacyAgreed(),
285+
user.getMarketingAgreed());
286+
}
280287
}

0 commit comments

Comments
 (0)