spark-server/internal/module/inbox/logic/store.go
2026-09-18 14:50:41 +08:00

18 lines
722 B
Go

// Package logic is the Redis inbox (conversation list) contract. No MySQL on this hot path.
package logic
import (
"context"
"spark-server/internal/module/inbox/entity"
)
type Store interface {
TouchUnread(ctx context.Context, userID, conversationID int64, score int64) error
TouchRead(ctx context.Context, userID, conversationID int64, score int64) error
IncrUnread(ctx context.Context, userID, conversationID int64, delta int64) error
SetPreview(ctx context.Context, conversationID int64, preview []byte) error
ListUpdatedSince(ctx context.Context, userID, score int64, limit int) ([]entity.DialogHit, error)
LoadDialogs(ctx context.Context, userID int64, hits []entity.DialogHit) ([]entity.Dialog, error)
}