Skip to content

feat(issuance): reissue credentials manually - #363

Draft
florishafkenscheid wants to merge 11 commits into
betafrom
feat/credential-reissuance-manual
Draft

feat(issuance): reissue credentials manually#363
florishafkenscheid wants to merge 11 commits into
betafrom
feat/credential-reissuance-manual

Conversation

@florishafkenscheid

Copy link
Copy Markdown
Contributor

Description of change

Adds manual credential reissuance support for ssi-agent. This introduces reissuance relation records, domain commands/events/views, a reissuance service with policy hook support, HTTP endpoints to create and query credential reissuances, event publisher coverage, store wiring, and regenerated OpenAPI output.

The change allows an existing SD-JWT credential to be reissued by preparing a new unsigned credential and credential offer while preserving a relation back to the original credential.

Links to any relevant issues

N/A

How the change has been tested

Tested locally with:

cargo test reissuance

This covered:

  • reissuance aggregate creation and duplicate protection
  • noop reissuance policy behavior
  • service validation for missing originals, invalid payloads, and unsupported formats
  • SD-JWT and VC SD-JWT reissuance preparation
  • HTTP create/list/get reissuance endpoints
  • issuing the reissued credential through the OID4VCI credential endpoint

Definition of Done checklist

  • I have followed the contribution guidelines for this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have successfully tested this change in a docker environment

@florishafkenscheid florishafkenscheid changed the title Feat/credential reissuance manual feat(issuance): credential reissuance manual Jun 25, 2026
@codecov-commenter

codecov-commenter commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 89.76487% with 74 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
agent_api_http/src/v0/issuance/error.rs 0.00% 36 Missing ⚠️
agent_api_http/src/v0/issuance/reissuance.rs 94.69% 18 Missing ⚠️
agent_issuance/src/reissuance/service.rs 96.99% 7 Missing ⚠️
agent_issuance/src/reissuance/event.rs 0.00% 6 Missing ⚠️
agent_event_publisher_nats/src/lib.rs 0.00% 3 Missing ⚠️
agent_issuance/src/state.rs 0.00% 2 Missing ⚠️
agent_issuance/src/reissuance/aggregate.rs 97.77% 1 Missing ⚠️
agent_store/src/lib.rs 95.00% 1 Missing ⚠️
Files with missing lines Coverage Δ
agent_api_http/src/v0/issuance/mod.rs 100.00% <100.00%> (ø)
agent_event_publisher_http/src/lib.rs 57.24% <100.00%> (+0.63%) ⬆️
agent_issuance/src/lib.rs 100.00% <ø> (ø)
agent_issuance/src/reissuance/policy.rs 100.00% <100.00%> (ø)
...t_issuance/src/reissuance/views/all_reissuances.rs 100.00% <100.00%> (ø)
agent_issuance/src/reissuance/views/mod.rs 100.00% <100.00%> (ø)
agent_issuance/src/reissuance/aggregate.rs 97.77% <97.77%> (ø)
agent_store/src/lib.rs 78.43% <95.00%> (+5.81%) ⬆️
agent_issuance/src/state.rs 43.47% <0.00%> (-1.78%) ⬇️
agent_event_publisher_nats/src/lib.rs 30.50% <0.00%> (-1.08%) ⬇️
... and 4 more

... and 6 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 19 out of 19 changed files in this pull request and generated no comments.

@florishafkenscheid florishafkenscheid changed the title feat(issuance): credential reissuance manual feat(issuance): reissue credentials manually Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants