Add status filter to V3 metadata list APIs for inactive data discovery#216
Merged
Add status filter to V3 metadata list APIs for inactive data discovery#216
Conversation
Allow filtering by status (ACTIVE/INACTIVE/ALL) on list endpoints:
- GET /graph/v3/databases
- GET /graph/v3/databases/{database}/tables
- GET /graph/v3/databases/{database}/aliases
Default is ACTIVE, preserving backward compatibility.
Inactive items can now be discovered for cleanup via ?status=INACTIVE
or ?status=ALL.
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Verify that lowercase status values (e.g. ?status=active) return 400, documenting the current case-sensitive enum binding behavior. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
Contributor
|
Solid implementation |
em3s
approved these changes
Mar 16, 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.
Summary
Add
statusquery parameter (ACTIVE/INACTIVE/ALL) to V3 metadata list endpoints, enabling discovery of inactive items for cleanup purposes.Closes #212
Changes
MetadataStatusenum withmatches()method for status-based filtering@RequestParam status(default:ACTIVE) toDatabaseController,TableController,AliasControllerlist endpoints.filter { it.active }inV3CompatServicewithstatus.matches(it.active)MetadataStatus.matches()logicHow to Test
Same pattern applies to
/graph/v3/databases/{db}/tablesand/graph/v3/databases/{db}/aliases.Note
The original discussion in #212 used lowercase values (
active|inactive|all), but this PR implements them as uppercase (ACTIVE/INACTIVE/ALL). This project's enum parameter binding is case-sensitive — the query parameter value must exactly match the enum constant name. Lowercase values (e.g.?status=active) return 400 Bad Request. If case-insensitive support is desired, a custom converter can be registered separately.