route/internal/database/storage.go

31 lines
1.0 KiB
Go
Raw Normal View History

package database
import (
"golang.org/x/net/context"
)
// Storage is the parent interface for the database backends of route.
type Storage interface {
// routes
GetRoute(ctx context.Context, id string) (Route, error)
2017-12-03 02:16:37 +00:00
GetRouteHost(ctx context.Context, host string) (Route, error)
2017-04-29 02:51:49 +00:00
GetAllRoutes(ctx context.Context, user string) ([]Route, error)
PutRoute(ctx context.Context, domain, kind string) (Route, error)
DeleteRoute(ctx context.Context, id string) error
// tokens
GetToken(ctx context.Context, token string) (Token, error)
2017-04-29 02:47:24 +00:00
GetTokenID(ctx context.Context, id string) (Token, error)
GetTokensForOwner(ctx context.Context, owner string) ([]Token, error)
PutToken(ctx context.Context, token, owner string, scopes []string) (Token, error)
DeleteToken(ctx context.Context, id string) error
DeactivateToken(ctx context.Context, id string) error
// certificates
GetCert(ctx context.Context, key string) ([]byte, error)
PutCert(ctx context.Context, key string, data []byte) error
DeleteCert(ctx context.Context, key string) error
2017-04-29 04:18:19 +00:00
Close() error
}