Files
reactive-mail-server/backend/src/main/java/com/mailserver/domain/Message.java
T
Liosha84 29b1beabe0 Почтовый кабинет: регистрация, папки, черновики, вложения, грид @jambotron/aria-grid, интерфейс по synthwave-шаблону
Бэкенд: регистрация со входом сразу и /api/config, профиль и смена пароля, свои папки, PATCH письма
(прочитано, флажок, перенос; Спам ставит отметку), корзина и очистка, черновики, несколько адресатов и копия,
вложения черновика уходят с письмом, вложения и заголовки To/Cc входящих сохраняются, письма заблокированных —
в Спам. Исправлено: загрузка файла (415), колонка content_id (500 на любых вложениях), SPA-маршрут с точкой.
Фронтенд переписан: все таблицы — грид, оформление — шаблон synthwave-design-showcase.html.

α
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 16:41:29 +01:00

102 lines
2.9 KiB
Java

package com.mailserver.domain;
import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;
import java.time.Instant;
@Table("messages")
public class Message {
@Id
private Long id;
@Column("folder_id")
private Long folderId;
@Column("sender_email")
private String senderEmail;
@Column("sender_name")
private String senderName;
@Column("recipient_email")
private String recipientEmail;
@Column("cc_email")
private String ccEmail;
@Column("subject")
private String subject;
@Column("body")
private String body;
@Column("is_html")
private boolean isHtml = false;
@Column("is_read")
private boolean isRead = false;
@Column("is_flagged")
private boolean isFlagged = false;
@Column("is_spam")
private boolean isSpam = false;
@Column("message_size")
private Long messageSize;
@Column("received_at")
private Instant receivedAt;
@Column("message_id")
private String messageId;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public Long getFolderId() { return folderId; }
public void setFolderId(Long folderId) { this.folderId = folderId; }
public String getSenderEmail() { return senderEmail; }
public void setSenderEmail(String senderEmail) { this.senderEmail = senderEmail; }
public String getSenderName() { return senderName; }
public void setSenderName(String senderName) { this.senderName = senderName; }
public String getRecipientEmail() { return recipientEmail; }
public void setRecipientEmail(String recipientEmail) { this.recipientEmail = recipientEmail; }
public String getCcEmail() { return ccEmail; }
public void setCcEmail(String ccEmail) { this.ccEmail = ccEmail; }
public String getSubject() { return subject; }
public void setSubject(String subject) { this.subject = subject; }
public String getBody() { return body; }
public void setBody(String body) { this.body = body; }
public boolean isHtml() { return isHtml; }
public void setHtml(boolean html) { isHtml = html; }
public boolean isRead() { return isRead; }
public void setRead(boolean read) { isRead = read; }
public boolean isFlagged() { return isFlagged; }
public void setFlagged(boolean flagged) { isFlagged = flagged; }
public boolean isSpam() { return isSpam; }
public void setSpam(boolean spam) { isSpam = spam; }
public Long getMessageSize() { return messageSize; }
public void setMessageSize(Long messageSize) { this.messageSize = messageSize; }
public Instant getReceivedAt() { return receivedAt; }
public void setReceivedAt(Instant receivedAt) { this.receivedAt = receivedAt; }
public String getMessageId() { return messageId; }
public void setMessageId(String messageId) { this.messageId = messageId; }
}