#8: implement ManageSieve protocol server (RFC 5804)

This commit is contained in:
Lucas Rayan committed 2026-07-25 04:20:21 -03:00
1 parent 5a7dcc002a
commit 0e6fc27bc1
13 files changed
+1634

No files matched your search

@@ -0,0 +1,22 @@
package port
import "context"
// SieveScriptRecord represents a persistent Sieve script row in PostgreSQL.
type SieveScriptRecord struct {
ID string
MailboxID string
Name string
Script string
IsActive bool
}
// SieveRepository defines data operations for Sieve script management.
type SieveRepository interface {
GetScript(ctx context.Context, mailboxID string, name string) (*SieveScriptRecord, error)
PutScript(ctx context.Context, mailboxID string, name string, script string) error
ListScripts(ctx context.Context, mailboxID string) ([]SieveScriptRecord, error)
SetActiveScript(ctx context.Context, mailboxID string, name string) error
DeleteScript(ctx context.Context, mailboxID string, name string) error
RenameScript(ctx context.Context, mailboxID string, oldName string, newName string) error
}