Documentation
¶
Overview ¶
Package grpc provides a gRPC client that implements the database.Database interface. This allows the relay to use a remote database server via gRPC.
Index ¶
- func NewFromConfig(ctx context.Context, cancel context.CancelFunc, cfg *database.DatabaseConfig) (database.Database, error)
- type Client
- func (c *Client) AddNIP43Member(pubkey []byte, inviteCode string) error
- func (c *Client) CacheEvents(f *filter.F, events event.S)
- func (c *Client) CacheMarshaledJSON(f *filter.F, marshaledJSON [][]byte)
- func (c *Client) CheckForDeleted(ev *event.E, admins [][]byte) error
- func (c *Client) Close() error
- func (c *Client) CountEvents(ctx context.Context, f *filter.F) (count int, approximate bool, err error)
- func (c *Client) DeleteBlob(sha256Hash []byte, pubkey []byte) error
- func (c *Client) DeleteEvent(ctx context.Context, eid []byte) error
- func (c *Client) DeleteEventBySerial(ctx context.Context, ser *indextypes.Uint40, ev *event.E) error
- func (c *Client) DeleteExpired()
- func (c *Client) DeleteInviteCode(code string) error
- func (c *Client) DeleteMarker(key string) error
- func (c *Client) EventIdsBySerial(start uint64, count int) (evs []uint64, err error)
- func (c *Client) Export(ctx context.Context, w io.Writer, pubkeys ...[]byte)
- func (c *Client) ExtendBlossomSubscription(pubkey []byte, tier string, storageMB int64, daysExtended int) error
- func (c *Client) ExtendSubscription(pubkey []byte, days int) error
- func (c *Client) FetchEventBySerial(ser *indextypes.Uint40) (ev *event.E, err error)
- func (c *Client) FetchEventsBySerials(serials []*indextypes.Uint40) (events map[uint64]*event.E, err error)
- func (c *Client) GetAllNIP43Members() ([][]byte, error)
- func (c *Client) GetBlob(sha256Hash []byte) (data []byte, metadata *database.BlobMetadata, err error)
- func (c *Client) GetBlobMetadata(sha256Hash []byte) (*database.BlobMetadata, error)
- func (c *Client) GetBlossomStorageQuota(pubkey []byte) (quotaMB int64, err error)
- func (c *Client) GetCachedEvents(f *filter.F) (event.S, bool)
- func (c *Client) GetCachedJSON(f *filter.F) ([][]byte, bool)
- func (c *Client) GetEventAccessInfo(serial uint64) (lastAccess int64, accessCount uint32, err error)
- func (c *Client) GetFullIdPubkeyBySerial(ser *indextypes.Uint40) (fidpk *store.IdPkTs, err error)
- func (c *Client) GetFullIdPubkeyBySerials(sers []*indextypes.Uint40) (fidpks []*store.IdPkTs, err error)
- func (c *Client) GetLeastAccessedEvents(limit int, minAgeSec int64) (serials []uint64, err error)
- func (c *Client) GetMarker(key string) (value []byte, err error)
- func (c *Client) GetNIP43Membership(pubkey []byte) (*database.NIP43Membership, error)
- func (c *Client) GetOrCreateRelayIdentitySecret() (skb []byte, err error)
- func (c *Client) GetPaymentHistory(pubkey []byte) ([]database.Payment, error)
- func (c *Client) GetRelayIdentitySecret() (skb []byte, err error)
- func (c *Client) GetSerialById(id []byte) (ser *indextypes.Uint40, err error)
- func (c *Client) GetSerialsByIds(ids *tag.T) (serials map[string]*indextypes.Uint40, err error)
- func (c *Client) GetSerialsByIdsWithFilter(ids *tag.T, fn func(ev *event.E, ser *indextypes.Uint40) bool) (serials map[string]*indextypes.Uint40, err error)
- func (c *Client) GetSerialsByRange(idx database.Range) (serials indextypes.Uint40s, err error)
- func (c *Client) GetSerialsFromFilter(f *filter.F) (serials indextypes.Uint40s, err error)
- func (c *Client) GetSubscription(pubkey []byte) (*database.Subscription, error)
- func (c *Client) GetTotalBlobStorageUsed(pubkey []byte) (totalMB int64, err error)
- func (c *Client) HasBlob(sha256Hash []byte) (exists bool, err error)
- func (c *Client) HasMarker(key string) bool
- func (c *Client) Import(rr io.Reader)
- func (c *Client) ImportEventsFromReader(ctx context.Context, rr io.Reader) error
- func (c *Client) ImportEventsFromStrings(ctx context.Context, eventJSONs []string, policyManager interface{ ... }) error
- func (c *Client) Init(path string) error
- func (c *Client) InvalidateQueryCache()
- func (c *Client) IsFirstTimeUser(pubkey []byte) (bool, error)
- func (c *Client) IsNIP43Member(pubkey []byte) (isMember bool, err error)
- func (c *Client) IsSubscriptionActive(pubkey []byte) (bool, error)
- func (c *Client) ListAllBlobUserStats() ([]*database.UserBlobStats, error)
- func (c *Client) ListBlobs(pubkey []byte, since, until int64) ([]*database.BlobDescriptor, error)
- func (c *Client) Path() string
- func (c *Client) ProcessDelete(ev *event.E, admins [][]byte) error
- func (c *Client) PublishNIP43MembershipEvent(kind int, pubkey []byte) error
- func (c *Client) QueryAllVersions(ctx context.Context, f *filter.F) (evs event.S, err error)
- func (c *Client) QueryDeleteEventsByTargetId(ctx context.Context, targetEventId []byte) (evs event.S, err error)
- func (c *Client) QueryEvents(ctx context.Context, f *filter.F) (evs event.S, err error)
- func (c *Client) QueryEventsWithOptions(ctx context.Context, f *filter.F, includeDeleteEvents bool, ...) (evs event.S, err error)
- func (c *Client) QueryForIds(ctx context.Context, f *filter.F) (idPkTs []*store.IdPkTs, err error)
- func (c *Client) QueryForSerials(ctx context.Context, f *filter.F) (serials indextypes.Uint40s, err error)
- func (c *Client) Ready() <-chan struct{}
- func (c *Client) RecordEventAccess(serial uint64, connectionID string) error
- func (c *Client) RecordPayment(pubkey []byte, amount int64, invoice, preimage string) error
- func (c *Client) RemoveNIP43Member(pubkey []byte) error
- func (c *Client) RunMigrations()
- func (c *Client) SaveBlob(sha256Hash []byte, data []byte, pubkey []byte, mimeType string, ...) error
- func (c *Client) SaveBlobReport(sha256Hash []byte, reportData []byte) error
- func (c *Client) SaveEvent(ctx context.Context, ev *event.E) (exists bool, err error)
- func (c *Client) SetLogLevel(level string)
- func (c *Client) SetMarker(key string, value []byte) error
- func (c *Client) SetRelayIdentitySecret(skb []byte) error
- func (c *Client) StoreInviteCode(code string, expiresAt time.Time) error
- func (c *Client) Sync() error
- func (c *Client) ValidateInviteCode(code string) (valid bool, err error)
- func (c *Client) Wipe() error
- func (c *Client) WouldReplaceEvent(ev *event.E) (bool, indextypes.Uint40s, error)
- type ClientConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewFromConfig ¶
func NewFromConfig(ctx context.Context, cancel context.CancelFunc, cfg *database.DatabaseConfig) (database.Database, error)
NewFromConfig creates a new gRPC database client from the database config.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client implements the database.Database interface via gRPC.
func New ¶
func New(ctx context.Context, cfg *ClientConfig) (*Client, error)
New creates a new gRPC database client.
func (*Client) AddNIP43Member ¶
func (*Client) CacheMarshaledJSON ¶
func (*Client) CheckForDeleted ¶
func (*Client) CountEvents ¶
func (*Client) DeleteEventBySerial ¶
func (*Client) EventIdsBySerial ¶
func (*Client) Export ¶
func (*Client) ExtendBlossomSubscription ¶
func (*Client) ExtendSubscription ¶
func (*Client) FetchEventBySerial ¶
func (*Client) FetchEventsBySerials ¶
func (*Client) GetBlob ¶
func (*Client) GetBlobMetadata ¶
func (c *Client) GetBlobMetadata(sha256Hash []byte) (*database.BlobMetadata, error)
func (*Client) GetBlossomStorageQuota ¶
func (*Client) GetEventAccessInfo ¶
func (*Client) GetFullIdPubkeyBySerial ¶
func (*Client) GetFullIdPubkeyBySerials ¶
func (*Client) GetLeastAccessedEvents ¶
func (*Client) GetNIP43Membership ¶
func (c *Client) GetNIP43Membership(pubkey []byte) (*database.NIP43Membership, error)
func (*Client) GetOrCreateRelayIdentitySecret ¶
func (*Client) GetPaymentHistory ¶
func (*Client) GetRelayIdentitySecret ¶
func (*Client) GetSerialById ¶
func (c *Client) GetSerialById(id []byte) (ser *indextypes.Uint40, err error)
func (*Client) GetSerialsByIds ¶
func (*Client) GetSerialsByIdsWithFilter ¶
func (*Client) GetSerialsByRange ¶
func (*Client) GetSerialsFromFilter ¶
func (*Client) GetSubscription ¶
func (c *Client) GetSubscription(pubkey []byte) (*database.Subscription, error)
func (*Client) GetTotalBlobStorageUsed ¶
func (*Client) ImportEventsFromReader ¶
func (*Client) ImportEventsFromStrings ¶
func (*Client) IsNIP43Member ¶
func (*Client) IsSubscriptionActive ¶
func (*Client) ListAllBlobUserStats ¶
func (c *Client) ListAllBlobUserStats() ([]*database.UserBlobStats, error)
func (*Client) ListBlobs ¶
func (*Client) PublishNIP43MembershipEvent ¶
func (*Client) QueryAllVersions ¶
func (*Client) QueryDeleteEventsByTargetId ¶
func (*Client) QueryEvents ¶
func (*Client) QueryEventsWithOptions ¶
func (*Client) QueryForIds ¶
func (*Client) QueryForSerials ¶
func (*Client) RecordEventAccess ¶
func (*Client) RecordPayment ¶
func (*Client) SaveBlob ¶
func (*Client) SaveBlobReport ¶
func (*Client) SaveEvent ¶
func (*Client) StoreInviteCode ¶
func (*Client) ValidateInviteCode ¶
Source Files
¶
- client.go
- init.go
Click to show internal directories.
Click to hide internal directories.