MetaTube / route /auth /token.go
henry99a's picture
Clean commit for Hugging Face Spaces without binary files
ca7217f
package auth
var (
_ Validator = (*Token)(nil)
_ Validator = (*TokenStore)(nil)
)
type Token string
func (token Token) Valid(t string) bool {
return string(token) == t
}
type TokenStore map[string]struct{}
func NewTokenStore(tokens ...string) TokenStore {
store := make(TokenStore)
store.Add(tokens...)
return store
}
func (store TokenStore) Add(tokens ...string) {
for _, token := range tokens {
store[token] = struct{}{}
}
}
func (store TokenStore) Del(token string) {
delete(store, token)
}
func (store TokenStore) Valid(token string) (ok bool) {
_, ok = store[token]
return
}