49 lines
992 B
Java
49 lines
992 B
Java
package ru.cathub.telegabot.model;
|
|
|
|
import jakarta.persistence.*;
|
|
import lombok.*;
|
|
import org.hibernate.annotations.CreationTimestamp;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
|
|
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Entity
|
|
public class BotUser {
|
|
|
|
public enum UserType {
|
|
USER, ADMIN }
|
|
|
|
public enum WorkingMode {
|
|
BOOK,TORRENT,AI,NO_MODE
|
|
}
|
|
|
|
@Id
|
|
private Long id;
|
|
|
|
private Long chatId;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Builder.Default
|
|
private UserType userType = UserType.USER;
|
|
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Builder.Default
|
|
private WorkingMode workingMode = WorkingMode.NO_MODE;
|
|
|
|
@CreationTimestamp
|
|
private LocalDateTime createdDateTime;
|
|
|
|
@OneToMany(mappedBy = "botUser", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
|
private List<BotMessage> botMessages;
|
|
|
|
@OneToMany(mappedBy = "botUser", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
|
private List<Book> books;
|
|
|
|
}
|