Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions cloudflare/identity.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func CreateOrUpdateIdentity(license string) (*model.Identity, error) {
identity.Account = iAcc
}

return &identity, nil
return identity, nil
}

func LoadOrCreateIdentity() (*model.Identity, error) {
Expand All @@ -58,34 +58,34 @@ func LoadOrCreateIdentity() (*model.Identity, error) {
return identity, nil
}

func LoadIdentity() (model.Identity, error) {
func LoadIdentity() (*model.Identity, error) {
regPath := model.GetRegPath()
confPath := model.GetConfPath()

if _, err := os.Stat(regPath); os.IsNotExist(err) {
return model.Identity{}, err
return nil, err
}
if _, err := os.Stat(confPath); os.IsNotExist(err) {
return model.Identity{}, err
return nil, err
}

regBytes, err := os.ReadFile(regPath)
if err != nil {
return model.Identity{}, err
return nil, err
}
confBytes, err := os.ReadFile(confPath)
if err != nil {
return model.Identity{}, err
return nil, err
}

var regFile model.RegFile
if err := json.Unmarshal(regBytes, &regFile); err != nil {
return model.Identity{}, err
return nil, err
}

var confFile model.ConfFile
if err := json.Unmarshal(confBytes, &confFile); err != nil {
return model.Identity{}, err
return nil, err
}

identity := model.Identity{
Expand All @@ -98,10 +98,10 @@ func LoadIdentity() (model.Identity, error) {
}

if len(identity.Config.Peers) < 1 {
return model.Identity{}, errors.New("identity contains 0 peers")
return nil, errors.New("identity contains 0 peers")
}

return identity, nil
return &identity, nil
}

func CreateIdentity(warpAPI *WarpAPI, license string) (model.Identity, error) {
Expand Down
2 changes: 1 addition & 1 deletion cmd/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ var GenerateCmd = &cobra.Command{
func init() {}

func generate(cmd *cobra.Command, args []string) {
ident, err := cloudflare.CreateOrUpdateIdentity("")
ident, err := cloudflare.LoadOrCreateIdentity()
if err != nil {
log.Fatalw("Failed to generate primary identity", zap.Error(err))
}
Expand Down
6 changes: 6 additions & 0 deletions cmd/status.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package cmd

import (
"errors"
"fmt"
"log"
"os"

"github.com/spf13/cobra"

Expand All @@ -24,6 +27,9 @@ var StatusCmd = &cobra.Command{
func status() error {
identity, err := cloudflare.LoadIdentity()
if err != nil {
if os.IsNotExist(err) || errors.Is(err, errors.New("identity contains 0 peers")) {
return fmt.Errorf("WARP identity not found. Please run 'warp generate' to create one")
}
return err
}

Expand Down
7 changes: 6 additions & 1 deletion cmd/update.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package cmd

import (
"errors"
"fmt"
"os"

"github.com/spf13/cobra"
"github.com/spf13/viper"
Expand Down Expand Up @@ -41,6 +43,9 @@ func runUpdate() error {

identity, err := cloudflare.LoadIdentity()
if err != nil {
if os.IsNotExist(err) || errors.Is(err, errors.New("identity contains 0 peers")) {
return fmt.Errorf("WARP identity not found. Please run 'warp generate' to create one")
}
return err
}

Expand All @@ -60,7 +65,7 @@ func runUpdate() error {
// Update license if provided
if license != "" {
// Generate configs
_, err = cloudflare.CreateOrUpdateIdentity(license)
identity, err = cloudflare.CreateOrUpdateIdentity(license)
if err != nil {
log.Fatalw("Failed to generate primary identity", zap.Error(err))
}
Expand Down
Loading