You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(tokenization): add individual key retrieval API by name (#116)
* chore(conductor): Add new track 'Add Individual Key Retrieval Endpoint for tokenization module (by name)'
* feat(tokenization): Add GetByName to TokenizationKeyUseCase interface
* conductor(plan): Mark task 'Add GetByName to TokenizationKeyUseCase interface' as complete
* feat(tokenization): Implement GetByName in TokenizationKeyUseCase
* conductor(plan): Mark task 'Implement GetByName in tokenizationKeyUseCase struct' as complete
* conductor(checkpoint): Checkpoint end of Phase 1
* conductor(plan): Mark phase 'Phase 1: Domain and Use Case Layer' as complete
* feat(tokenization): Add GetByNameHandler to TokenizationKeyHandler
* conductor(plan): Mark task 'Add GetByNameHandler to TokenizationKeyHandler' as complete
* feat(tokenization): Register GetByName route for tokenization keys
* conductor(plan): Mark task 'Register the new route GET /v1/tokenization/keys/:name' as complete
* conductor(checkpoint): Checkpoint end of Phase 2
* conductor(plan): Mark phase 'Phase 2: HTTP Layer' as complete
* test(tokenization): Add GetByName integration test
* conductor(plan): Mark task 'Update integration tests' as complete
* docs(tokenization): Document GetByName endpoint for tokenization keys
* conductor(plan): Mark task 'Update project documentation' as complete
* docs(openapi): Add GetByName endpoint to OpenAPI specification
* conductor(plan): Mark task 'Update OpenAPI specification' as complete
* conductor(checkpoint): Checkpoint end of Phase 3
* conductor(plan): Mark phase 'Phase 3: Integration and Documentation' as complete
* chore(conductor): Mark track 'Add Individual Key Retrieval Endpoint for tokenization module (by name)' as complete
* chore(conductor): Archive track 'Add Individual Key Retrieval Endpoint for tokenization module (by name)'
* feat(tokenization): add individual key retrieval API by name
Implemented a new endpoint GET /v1/tokenization/keys/:name to retrieve
metadata for a single tokenization key. This addition improves API parity
with the transit module and facilitates direct key inspection.
Key changes:
- Added GetByName to TokenizationKeyUseCase and implemented it in
tokenizationKeyUseCase and its metrics decorator.
- Created GetByNameHandler in TokenizationKeyHandler and registered
the corresponding route.
- Added comprehensive unit tests for use case and HTTP handler layers.
- Added an integration test case to verify the full flow across
PostgreSQL and MySQL.
- Updated docs/engines/tokenization.md and docs/openapi.yaml with
the new endpoint details.
# Specification: Tokenization Key Retrieval by Name
2
+
3
+
## Overview
4
+
Currently, the tokenization module supports listing keys and rotating keys, but it lacks a direct endpoint to retrieve a single key's metadata by its name. This track adds a new `GET` endpoint to the tokenization key API to allow efficient lookup of individual keys.
5
+
6
+
## Functional Requirements
7
+
-**Endpoint:**`GET /v1/tokenization/keys/:name`
8
+
-**Capability:**`tokenization:read`
9
+
-**Input:**`name` (string) as a path parameter.
10
+
-**Output:** Returns the latest version of the tokenization key metadata.
0 commit comments