route/cmd/routed/storage.go

35 lines
635 B
Go

package main
import (
"context"
"git.xeserv.us/xena/route/internal/database"
"git.xeserv.us/xena/route/internal/tun2"
)
type storageWrapper struct {
database.Storage
}
var (
_ tun2.Storage = &storageWrapper{}
)
func (s *storageWrapper) HasToken(token string) (string, []string, error) {
t, err := s.Storage.Tokens().Get(context.Background(), token)
if err != nil {
return "", nil, err
}
return t.Owner, t.Scopes, nil
}
func (s *storageWrapper) HasRoute(domain string) (string, error) {
r, err := s.Storage.Routes().GetHost(context.Background(), domain)
if err != nil {
return "", err
}
return r.Creator, nil
}