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

56 lines
1.1 KiB
Java

package org.mercury_im.messenger.xmpp.model;
import org.jxmpp.jid.EntityBareJid;
import org.mercury_im.messenger.xmpp.converter.EntityBareJidConverter;
import java.util.Date;
import io.requery.Column;
import io.requery.Convert;
import io.requery.Entity;
import io.requery.ForeignKey;
import io.requery.Generated;
import io.requery.Key;
import io.requery.ManyToOne;
import io.requery.Persistable;
import io.requery.Table;
@Entity
@Table(name = "messages")
public abstract class AbstractMessageModel implements Persistable {
@Key @Generated
long id;
@ForeignKey(referencedColumn = "id")
@ManyToOne
ChatModel chat;
String body;
@Column(name = "\"timestamp\"", nullable = false)
Date timestamp;
@Convert(EntityBareJidConverter.class)
@Column(nullable = false)
EntityBareJid sender;
@Convert(EntityBareJidConverter.class)
@Column(nullable = false)
EntityBareJid recipient;
boolean incoming;
String thread;
@Column(nullable = false)
String legacyId;
String originId;
String stanzaId;
@Convert(EntityBareJidConverter.class)
EntityBareJid stanzaIdBy;
}