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.

63 lines
1.7 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
5 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
  1. package org.ros.chatto.model;
  2. import java.util.Date;
  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 javax.persistence.Temporal;
  14. import javax.persistence.TemporalType;
  15. import com.fasterxml.jackson.annotation.JsonBackReference;
  16. import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  17. import org.springframework.data.jpa.domain.support.AuditingEntityListener;
  18. import lombok.AllArgsConstructor;
  19. import lombok.Data;
  20. import lombok.EqualsAndHashCode;
  21. import lombok.NoArgsConstructor;
  22. import lombok.ToString;
  23. @Entity
  24. @Table(name = "users")
  25. @EntityListeners(AuditingEntityListener.class)
  26. @JsonIgnoreProperties(value = { "password" }, allowGetters = false)
  27. @Data
  28. @AllArgsConstructor
  29. @NoArgsConstructor
  30. public class ChatUser {
  31. @Id
  32. @GeneratedValue(strategy = GenerationType.IDENTITY)
  33. @Column(name = "user_id")
  34. private int userID;
  35. @Column(name = "name")
  36. private String userName;
  37. String password;
  38. @Temporal(TemporalType.TIMESTAMP)
  39. private Date joinDate;
  40. @ToString.Exclude
  41. @EqualsAndHashCode.Exclude
  42. @OneToMany(mappedBy = "user", cascade = { CascadeType.PERSIST,
  43. CascadeType.MERGE, CascadeType.DETACH, CascadeType.REFRESH })
  44. @JsonBackReference
  45. private Set<UserRole> userRoles;
  46. // @ToString.Exclude
  47. // @EqualsAndHashCode.Exclude
  48. // @OneToMany(mappedBy = "fromUser", cascade = { CascadeType.PERSIST,
  49. // CascadeType.MERGE, CascadeType.DETACH,
  50. // CascadeType.REFRESH })
  51. // private List<ChatMessage> chatMessages;
  52. }