Skip to content

Commit

Permalink
Refactor: Ver2 디렉토리 구조 변경
Browse files Browse the repository at this point in the history
  • Loading branch information
Youthhing committed May 18, 2024
1 parent d2efbdf commit a96410b
Showing 1 changed file with 81 additions and 0 deletions.
81 changes: 81 additions & 0 deletions src/main/java/org/cotato/csquiz/domain/auth/entity/Member.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package org.cotato.csquiz.domain.auth.entity;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.validation.constraints.Email;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.cotato.csquiz.domain.auth.enums.MemberPosition;
import org.cotato.csquiz.domain.auth.enums.MemberRole;
import org.cotato.csquiz.common.entity.BaseTimeEntity;
import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.DynamicInsert;

@Entity
@Getter
@DynamicInsert
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Member extends BaseTimeEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "member_id")
private Long id;

@Email
@Column(name = "member_email")
private String email;

@Column(name = "member_password")
private String password;

@Column(name = "member_phone")
private String phoneNumber;

@Column(name = "member_name")
private String name;

@Column(name = "member_position", nullable = false)
@Enumerated(EnumType.STRING)
@ColumnDefault(value = "'NONE'")
private MemberPosition position;

@Column(name = "member_role")
@Enumerated(EnumType.STRING)
@ColumnDefault(value = "'GENERAL'")
private MemberRole role;

@Column(name = "passed_generation_number")
private Integer passedGenerationNumber;

@Builder
public Member(String email, String password, String name, String phoneNumber) {
this.email = email;
this.password = password;
this.name = name;
this.phoneNumber = phoneNumber;
}

public void updateRole(MemberRole role) {
this.role = role;
}

public void updatePassword(String password) {
this.password = password;
}

public void updateGeneration(Integer passedGenerationNumber) {
this.passedGenerationNumber = passedGenerationNumber;
}

public void updatePosition(MemberPosition position) {
this.position = position;
}
}

0 comments on commit a96410b

Please sign in to comment.