ntfy/server/cache.go

26 lines
691 B
Go
Raw Normal View History

2021-11-03 07:08:21 +13:00
package server
import (
2021-12-08 05:45:15 +13:00
"errors"
2021-11-03 07:08:21 +13:00
_ "github.com/mattn/go-sqlite3" // SQLite driver
2021-11-03 14:09:49 +13:00
"time"
2021-11-03 07:08:21 +13:00
)
2021-12-08 05:45:15 +13:00
var (
errUnexpectedMessageType = errors.New("unexpected message type")
)
// cache implements a cache for messages of type "message" events,
// i.e. message structs with the Event messageEvent.
2021-11-03 14:09:49 +13:00
type cache interface {
AddMessage(m *message) error
2022-02-27 09:57:10 +13:00
Messages(topic string, since sinceMarker, scheduled bool) ([]*message, error)
MessagesDue() ([]*message, error)
2021-11-03 14:09:49 +13:00
MessageCount(topic string) (int, error)
Topics() (map[string]*topic, error)
2021-12-09 16:57:31 +13:00
Prune(olderThan time.Time) error
MarkPublished(m *message) error
AttachmentsSize(owner string) (int64, error)
2022-01-08 03:15:33 +13:00
AttachmentsExpired() ([]string, error)
2021-11-03 07:08:21 +13:00
}