FreelanceBot

Форк
0
65 строк · 1.5 Кб
1
package telegramBot.entity;
2

3

4
import lombok.Getter;
5
import lombok.NoArgsConstructor;
6
import lombok.Setter;
7
import jakarta.persistence.*;
8
import telegramBot.enums.Role;
9

10
import java.util.ArrayList;
11
import java.util.List;
12

13
@Entity
14
@Table(name = "Users")
15
@NoArgsConstructor
16
public class User extends BaseEntity {
17

18
    @Getter
19
    @Setter
20
    @Column(name = "chat_id")
21
    private String chatId;
22

23
    @Getter
24
    @Setter
25
    @Column(name = "active")
26
    private boolean active;
27

28
    @Getter
29
    @Setter
30
    @Column(name = "user_role")
31
    @Enumerated(EnumType.STRING)
32
    private Role role;
33

34
    public User(String chatId, Role role) {
35
        this.chatId = chatId;
36
        this.role = role;
37
        this.active = true;
38
    }
39

40

41
    @ManyToMany
42
    @JoinTable(name = "Users_subscriptions",
43
            joinColumns = @JoinColumn(name = "user_id"),
44
            inverseJoinColumns = {@JoinColumn(name = "subscription_id")})
45
    private List<Subscription> subscriptions;
46

47
    public void addSubscription(Subscription subscription){
48
        if(this.subscriptions == null) this.subscriptions = new ArrayList<>();
49
        this.subscriptions.add(subscription);
50
    }
51

52
    public void removeSubscription(Subscription subscription){
53
        if(this.subscriptions != null) {
54
            this.subscriptions.remove(subscription);
55
        }
56

57
    }
58
    public List<Subscription> getSubscriptions() {
59
        if(this.subscriptions == null) this.subscriptions = new ArrayList<>();
60
        return this.subscriptions;
61
    }
62

63

64

65
}
66

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.