Documentation
¶
Index ¶
Constants ¶
View Source
const (
// TypePostgres holder for postgres database
TypePostgres = "POSTGRES"
)
Variables ¶
This section is empty.
Functions ¶
func NewErrAlreadyExists ¶
NewErrAlreadyExists wraps a message in an ErrAlreadyExists object.
Types ¶
type Account ¶
type Account interface {
// CountAccounts returns the number of accounts
CountAccounts(ctx context.Context) (count int64, err Error)
// CountAccountsForInstance returns the number of accounts for an instance
CountAccountsForInstance(ctx context.Context, instanceID int64) (count int64, err Error)
// CreateAccount stores the account
CreateAccount(ctx context.Context, account *models.Account) (err Error)
// IncAccountLoginCount updates the login count of an account
IncAccountLoginCount(ctx context.Context, account *models.Account) (err Error)
// ReadAccount returns one account
ReadAccount(ctx context.Context, id int64) (account *models.Account, err Error)
// ReadAccountByUsername returns one account
ReadAccountByUsername(ctx context.Context, instanceID int64, username string) (account *models.Account, err Error)
// ReadAccountsByUsernameInstancesStartingWith returns accounts where usernames start with prefix.
ReadAccountsByUsernameInstancesStartingWith(ctx context.Context, prefix string, username string) (accounts []*models.Account, err Error)
// ReadAccountsByUsernamesStartingWith returns accounts where usernames start with prefix.
ReadAccountsByUsernamesStartingWith(ctx context.Context, prefix string) (accounts []*models.Account, err Error)
// ReadAccountsPage returns a page of accounts
ReadAccountsPage(ctx context.Context, index, count int) (accounts []*models.Account, err Error)
// UpdateAccount updates the account
UpdateAccount(ctx context.Context, account *models.Account) (err Error)
}
type DB ¶
type DB interface {
Account
GroupMembership
Instance
InstanceTeamMember
// Close closes the db connections
Close(ctx context.Context) Error
// DoMigration runs database migrations
DoMigration(ctx context.Context) Error
TxNew(ctx context.Context) (TxID, Error)
TxCommit(ctx context.Context, id TxID) Error
TxRollback(ctx context.Context, id TxID) Error
}
DB represents a database client
type ErrAlreadyExists ¶
type ErrAlreadyExists struct {
// contains filtered or unexported fields
}
ErrAlreadyExists is returned when a caller tries to insert a database entry that already exists in the db.
func (*ErrAlreadyExists) Error ¶
func (e *ErrAlreadyExists) Error() string
Error returns the error message as a string.
type GroupMembership ¶
type GroupMembership interface {
// CreateGroupMembershipTX stores group memberships in a transaction.
CreateGroupMembershipTX(ctx context.Context, txID TxID, groupMemberships ...*models.GroupMembership) (err Error)
// DeleteGroupMembershipTX deletes group memberships using a transaction.
DeleteGroupMembershipTX(ctx context.Context, txID TxID, groupMemberships ...*models.GroupMembership) (err Error)
}
type Instance ¶
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)
// ReadInstancesWithDomainSuffix returns all instances with domain suffix
ReadInstancesWithDomainSuffix(ctx context.Context, domainSuffix string) (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)
}
type InstanceTeamMember ¶
type InstanceTeamMember interface {
// CreateInstanceTeamMember stores the team memberships.
CreateInstanceTeamMember(ctx context.Context, instanceTeamMembers ...*models.InstanceTeamMember) (err Error)
// DeleteInstanceTeamMember deletes the team memberships.
DeleteInstanceTeamMember(ctx context.Context, instanceTeamMembers ...*models.InstanceTeamMember) (err Error)
// ReadInstanceTeamMembersForInstance returns team memberships for an instance.
ReadInstanceTeamMembersForInstance(ctx context.Context, instanceID int64) (instanceTeamMembers models.InstanceTeam, err Error)
// UpdateInstanceTeamMember updates team memberships.
UpdateInstanceTeamMember(ctx context.Context, instanceTeamMembers ...*models.InstanceTeamMember) (err Error)
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.