yans/internal/backend/storage_backend.go

20 lines
621 B
Go
Raw Normal View History

2022-01-19 19:51:08 +00:00
package backend
import "github.com/ChronosX88/yans/internal/models"
const (
SupportedBackendList = "sqlite"
)
type StorageBackend interface {
ListGroups() ([]models.Group, error)
2022-01-20 21:29:58 +00:00
ListGroupsByPattern(pattern string) ([]models.Group, error)
2022-01-25 16:27:58 +00:00
GetGroup(groupName string) (models.Group, error)
2022-01-25 21:29:30 +00:00
GetNewGroupsSince(timestamp int64) ([]models.Group, error)
2022-01-19 19:51:08 +00:00
GetArticlesCount(g models.Group) (int, error)
GetGroupLowWaterMark(g models.Group) (int, error)
GetGroupHighWaterMark(g models.Group) (int, error)
2022-02-03 16:44:08 +00:00
SaveArticle(article models.Article, groups []string) error
GetArticle(messageID string) (models.Article, error)
2022-01-19 19:51:08 +00:00
}