A self hosted chat application with end-to-end encrypted messaging.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.4 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
4 years ago
5 years ago
5 years ago
  1. package org.ros.chatto.model;
  2. import java.time.Instant;
  3. import java.util.Set;
  4. import javax.persistence.CascadeType;
  5. import javax.persistence.Column;
  6. import javax.persistence.Entity;
  7. import javax.persistence.EntityListeners;
  8. import javax.persistence.GeneratedValue;
  9. import javax.persistence.GenerationType;
  10. import javax.persistence.Id;
  11. import javax.persistence.OneToMany;
  12. import javax.persistence.Table;
  13. import com.fasterxml.jackson.annotation.JsonBackReference;
  14. import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  15. import org.springframework.data.jpa.domain.support.AuditingEntityListener;
  16. import lombok.AllArgsConstructor;
  17. import lombok.Data;
  18. import lombok.EqualsAndHashCode;
  19. import lombok.NoArgsConstructor;
  20. import lombok.ToString;
  21. @Entity
  22. @Table(name = "users")
  23. @EntityListeners(AuditingEntityListener.class)
  24. @JsonIgnoreProperties(value = { "password" }, allowGetters = false)
  25. @Data
  26. @AllArgsConstructor
  27. @NoArgsConstructor
  28. public class ChatUser {
  29. @Id
  30. @GeneratedValue(strategy = GenerationType.IDENTITY)
  31. @Column(name = "user_id")
  32. private int userID;
  33. @Column(name = "name")
  34. private String userName;
  35. private String password;
  36. private Instant joinDate;
  37. @ToString.Exclude
  38. @EqualsAndHashCode.Exclude
  39. @OneToMany(mappedBy = "user", cascade = { CascadeType.PERSIST,
  40. CascadeType.MERGE, CascadeType.DETACH, CascadeType.REFRESH })
  41. @JsonBackReference
  42. private Set<UserRole> userRoles;
  43. }