fix: OpenVault now looks for vault.json inside VerstakVault/ subdirectory

This commit is contained in:
mirivlad 2026-06-17 10:10:39 +08:00
parent 252d075f9b
commit 6eecf5d005
2 changed files with 11 additions and 1 deletions

Binary file not shown.

View File

@ -132,16 +132,26 @@ func (v *Vault) CreateVault(path string) error {
} }
// OpenVault opens an existing vault at the given path. // OpenVault opens an existing vault at the given path.
// The path can be either the vault root (containing .verstak/vault.json)
// or the parent directory (containing VerstakVault/.verstak/vault.json).
func (v *Vault) OpenVault(path string) error { func (v *Vault) OpenVault(path string) error {
absPath, err := filepath.Abs(path) absPath, err := filepath.Abs(path)
if err != nil { if err != nil {
return fmt.Errorf("failed to resolve path: %w", err) return fmt.Errorf("failed to resolve path: %w", err)
} }
// Try direct path first: <path>/.verstak/vault.json
metaPath := filepath.Join(absPath, ".verstak", "vault.json") metaPath := filepath.Join(absPath, ".verstak", "vault.json")
data, err := os.ReadFile(metaPath) data, err := os.ReadFile(metaPath)
if err != nil { if err != nil {
return fmt.Errorf("failed to read vault.json: %w", err) // Try VerstakVault subdirectory: <path>/VerstakVault/.verstak/vault.json
vaultDir := filepath.Join(absPath, "VerstakVault")
metaPath = filepath.Join(vaultDir, ".verstak", "vault.json")
data, err = os.ReadFile(metaPath)
if err != nil {
return fmt.Errorf("failed to read vault.json: %w (looked in %s and %s)", err, filepath.Join(absPath, ".verstak"), filepath.Join(vaultDir, ".verstak"))
}
absPath = vaultDir
} }
var meta VaultMeta var meta VaultMeta