54 lines
1.2 KiB
Java
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;
|
|
}
|
|
|
|
}
|