feat(entries)!: add folder entry type support#32
Merged
Conversation
…tering - Add ErrUnsupportedEntryType custom error for unsupported entry types - Add IsUnsupportedEntryType helper function - Add private getEntries function with filtering options - Add GetEntries/GetEntriesWithContext on EntryCredentialService - Add Test_GetEntries integration test
- Convert CRUD tests to table-driven with testify assertions - Add logging (t.Logf) for better test visibility - Add exact name match test in GetEntries - Standardize mock data with Go conventions (testuser, testpass, test-*) - Reduce code from 747 to 263 lines
Add compatibility table for DVLS versions: - 0.16.0+ requires DVLS 2026.x - 0.15.0 supports DVLS 2024.x, 2025.x
- Use string-based enums matching API contract - Add dynamic vault creation helper for tests - Skip legacy tests when TEST_VAULT_ID not provided
Copilot started reviewing on behalf of
Richard Boisvert (rbstp)
February 18, 2026 16:33
View session
There was a problem hiding this comment.
Pull request overview
This PR expands the DVLS Go client by adding folder entry support, introducing generic entry listing with name/path filters, and migrating vault operations to public API endpoints, while refactoring tests and bumping the library version.
Changes:
- Add
EntryFolderService(CRUD + filtering) and register it on the client. - Add generic entry listing (
Client.getEntries) and exposeGetEntrieshelpers for credentials/folders. - Migrate vaults to
/api/v1/vaultwith updated vault models, refactor tests to use testify, and bump to0.16.0.
Reviewed changes
Copilot reviewed 19 out of 21 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
vaults.go |
Migrates vault operations to public API, updates vault model/enums, adds GetByName. |
vaults_test.go |
Refactors vault tests to testify + adds new coverage for list/by-name/content-type equivalence. |
helpers_test.go |
Adds shared helper to create/delete test vaults for table-driven CRUD tests. |
entries.go |
Adds unsupported-entry typed error + implements Client.getEntries with name/path filters. |
entry_credential.go |
Adds GetEntries wrapper for credential entries (filters + type filtering). |
entry_folder.go |
Introduces EntryFolderService CRUD + GetEntries, folder subtypes, and folder data. |
entry_credential_test.go |
Refactors credential tests into table-driven CRUD + adds GetEntries tests. |
entry_folder_test.go |
Adds CRUD tests for all 16 folder subtypes + nested folder behavior tests. |
authentication.go |
Registers Entries.Folder service on client initialization. |
dvlstypes.go |
Removes legacy vault visibility/security enums (moved/replaced in vaults.go). |
dvls_test.go |
Makes TEST_VAULT_ID optional for legacy tests; clarifies intent in comments. |
entry_certificate_test.go |
Skips legacy certificate test when TEST_VAULT_ID is not set. |
entry_host_test.go |
Skips legacy host test when TEST_VAULT_ID is not set. |
entry_website_test.go |
Skips legacy website test when TEST_VAULT_ID is not set. |
go.mod |
Adds testify dependency and updates Go version directive. |
go.sum |
Adds module checksums for testify + indirect deps. |
VERSION |
Bumps library version to 0.16.0. |
README.md |
Adds DVLS compatibility table for versions. |
.gitignore |
Ignores *.test artifacts. |
.github/workflows/test.yml |
Updates actions versions and Go setup configuration. |
.github/workflows/release.yml |
Updates actions/checkout version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add EntryFolderService with full CRUD operations - Support all 16 folder subtypes (Company, Credentials, Customer, etc.) - Add EntryFolderData struct with domain/username fields - Add tests for all subtypes and nested folder hierarchy - Upgrade go version to 1.26
f90d158 to
69e1ebd
Compare
69e1ebd to
33a259c
Compare
99e7ef6 to
8f0e76c
Compare
Richard Boisvert (rbstp)
requested changes
Feb 18, 2026
- fix: add pagination support in getEntries and ListWithContext (was limited to 25 items) - refactor: standardize error style to idiomatic Go (`: %w`) - refactor: optimize subtype validation with O(1) map lookups - test: improve test isolation with polling-based createTestVault - test: add GetEntries filter tests for folders - docs: document client-side filtering limitations
8f0e76c to
6657312
Compare
Richard Boisvert (rbstp)
approved these changes
Feb 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds comprehensive folder entry support and modernizes the codebase to use DVLS 2026.x public APIs.
New Features
fields
API Changes (Breaking)
Test Improvements
Code Quality
: %w)Compatibility