chore(models): streamline all server models IPs (#942)

- Use `IPs []net.IP` for all server models
- Use `ips` JSON field for all server models
- Merge IPv4 and IPv6 addresses together for Mullvad
This commit is contained in:
Quentin McGaw
2022-04-16 21:58:42 +02:00
parent 54b7e23974
commit aa729515b9
18 changed files with 26277 additions and 12234 deletions

View File

@@ -25,23 +25,17 @@ func (hts hostToServer) toHostsSlice() (hosts []string) {
return hosts
}
func (hts hostToServer) adaptWithIPs(hostToIPs map[string][]net.IP) (
warnings []string) {
func (hts hostToServer) adaptWithIPs(hostToIPs map[string][]net.IP) {
for host, IPs := range hostToIPs {
if len(IPs) > 1 {
warning := "more than one IP address found for host " + host
warnings = append(warnings, warning)
}
server := hts[host]
server.IP = IPs[0]
server.IPs = IPs
hts[host] = server
}
for host, server := range hts {
if server.IP == nil {
if len(server.IPs) == 0 {
delete(hts, host)
}
}
return warnings
}
func (hts hostToServer) toServersSlice() (servers []models.PrivadoServer) {