settings.go

 1package settings
 2
 3import (
 4	"context"
 5
 6	"github.com/charmbracelet/soft-serve/server/access"
 7)
 8
 9// Settings is an interface that manage server settings.
10type Settings interface {
11	// AnonAccess returns the access level for anonymous users.
12	AnonAccess(ctx context.Context) access.AccessLevel
13	// SetAnonAccess sets the access level for anonymous users.
14	SetAnonAccess(ctx context.Context, level access.AccessLevel) error
15	// AllowKeyless returns true if keyless access is allowed.
16	AllowKeyless(ctx context.Context) bool
17	// SetAllowKeyless sets whether or not keyless access is allowed.
18	SetAllowKeyless(ctx context.Context, allow bool) error
19}