54 lines
1.2 KiB
Java

package com.indexzero.finals.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.List;
import java.util.Set;
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Employee implements UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private long id;
@Column(name = "login", nullable = false, unique = true)
private String login;
@Column(name = "password", nullable = false)
private String password;
@Column(name = "name", nullable = false)
private String name;
@Column(name = "position", nullable = false)
private String position;
@Column(name = "photo_url", nullable = false)
private String photoUrl;
@Column(name = "is_enabled", nullable = false)
Boolean isQREnabled;
@ManyToMany(fetch = FetchType.EAGER)
Set<Authority> authorities;
@OneToMany(mappedBy = "employee", cascade = CascadeType.ALL)
List<Entrance> entrances;
@Override
public String getUsername() {
return this.login;
}
}