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.

43 lines
1.0 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. package org.ros.chatto.model;
  2. import java.util.Date;
  3. import javax.persistence.Column;
  4. import javax.persistence.Entity;
  5. import javax.persistence.FetchType;
  6. import javax.persistence.GeneratedValue;
  7. import javax.persistence.GenerationType;
  8. import javax.persistence.Id;
  9. import javax.persistence.JoinColumn;
  10. import javax.persistence.ManyToOne;
  11. import javax.persistence.OneToOne;
  12. import javax.persistence.Table;
  13. import javax.persistence.Temporal;
  14. import javax.persistence.TemporalType;
  15. import lombok.Data;
  16. @Data
  17. @Entity
  18. @Table(name = "chat_messages")
  19. public class ChatMessage {
  20. @Id
  21. @GeneratedValue(strategy = GenerationType.IDENTITY)
  22. @Column(name = "m_id")
  23. private Long messageID;
  24. @ManyToOne(fetch = FetchType.LAZY)
  25. @JoinColumn(name = "from_user")
  26. private ChatUser fromUser;
  27. @ManyToOne(fetch = FetchType.LAZY)
  28. @JoinColumn(name = "to_user")
  29. private ChatUser toUser;
  30. @OneToOne(fetch = FetchType.LAZY)
  31. @JoinColumn(name = "message")
  32. private MessageCipher messageCipher;
  33. @Temporal(TemporalType.TIMESTAMP)
  34. private Date messageTime;
  35. }