AccessAuth.java
package com.deveagles.be15_deveagles_be.features.auth.command.domain.aggregate;
import jakarta.persistence.*;
import lombok.*;
@Getter
@Entity
@Table(name = "access_auth")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
public class AccessAuth {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "auth_id", nullable = false)
private Long authId;
@Column(name = "access_id", nullable = false)
private Long accessId;
@Column(name = "staff_id", nullable = false)
private Long staffId;
@Column(name = "can_read", nullable = false)
private boolean canRead = false;
@Column(name = "can_write", nullable = false)
private boolean canWrite = false;
@Column(name = "can_delete", nullable = false)
private boolean canDelete = false;
@Column(name = "is_active", nullable = false)
private boolean isActive = false;
@Builder
public AccessAuth(
Long accessId,
Long staffId,
boolean canRead,
boolean canWrite,
boolean canDelete,
boolean isActive) {
this.accessId = accessId;
this.staffId = staffId;
this.canRead = canRead;
this.canWrite = canWrite;
this.canDelete = canDelete;
this.isActive = isActive;
}
public void setActive(boolean isActive) {
this.isActive = isActive;
}
public void updateAccess(boolean isActive, boolean canRead, boolean canWrite, boolean canDelete) {
this.isActive = isActive;
this.canRead = canRead;
this.canWrite = canWrite;
this.canDelete = canDelete;
}
}