Update - modify hub to support multiple networks. (#4)

Co-authored-by: jdl <jdl@desktop>
Reviewed-on: #4
This commit is contained in:
2025-04-12 11:43:18 +00:00
parent 03b1bbcbcf
commit b9e773ec83
38 changed files with 773 additions and 455 deletions

42
hub/form.go Normal file
View File

@@ -0,0 +1,42 @@
package hub
import (
"net/url"
"vppn/hub/api"
"git.crumpington.com/lib/go/webutil"
)
func (app *App) formGetNetwork(form url.Values) (*api.Network, error) {
var id int64
if err := webutil.NewFormScanner(form).Scan("NetworkID", &id).Error(); err != nil {
return nil, err
}
return app.api.Network_Get(id)
}
func (app *App) formGetNetworkPeers(form url.Values) (*api.Network, []*api.Peer, error) {
n, err := app.formGetNetwork(form)
if err != nil {
return nil, nil, err
}
peers, err := app.api.Peer_List(n.NetworkID)
return n, peers, err
}
func (app *App) formGetPeer(form url.Values) (*api.Network, *api.Peer, error) {
net, err := app.formGetNetwork(form)
if err != nil {
return nil, nil, err
}
var ip byte
if err := webutil.NewFormScanner(form).Scan("PeerIP", &ip).Error(); err != nil {
return nil, nil, err
}
peer, err := app.api.Peer_Get(net.NetworkID, ip)
return net, peer, err
}