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.

41 lines
965 B

5 years ago
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 java.time.Instant;
  14. import lombok.Data;
  15. @Data
  16. @Entity
  17. @Table(name = "chat_messages")
  18. public class ChatMessage {
  19. @Id
  20. @GeneratedValue(strategy = GenerationType.IDENTITY)
  21. @Column(name = "m_id")
  22. private Long messageID;
  23. @ManyToOne(fetch = FetchType.LAZY)
  24. @JoinColumn(name = "from_user")
  25. private ChatUser fromUser;
  26. @ManyToOne(fetch = FetchType.LAZY)
  27. @JoinColumn(name = "to_user")
  28. private ChatUser toUser;
  29. @OneToOne(fetch = FetchType.LAZY)
  30. @JoinColumn(name = "message")
  31. private MessageCipher messageCipher;
  32. private Instant messageTime;
  33. }