diff --git a/nostrh/cmd/keystore/keystore.go b/nostrh/cmd/keystore/keystore.go index 7f7f79d..873012a 100644 --- a/nostrh/cmd/keystore/keystore.go +++ b/nostrh/cmd/keystore/keystore.go @@ -57,7 +57,17 @@ func GetPublic() (string, error) { } func GetSecret() (string, error) { - secretBytes, err := os.ReadFile(PATH) + dir, err := paths.GetSettingsDirectory() + if err != nil { + return "", err + } + + filePath := filepath.Join(dir, PATH) + if err != nil { + return "", err + } + + secretBytes, err := os.ReadFile(filePath) if err != nil { return "", errors.New("Could not read secret") } diff --git a/nostrh/cmd/paths/paths.go b/nostrh/cmd/paths/paths.go index 4c400ef..4aaa3b8 100644 --- a/nostrh/cmd/paths/paths.go +++ b/nostrh/cmd/paths/paths.go @@ -14,6 +14,8 @@ func GetSettingsDirectory() (string, error) { } dirPath := filepath.Join(homeDir, BaseDirName) + + _, err = os.Stat(dirPath) if os.IsNotExist(err) { // ディレクトリが存在しない場合に作成 err = os.Mkdir(dirPath, 0700) @@ -21,7 +23,7 @@ func GetSettingsDirectory() (string, error) { return "", err } } else if err != nil { - return "", err + return "", nil } return dirPath, nil diff --git a/nostrh/cmd/relays/relays.go b/nostrh/cmd/relays/relays.go index 66df0d3..be8d86e 100644 --- a/nostrh/cmd/relays/relays.go +++ b/nostrh/cmd/relays/relays.go @@ -28,7 +28,14 @@ func AddRelay(relayURL string) error { } func RemoveRelay(targetURL string) error { - content, err := os.ReadFile(PATH) + dir, err := paths.GetSettingsDirectory() + if err != nil { + return err + } + + filePath := filepath.Join(dir, PATH) + + content, err := os.ReadFile(filePath) if err != nil { return err } @@ -49,7 +56,14 @@ func RemoveRelay(targetURL string) error { } func GetAllRelays() ([]string, error) { - content, err := os.ReadFile(PATH) + dir, err := paths.GetSettingsDirectory() + if err != nil { + return nil, err + } + + filePath := filepath.Join(dir, PATH) + + content, err := os.ReadFile(filePath) if err != nil { return nil, err }