/*
* Copyright (C) 2008-2024, Juick
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
package com.juick.data.entities;
import jakarta.persistence.*;
import java.time.OffsetDateTime;
import java.util.HashSet;
import java.util.Set;
@Entity
@Table(name = "users")
public class UserEntity {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "nick")
private String name;
@Column(name = "passw")
private String password;
@Column(name = "banned")
private boolean banned;
@Column(name = "last_seen")
private OffsetDateTime seen;
@Column
private boolean premium;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "user")
private Set emails = new HashSet<>();
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "user")
private Set facebookIds = new HashSet<>();
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "user")
private Set vkIds = new HashSet<>();
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "user")
private Set logins = new HashSet<>();
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "user")
private Set tgIds = new HashSet<>();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getId() {
return id;
}
public void setId(Integer uid) {
this.id = uid;
}
public boolean isBanned() {
return banned;
}
public void setBanned(boolean banned) {
this.banned = banned;
}
public OffsetDateTime getSeen() {
return this.seen;
}
public void setSeen(OffsetDateTime seen) {
this.seen = seen;
}
public Set getEmails() {
return emails;
}
public void setEmails(Set emails) {
this.emails = emails;
}
public Set getFacebookIds() {
return facebookIds;
}
public void setFacebookIds(Set facebookIds) {
this.facebookIds = facebookIds;
}
public Set getVkIds() {
return vkIds;
}
public void setVkIds(Set vkIds) {
this.vkIds = vkIds;
}
public Set getLogins() {
return logins;
}
public void setLogins(Set logins) {
this.logins = logins;
}
public Set getTgIds() {
return tgIds;
}
public void setTgIds(Set tgIds) {
this.tgIds = tgIds;
}
public boolean isPremium() {
return premium;
}
public void setPremium(boolean premium) {
this.premium = premium;
}
}