Изменение домена с rosetta-im.com на rosetta.im

This commit is contained in:
RoyceDa
2026-02-12 14:20:29 +02:00
parent e229b2d61f
commit fe5bf2bd04
114 changed files with 435 additions and 435 deletions

View File

@@ -0,0 +1,85 @@
package im.rosetta.database.entity;
import im.rosetta.database.CreateUpdateEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* Сущность для буфера сообщений, которые не были доставлены получателю, например,
* из-за того, что он был оффлайн, а так же для синхронизации сообщений
* между устройствами одного пользователя.
* Сообщения в буфере хранятся в виде сериализованных пакетов.
* Когда получатель становится онлайн, сервер пытается доставить ему все сообщения из буфера.
*/
@Entity
@Table(name = "packet_buffer")
public class Buffer extends CreateUpdateEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "source")
private String from;
@Column(name = "destination")
private String to;
@Column(name = "packetId")
private int packetId;
@Column(name = "packet", columnDefinition = "bytea")
private byte[] packet;
@Column(name = "timestamp")
private Long timestamp;
public Long getId() {
return id;
}
public String getFrom() {
return from;
}
public String getTo() {
return to;
}
public byte[] getPacket() {
return packet;
}
public Long getTimestamp() {
return timestamp;
}
public void setFrom(String from) {
this.from = from;
}
public void setTo(String to) {
this.to = to;
}
public void setPacket(byte[] packet) {
this.packet = packet;
}
public void setTimestamp(Long timestamp) {
this.timestamp = timestamp;
}
public int getPacketId() {
return packetId;
}
public void setPacketId(int packetId) {
this.packetId = packetId;
}
}

View File

@@ -0,0 +1,82 @@
package im.rosetta.database.entity;
import im.rosetta.database.CreateUpdateEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Index;
import jakarta.persistence.Table;
@Entity
@Table(name = "devices", indexes = {
@Index(name = "idx_public_key", columnList = "publicKey, deviceId", unique = true)
})
public class Device extends CreateUpdateEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "publicKey", nullable = false)
private String publicKey;
@Column(name = "deviceId", nullable = false)
private String deviceId;
@Column(name = "deviceName", nullable = false)
private String deviceName;
@Column(name = "deviceOs", nullable = false)
private String deviceOs;
/**
* Время завершения сессии устройства
*/
@Column(name = "leaveTime", nullable = true, columnDefinition = "bigint default 0")
private Long leaveTime;
public Long getId() {
return id;
}
public String getPublicKey() {
return publicKey;
}
public String getDeviceId() {
return deviceId;
}
public String getDeviceName() {
return deviceName;
}
public String getDeviceOs() {
return deviceOs;
}
public Long getLeaveTime() {
return leaveTime;
}
public void setLeaveTime(Long leaveTime) {
this.leaveTime = leaveTime;
}
public void setPublicKey(String publicKey) {
this.publicKey = publicKey;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public void setDeviceOs(String deviceOs) {
this.deviceOs = deviceOs;
}
}

View File

@@ -0,0 +1,67 @@
package im.rosetta.database.entity;
import java.util.ArrayList;
import java.util.List;
import im.rosetta.database.CreateUpdateEntity;
import im.rosetta.database.converters.StringListConverter;
import jakarta.persistence.Column;
import jakarta.persistence.Convert;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* Сущность для групповых чатов.
*/
@Entity
@Table(name = "groups")
public class Group extends CreateUpdateEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "groupId")
private String groupId;
@Convert(converter = StringListConverter.class)
@Column(name = "membersPublicKeys", nullable = false)
private List<String> membersPublicKeys = new ArrayList<>();
@Convert(converter = StringListConverter.class)
@Column(name = "bannedPublicKeys", nullable = false)
private List<String> bannedPublicKeys = new ArrayList<>();
public Long getId() {
return id;
}
public String getGroupId() {
return groupId;
}
public void setGroupId(String groupId) {
this.groupId = groupId;
}
public List<String> getMembersPublicKeys() {
return membersPublicKeys;
}
public void setMembersPublicKeys(List<String> membersPublicKeys) {
this.membersPublicKeys = membersPublicKeys;
}
public List<String> getBannedPublicKeys() {
return bannedPublicKeys;
}
public void setBannedPublicKeys(List<String> bannedPublicKeys) {
this.bannedPublicKeys = bannedPublicKeys;
}
}

View File

@@ -0,0 +1,100 @@
package im.rosetta.database.entity;
import im.rosetta.database.CreateUpdateEntity;
import im.rosetta.database.converters.StringListConverter;
import jakarta.persistence.Column;
import jakarta.persistence.Convert;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Index;
import jakarta.persistence.Table;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "users", indexes = {
@Index(name = "idx_users_publickey", columnList = "publicKey", unique = true)
})
public class User extends CreateUpdateEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "username")
private String username;
@Column(name = "title")
private String title;
@Column(name = "verified", nullable = false)
private int verified;
@Column(name = "privateKey", nullable = false)
private String privateKey;
@Column(name = "publicKey", nullable = false, unique = true)
private String publicKey;
@Convert(converter = StringListConverter.class)
@Column(name = "notificationsTokens", nullable = false)
private List<String> notificationsTokens = new ArrayList<>();
public Long getId() {
return id;
}
public String getPrivateKey() {
return privateKey;
}
public void setPrivateKey(String privateKey) {
this.privateKey = privateKey;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getPublicKey() {
return publicKey;
}
public void setPublicKey(String publicKey) {
this.publicKey = publicKey;
}
public int getVerified() {
return verified;
}
public void setVerified(int verified) {
this.verified = verified;
}
public List<String> getNotificationsTokens() {
return notificationsTokens;
}
public void setNotificationsTokens(List<String> notificationsTokens) {
this.notificationsTokens = notificationsTokens;
}
}