|
1 | 1 | package com.tiki.server.member.entity;
|
2 | 2 |
|
| 3 | +import static com.tiki.server.mail.constants.MailConstants.MAIL_FORMAT_AC_KR; |
| 4 | +import static com.tiki.server.mail.constants.MailConstants.MAIL_FORMAT_EDU; |
| 5 | +import static com.tiki.server.member.message.ErrorCode.INVALID_EMAIL; |
| 6 | +import static com.tiki.server.member.message.ErrorCode.UNMATCHED_PASSWORD; |
3 | 7 | import static jakarta.persistence.EnumType.STRING;
|
4 | 8 | import static jakarta.persistence.GenerationType.IDENTITY;
|
5 | 9 |
|
| 10 | +import com.tiki.server.member.exception.MemberException; |
6 | 11 | import java.time.LocalDate;
|
7 | 12 |
|
8 | 13 | import com.tiki.server.common.entity.BaseTime;
|
@@ -38,17 +43,36 @@ public class Member extends BaseTime {
|
38 | 43 | @Enumerated(value = STRING)
|
39 | 44 | private University univ;
|
40 | 45 |
|
41 |
| - public static Member of(String email, String password, String name, LocalDate birth, University univ) { |
42 |
| - return Member.builder() |
| 46 | + public static Member of(String email, String password, String passwordChecker, String name, LocalDate birth, |
| 47 | + University univ) { |
| 48 | + |
| 49 | + val member = Member.builder() |
43 | 50 | .email(email)
|
44 | 51 | .password(password)
|
45 | 52 | .name(name)
|
46 | 53 | .birth(birth)
|
47 | 54 | .univ(univ)
|
48 | 55 | .build();
|
| 56 | + |
| 57 | + member.checkMailFormat(); |
| 58 | + member.checkPassword(passwordChecker); |
| 59 | + return member; |
49 | 60 | }
|
50 | 61 |
|
51 | 62 | public void resetPassword(String password) {
|
| 63 | + checkPassword(password); |
52 | 64 | this.password = password;
|
53 | 65 | }
|
| 66 | + |
| 67 | + private void checkMailFormat() { |
| 68 | + if (!(this.email.endsWith(MAIL_FORMAT_EDU) || this.email.endsWith(MAIL_FORMAT_AC_KR))) { |
| 69 | + throw new MemberException(INVALID_EMAIL); |
| 70 | + } |
| 71 | + } |
| 72 | + |
| 73 | + private void checkPassword(String passwordChecker) { |
| 74 | + if (!this.password.equals(passwordChecker)) { |
| 75 | + throw new MemberException(UNMATCHED_PASSWORD); |
| 76 | + } |
| 77 | + } |
54 | 78 | }
|
0 commit comments