diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-03-31 11:50:38 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-03-31 11:50:38 +0200 |
| commit | 0d860b20a8b6b61d937124ee1955074b12c3f8e6 (patch) | |
| tree | 506c74a1709fcf648d6850eb9486257e70ce1e5a /cli | |
| parent | 6258542936e54074784cbc1bf910bd0503312d39 (diff) | |
Initial approach to creating a fsm with states and substates
Diffstat (limited to 'cli')
| -rw-r--r-- | cli/main.go | 41 |
1 files changed, 11 insertions, 30 deletions
diff --git a/cli/main.go b/cli/main.go index ddcb001..942aef2 100644 --- a/cli/main.go +++ b/cli/main.go @@ -2,6 +2,7 @@ package main import ( "flag" + "fmt" "log" "os/exec" "strings" @@ -17,6 +18,10 @@ func openBrowser(urlString string) { func logState(oldState string, newState string, data string) { log.Printf("State: %s -> State: %s with data %s\n", oldState, newState, data) + + if newState == "SERVER_OAUTH_STARTED" { + openBrowser(data) + } } func main() { @@ -35,37 +40,13 @@ func main() { state := eduvpn.GetVPNState() - eduvpn.Register(state, "org.eduvpn.app.linux", "configs", logState) - state.Server = &eduvpn.Server{} - serverInitializeErr := state.Server.Initialize(urlString) - if serverInitializeErr != nil { - log.Fatal(serverInitializeErr) - } - - if state.LoadConfig() != nil { - authURL, err := state.InitializeOAuth() - if err != nil { - log.Fatal(err) - } - openBrowser(authURL) - oauthErr := state.FinishOAuth() - if oauthErr != nil { - log.Fatal(oauthErr) - } - } + state.Register("org.eduvpn.app.linux", "configs", logState) + config, configErr := state.Connect(urlString) - writeErr := state.WriteConfig() - if writeErr != nil { - log.Fatal(writeErr) - } - wireguardKey, wireguardErr := eduvpn.WireguardGenerateKey() - - if wireguardErr != nil { - log.Fatal(wireguardErr) - } - configString, configExpires, configErr := state.APIConnectWireguard(wireguardKey.PublicKey().String()) if configErr != nil { - log.Fatal(configErr) + fmt.Printf("Config error %v", configErr) + return } - log.Println(eduvpn.WireguardConfigAddKey(configString, wireguardKey)) + + print(config) } |
