Mercury-IM/data/src/main/java/org/mercury_im/messenger/data/model/AbstractMessageModel.java

60 lines
1.2 KiB
Java
Raw Normal View History

2019-11-18 23:51:27 +01:00
package org.mercury_im.messenger.data.model;
2019-12-21 05:34:19 +01:00
import org.mercury_im.messenger.data.converter.MessageDirectionConverter;
import org.mercury_im.messenger.entity.message.MessageDirection;
2020-06-24 22:50:26 +02:00
import org.pgpainless.key.OpenPgpV4Fingerprint;
2019-12-21 05:34:19 +01:00
import java.util.Date;
2019-12-21 16:30:14 +01:00
import java.util.UUID;
import io.requery.Column;
2019-12-21 05:34:19 +01:00
import io.requery.Convert;
import io.requery.Entity;
import io.requery.Key;
import io.requery.Persistable;
import io.requery.Table;
2019-12-21 16:30:14 +01:00
import io.requery.converter.UUIDConverter;
@Entity
@Table(name = "messages")
public abstract class AbstractMessageModel implements Persistable {
2019-12-21 16:30:14 +01:00
@Key
2020-06-13 19:14:38 +02:00
@Convert(UUIDConverter.class)
2019-12-21 16:30:14 +01:00
UUID id;
2020-06-24 22:50:26 +02:00
@Column(nullable = false)
UUID chatId;
@Column(nullable = false)
String sender;
@Column(nullable = false)
String recipient;
2019-12-01 23:13:25 +01:00
@Column(name = "\"timestamp\"", nullable = false)
Date timestamp;
2019-12-21 05:34:19 +01:00
@Column(nullable = false)
@Convert(MessageDirectionConverter.class)
MessageDirection direction;
@Column(length = 65536)
String body;
2019-12-08 22:49:42 +01:00
@Column
String legacyId;
2020-06-24 22:50:26 +02:00
@Column(unique = true)
String originId;
2019-12-08 22:49:42 +01:00
@Column
String stanzaId;
2019-12-08 22:49:42 +01:00
@Column
String stanzaIdBy;
2020-06-24 22:50:26 +02:00
@Column
OpenPgpV4Fingerprint senderOXFingerprint;
}