FreelanceBot
65 строк · 1.5 Кб
1package telegramBot.entity;
2
3
4import lombok.Getter;
5import lombok.NoArgsConstructor;
6import lombok.Setter;
7import jakarta.persistence.*;
8import telegramBot.enums.Role;
9
10import java.util.ArrayList;
11import java.util.List;
12
13@Entity
14@Table(name = "Users")
15@NoArgsConstructor
16public class User extends BaseEntity {
17
18@Getter
19@Setter
20@Column(name = "chat_id")
21private String chatId;
22
23@Getter
24@Setter
25@Column(name = "active")
26private boolean active;
27
28@Getter
29@Setter
30@Column(name = "user_role")
31@Enumerated(EnumType.STRING)
32private Role role;
33
34public User(String chatId, Role role) {
35this.chatId = chatId;
36this.role = role;
37this.active = true;
38}
39
40
41@ManyToMany
42@JoinTable(name = "Users_subscriptions",
43joinColumns = @JoinColumn(name = "user_id"),
44inverseJoinColumns = {@JoinColumn(name = "subscription_id")})
45private List<Subscription> subscriptions;
46
47public void addSubscription(Subscription subscription){
48if(this.subscriptions == null) this.subscriptions = new ArrayList<>();
49this.subscriptions.add(subscription);
50}
51
52public void removeSubscription(Subscription subscription){
53if(this.subscriptions != null) {
54this.subscriptions.remove(subscription);
55}
56
57}
58public List<Subscription> getSubscriptions() {
59if(this.subscriptions == null) this.subscriptions = new ArrayList<>();
60return this.subscriptions;
61}
62
63
64
65}
66