mirror of
https://git.ptzo.gdn/feditools/relay.git
synced 2024-09-21 17:17:11 +00:00
39 lines
2.4 KiB
Go
39 lines
2.4 KiB
Go
package db
|
|
|
|
import (
|
|
"context"
|
|
"github.com/feditools/relay/internal/models"
|
|
"time"
|
|
)
|
|
|
|
type Instance interface {
|
|
// CountInstances returns the number of federated instance
|
|
CountInstances(ctx context.Context) (count int64, err Error)
|
|
// CreateInstance stores the federated instance
|
|
CreateInstance(ctx context.Context, instance *models.Instance) (err Error)
|
|
// ReadInstance returns one federated social instance
|
|
ReadInstance(ctx context.Context, id int64) (instance *models.Instance, err Error)
|
|
// ReadInstanceByActorIRI returns one federated social instance
|
|
ReadInstanceByActorIRI(ctx context.Context, actorIRI string) (instance *models.Instance, err Error)
|
|
// ReadInstanceByDomain returns one federated social instance
|
|
ReadInstanceByDomain(ctx context.Context, domain string) (instance *models.Instance, err Error)
|
|
// ReadInstanceByServerHostname returns one federated social instance
|
|
ReadInstanceByServerHostname(ctx context.Context, serverHostname string) (instance *models.Instance, err Error)
|
|
// ReadInstances returns a set of requested of federated social instances
|
|
ReadInstances(ctx context.Context, ids ...int64) (instances []*models.Instance, err Error)
|
|
// ReadInstancesPage returns a page of federated social instances
|
|
ReadInstancesPage(ctx context.Context, index, count int) (instances []*models.Instance, err Error)
|
|
// ReadInstancesWithBlockID returns all instances with block id
|
|
ReadInstancesWithBlockID(ctx context.Context, blockID int64) (instances []*models.Instance, err Error)
|
|
// ReadInstancesWithDomainSuffix returns all instances with domain suffix
|
|
ReadInstancesWithDomainSuffix(ctx context.Context, domainSuffix string) (instances []*models.Instance, err Error)
|
|
// ReadInstancesWithStaleInfo returns all instances where last info update is null or before date.
|
|
ReadInstancesWithStaleInfo(ctx context.Context, before time.Time) (instances []*models.Instance, err Error)
|
|
// ReadInstancesWhereFollowing returns all federated social instances which are following this relay
|
|
ReadInstancesWhereFollowing(ctx context.Context) (instances []*models.Instance, err Error)
|
|
// UpdateInstance updates the stored federated instance
|
|
UpdateInstance(ctx context.Context, instance *models.Instance) (err Error)
|
|
// UpdateInstanceTX updates the stored federated instance in a transaction.
|
|
UpdateInstanceTX(ctx context.Context, txID TxID, instance *models.Instance) (err Error)
|
|
}
|