feat: collect location from netdesk

This commit is contained in:
the_aceix
2025-06-12 13:22:43 +00:00
parent d978de08d0
commit 71dafa45cf
3 changed files with 9 additions and 0 deletions

View File

@@ -780,6 +780,7 @@ func createExtClient(w http.ResponseWriter, r *http.Request) {
} }
extclient.PublicEndpoint = customExtClient.PublicEndpoint extclient.PublicEndpoint = customExtClient.PublicEndpoint
extclient.Country = customExtClient.Country extclient.Country = customExtClient.Country
extclient.Location = customExtClient.Location
if err = logic.CreateExtClient(&extclient); err != nil { if err = logic.CreateExtClient(&extclient); err != nil {
slog.Error( slog.Error(

View File

@@ -427,6 +427,12 @@ func UpdateExtClient(old *models.ExtClient, update *models.CustomExtClient) mode
new.PostUp = strings.Replace(update.PostUp, "\r\n", "\n", -1) new.PostUp = strings.Replace(update.PostUp, "\r\n", "\n", -1)
new.PostDown = strings.Replace(update.PostDown, "\r\n", "\n", -1) new.PostDown = strings.Replace(update.PostDown, "\r\n", "\n", -1)
new.Tags = update.Tags new.Tags = update.Tags
if update.Location != "" && update.Location != old.Location {
new.Location = update.Location
}
if update.Country != "" && update.Country != old.Country {
new.Country = update.Country
}
return new return new
} }

View File

@@ -27,6 +27,7 @@ type ExtClient struct {
DeviceName string `json:"device_name"` DeviceName string `json:"device_name"`
PublicEndpoint string `json:"public_endpoint"` PublicEndpoint string `json:"public_endpoint"`
Country string `json:"country"` Country string `json:"country"`
Location string `json:"location"` //format: lat,long
Mutex *sync.Mutex `json:"-"` Mutex *sync.Mutex `json:"-"`
} }
@@ -47,6 +48,7 @@ type CustomExtClient struct {
IsAlreadyConnectedToInetGw bool `json:"is_already_connected_to_inet_gw"` IsAlreadyConnectedToInetGw bool `json:"is_already_connected_to_inet_gw"`
PublicEndpoint string `json:"public_endpoint"` PublicEndpoint string `json:"public_endpoint"`
Country string `json:"country"` Country string `json:"country"`
Location string `json:"location"` //format: lat,long
} }
func (ext *ExtClient) ConvertToStaticNode() Node { func (ext *ExtClient) ConvertToStaticNode() Node {