feat(mailbox): 文件夹数据驱动,Web 通过 IMAP 共享服务层操作邮箱
- 新增 mailboxes 表与 MailboxStore(系统文件夹幂等创建,自定义文件夹 CRUD) - 提取 MailboxService:IMAP 会话与 Web handler 共用,LIST 返回什么 Web 就显示什么 - IMAP 支持 CREATE/DELETE/RENAME/SUBSCRIBE(系统文件夹禁删改、非空禁删) - Web 删除改为 IMAP 语义:移入 Trash,新增恢复/彻底删除/清空 - 新增通用 /folder/:name 页面与动态侧边栏,/inbox /sent /drafts 保留兼容重定向
This commit is contained in:
@@ -16,6 +16,7 @@ type Stores struct {
|
||||
Outbound OutboundStore
|
||||
ProtocolLogs ProtocolLogStore
|
||||
MailboxState MailboxStateStore
|
||||
Mailboxes MailboxStore
|
||||
}
|
||||
|
||||
// NewStores creates a new Stores instance with all GORM-backed implementations.
|
||||
@@ -29,6 +30,7 @@ func NewStores(database *gorm.DB) *Stores {
|
||||
Outbound: newOutboundStore(database),
|
||||
ProtocolLogs: newProtocolLogStore(database),
|
||||
MailboxState: newMailboxStateStore(database),
|
||||
Mailboxes: newMailboxStore(database),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,3 +42,4 @@ var _ = db.Attachment{}
|
||||
var _ = db.BanEntry{}
|
||||
var _ = db.ProtocolLog{}
|
||||
var _ = db.MailboxState{}
|
||||
var _ = db.Mailbox{}
|
||||
Reference in New Issue
Block a user