mirror of
https://github.com/qdm12/gluetun.git
synced 2026-07-26 04:16:23 +02:00
chore(updater): move updater packages to pkg/updaters/<name>
This commit is contained in:
@@ -3,7 +3,7 @@ package storage
|
||||
import (
|
||||
"net/netip"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
"github.com/qdm12/gluetun/pkg/updaters/models"
|
||||
)
|
||||
|
||||
func copyServer(server models.Server) (serverCopy models.Server) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"net/netip"
|
||||
"testing"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
"github.com/qdm12/gluetun/pkg/updaters/models"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
||||
@@ -6,10 +6,9 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/configuration/settings"
|
||||
"github.com/qdm12/gluetun/internal/constants"
|
||||
"github.com/qdm12/gluetun/internal/constants/providers"
|
||||
"github.com/qdm12/gluetun/internal/constants/vpn"
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
"github.com/qdm12/gluetun/pkg/updaters/constants"
|
||||
"github.com/qdm12/gluetun/pkg/updaters/models"
|
||||
)
|
||||
|
||||
// FilterServers filter servers for the given provider and according
|
||||
@@ -57,7 +56,7 @@ func filterServer(server models.Server,
|
||||
return true
|
||||
}
|
||||
|
||||
if server.VPN != vpn.Wireguard &&
|
||||
if server.VPN != constants.Wireguard &&
|
||||
filterByProtocol(selection, server.TCP, server.UDP) {
|
||||
return true
|
||||
}
|
||||
@@ -157,7 +156,7 @@ func filterByProtocol(selection settings.ServerSelection,
|
||||
serverTCP, serverUDP bool,
|
||||
) (filtered bool) {
|
||||
switch selection.VPN {
|
||||
case vpn.Wireguard:
|
||||
case constants.Wireguard:
|
||||
return !serverUDP
|
||||
default: // OpenVPN
|
||||
wantTCP := selection.OpenVPN.Protocol == constants.TCP
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"path/filepath"
|
||||
"sort"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
"github.com/qdm12/gluetun/pkg/updaters/models"
|
||||
)
|
||||
|
||||
// FlushToFile flushes the merged servers data to the file
|
||||
|
||||
@@ -6,8 +6,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/qdm12/gluetun/internal/configuration/settings"
|
||||
"github.com/qdm12/gluetun/internal/constants"
|
||||
"github.com/qdm12/gluetun/internal/constants/vpn"
|
||||
"github.com/qdm12/gluetun/pkg/updaters/constants"
|
||||
)
|
||||
|
||||
func commaJoin(slice []string) string {
|
||||
@@ -147,7 +146,7 @@ func noServerFoundError(selection settings.ServerSelection) (err error) {
|
||||
}
|
||||
|
||||
targetIP := selection.OpenVPN.EndpointIP
|
||||
if selection.VPN == vpn.Wireguard {
|
||||
if selection.VPN == constants.Wireguard {
|
||||
targetIP = selection.Wireguard.EndpointIP
|
||||
}
|
||||
if targetIP.IsValid() {
|
||||
|
||||
@@ -8,13 +8,14 @@ import (
|
||||
"github.com/qdm12/gluetun/internal/constants/providers"
|
||||
"github.com/qdm12/gluetun/internal/format"
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
umodels "github.com/qdm12/gluetun/pkg/updaters/models"
|
||||
)
|
||||
|
||||
func (s *Storage) mergeServers(hardcoded, persisted models.AllServers) models.AllServers {
|
||||
allProviders := providers.All()
|
||||
merged := models.AllServers{
|
||||
Version: hardcoded.Version,
|
||||
ProviderToServers: make(map[string]models.Servers, len(allProviders)),
|
||||
ProviderToServers: make(map[string]umodels.Servers, len(allProviders)),
|
||||
}
|
||||
|
||||
for _, provider := range allProviders {
|
||||
@@ -28,8 +29,8 @@ func (s *Storage) mergeServers(hardcoded, persisted models.AllServers) models.Al
|
||||
}
|
||||
|
||||
func (s *Storage) mergeProviderServers(provider string,
|
||||
hardcoded, persisted models.Servers,
|
||||
) (merged models.Servers) {
|
||||
hardcoded, persisted umodels.Servers,
|
||||
) (merged umodels.Servers) {
|
||||
nowTimestamp := time.Now().Unix()
|
||||
if persisted.Timestamp > nowTimestamp {
|
||||
s.logger.Warn(fmt.Sprintf(
|
||||
@@ -48,7 +49,7 @@ func (s *Storage) mergeProviderServers(provider string,
|
||||
return persisted
|
||||
}
|
||||
|
||||
persistedServerKeyToServer := make(map[string]models.Server)
|
||||
persistedServerKeyToServer := make(map[string]umodels.Server)
|
||||
for _, persistedServer := range persisted.Servers {
|
||||
if persistedServer.Keep {
|
||||
persistedServerKeyToServer[persistedServer.Key()] = persistedServer
|
||||
@@ -56,7 +57,7 @@ func (s *Storage) mergeProviderServers(provider string,
|
||||
}
|
||||
|
||||
merged = hardcoded // use all fields from hardcoded
|
||||
merged.Servers = make([]models.Server, 0, len(hardcoded.Servers)+len(persistedServerKeyToServer))
|
||||
merged.Servers = make([]umodels.Server, 0, len(hardcoded.Servers)+len(persistedServerKeyToServer))
|
||||
|
||||
for _, hardcodedServer := range hardcoded.Servers {
|
||||
hardcodedServerKey := hardcodedServer.Key()
|
||||
@@ -75,7 +76,7 @@ func (s *Storage) mergeProviderServers(provider string,
|
||||
merged.Servers = append(merged.Servers, persistedServer)
|
||||
}
|
||||
|
||||
sort.Sort(models.SortableServers(merged.Servers))
|
||||
sort.Sort(umodels.SortableServers(merged.Servers))
|
||||
|
||||
return merged
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"github.com/qdm12/gluetun/internal/constants/providers"
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
umodels "github.com/qdm12/gluetun/pkg/updaters/models"
|
||||
"golang.org/x/text/cases"
|
||||
"golang.org/x/text/language"
|
||||
)
|
||||
@@ -48,7 +49,7 @@ func (s *Storage) extractServersFromBytes(b []byte, hardcodedVersions map[string
|
||||
// Note schema version is at map key "version" as number
|
||||
|
||||
allProviders := providers.All()
|
||||
servers.ProviderToServers = make(map[string]models.Servers, len(allProviders))
|
||||
servers.ProviderToServers = make(map[string]umodels.Servers, len(allProviders))
|
||||
titleCaser := cases.Title(language.English)
|
||||
for _, provider := range allProviders {
|
||||
hardcodedVersion, ok := hardcodedVersions[provider]
|
||||
@@ -81,7 +82,7 @@ func (s *Storage) extractServersFromBytes(b []byte, hardcodedVersions map[string
|
||||
}
|
||||
|
||||
func (s *Storage) readServers(provider string, hardcodedVersion uint16,
|
||||
rawMessage json.RawMessage, titleCaser cases.Caser) (servers models.Servers,
|
||||
rawMessage json.RawMessage, titleCaser cases.Caser) (servers umodels.Servers,
|
||||
versionsMatch bool, err error,
|
||||
) {
|
||||
provider = titleCaser.String(provider)
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"github.com/golang/mock/gomock"
|
||||
"github.com/qdm12/gluetun/internal/constants/providers"
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
umodels "github.com/qdm12/gluetun/pkg/updaters/models"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -58,7 +59,7 @@ func Test_extractServersFromBytes(t *testing.T) {
|
||||
providers.Cyberghost: 1,
|
||||
}),
|
||||
persisted: models.AllServers{
|
||||
ProviderToServers: map[string]models.Servers{},
|
||||
ProviderToServers: map[string]umodels.Servers{},
|
||||
},
|
||||
},
|
||||
"same versions": {
|
||||
@@ -69,7 +70,7 @@ func Test_extractServersFromBytes(t *testing.T) {
|
||||
providers.Cyberghost: 1,
|
||||
}),
|
||||
persisted: models.AllServers{
|
||||
ProviderToServers: map[string]models.Servers{
|
||||
ProviderToServers: map[string]umodels.Servers{
|
||||
providers.Cyberghost: {Version: 1},
|
||||
},
|
||||
},
|
||||
@@ -85,7 +86,7 @@ func Test_extractServersFromBytes(t *testing.T) {
|
||||
"Cyberghost servers from file discarded because they have version 1 and hardcoded servers have version 2",
|
||||
},
|
||||
persisted: models.AllServers{
|
||||
ProviderToServers: map[string]models.Servers{},
|
||||
ProviderToServers: map[string]umodels.Servers{},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
|
||||
"github.com/qdm12/gluetun/internal/constants/providers"
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
umodels "github.com/qdm12/gluetun/pkg/updaters/models"
|
||||
)
|
||||
|
||||
// SetServers sets the given servers for the given provider
|
||||
@@ -13,7 +14,7 @@ import (
|
||||
// to file.
|
||||
// Note the servers given are not copied so the caller must
|
||||
// NOT MUTATE them after calling this method.
|
||||
func (s *Storage) SetServers(provider string, servers []models.Server) (err error) {
|
||||
func (s *Storage) SetServers(provider string, servers []umodels.Server) (err error) {
|
||||
if provider == providers.Custom {
|
||||
return
|
||||
}
|
||||
@@ -57,12 +58,12 @@ func (s *Storage) Format(provider, format string) (formatted string, err error)
|
||||
defer s.mergedMutex.RUnlock()
|
||||
|
||||
serversObject := s.getMergedServersObject(provider)
|
||||
return serversObject.Format(provider, format)
|
||||
return models.FormatServers(serversObject, provider, format)
|
||||
}
|
||||
|
||||
// ServersAreEqual returns whether the servers for the provider
|
||||
// in storage are equal to the servers slice given.
|
||||
func (s *Storage) ServersAreEqual(provider string, servers []models.Server) (equal bool) {
|
||||
func (s *Storage) ServersAreEqual(provider string, servers []umodels.Server) (equal bool) {
|
||||
if provider == providers.Custom {
|
||||
return true
|
||||
}
|
||||
@@ -86,7 +87,7 @@ func (s *Storage) ServersAreEqual(provider string, servers []models.Server) (equ
|
||||
return true
|
||||
}
|
||||
|
||||
func (s *Storage) getMergedServersObject(provider string) (serversObject models.Servers) {
|
||||
func (s *Storage) getMergedServersObject(provider string) (serversObject umodels.Servers) {
|
||||
serversObject, ok := s.mergedServers.ProviderToServers[provider]
|
||||
if !ok {
|
||||
panicOnProviderMissingHardcoded(provider)
|
||||
|
||||
Reference in New Issue
Block a user