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}