chore(updater): incorporate FetchServers method in Provider interface

- Each provider interface can now fetch updated servers data
- Rename each provider updater subpackage name to `updater`
- Updater constructor does not take a settings struct
- Updater update method takes in a slice of provider strings
This commit is contained in:
Quentin McGaw
2022-06-09 23:47:12 +00:00
parent 11b55abff3
commit ebd94723c1
148 changed files with 374 additions and 281 deletions

View File

@@ -0,0 +1,26 @@
package utils
import (
"context"
"errors"
"fmt"
"github.com/qdm12/gluetun/internal/models"
)
type NoFetcher struct {
providerName string
}
func NewNoFetcher(providerName string) *NoFetcher {
return &NoFetcher{
providerName: providerName,
}
}
var ErrFetcherNotSupported = errors.New("fetching of servers is not supported")
func (n *NoFetcher) FetchServers(ctx context.Context, minServers int) (
servers []models.Server, err error) {
return nil, fmt.Errorf("%w: for %s", ErrFetcherNotSupported, n.providerName)
}